Chromium Code Reviews| Index: media/renderers/skcanvas_video_renderer.cc |
| diff --git a/media/renderers/skcanvas_video_renderer.cc b/media/renderers/skcanvas_video_renderer.cc |
| index 3ff3510a992dd99c35f35aec43f1c262dbc8aa34..0cc1fc3664596dc3edd1dc0af09be346e24dbc6d 100644 |
| --- a/media/renderers/skcanvas_video_renderer.cc |
| +++ b/media/renderers/skcanvas_video_renderer.cc |
| @@ -451,18 +451,26 @@ scoped_refptr<VideoFrame> DownShiftHighbitVideoFrame( |
| VideoPixelFormat format; |
| int shift = 1; |
| switch (video_frame->format()) { |
| + case PIXEL_FORMAT_YUV420P12: |
| + shift += 2; |
| case PIXEL_FORMAT_YUV420P10: |
| - shift = 2; |
| + shift++; |
|
DaleCurtis
2016/09/23 23:42:24
Why the change?
hubbe
2016/09/23 23:43:06
Because of fall-through?
DaleCurtis
2016/09/23 23:45:42
Oooh, yuck. This seems like it would be way more l
hubbe
2016/09/23 23:49:49
It's longer and seems a bit more error-prone to me
|
| case PIXEL_FORMAT_YUV420P9: |
| format = PIXEL_FORMAT_I420; |
| break; |
| + |
| + case PIXEL_FORMAT_YUV422P12: |
| + shift += 2; |
| case PIXEL_FORMAT_YUV422P10: |
| - shift = 2; |
| + shift++; |
| case PIXEL_FORMAT_YUV422P9: |
| format = PIXEL_FORMAT_YV16; |
| break; |
| + |
| + case PIXEL_FORMAT_YUV444P12: |
| + shift += 2; |
| case PIXEL_FORMAT_YUV444P10: |
| - shift = 2; |
| + shift++; |
| case PIXEL_FORMAT_YUV444P9: |
| format = PIXEL_FORMAT_YV24; |
| break; |
| @@ -592,7 +600,10 @@ void SkCanvasVideoRenderer::ConvertVideoFrameToRGBPixels( |
| case PIXEL_FORMAT_YUV444P9: |
| case PIXEL_FORMAT_YUV420P10: |
| case PIXEL_FORMAT_YUV422P10: |
| - case PIXEL_FORMAT_YUV444P10: { |
| + case PIXEL_FORMAT_YUV444P10: |
| + case PIXEL_FORMAT_YUV420P12: |
| + case PIXEL_FORMAT_YUV422P12: |
| + case PIXEL_FORMAT_YUV444P12: { |
| scoped_refptr<VideoFrame> temporary_frame = |
| DownShiftHighbitVideoFrame(video_frame); |
| ConvertVideoFrameToRGBPixels(temporary_frame.get(), rgb_pixels, |