Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(76)

Side by Side Diff: cc/resources/video_resource_updater.cc

Issue 2113243003: media: Introduce Y8 and Y16 video pixel format (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: improve comments Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | media/base/video_frame.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/resources/video_resource_updater.h" 5 #include "cc/resources/video_resource_updater.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 case media::PIXEL_FORMAT_RGB24: 77 case media::PIXEL_FORMAT_RGB24:
78 case media::PIXEL_FORMAT_RGB32: 78 case media::PIXEL_FORMAT_RGB32:
79 case media::PIXEL_FORMAT_MJPEG: 79 case media::PIXEL_FORMAT_MJPEG:
80 case media::PIXEL_FORMAT_MT21: 80 case media::PIXEL_FORMAT_MT21:
81 case media::PIXEL_FORMAT_YUV420P9: 81 case media::PIXEL_FORMAT_YUV420P9:
82 case media::PIXEL_FORMAT_YUV422P9: 82 case media::PIXEL_FORMAT_YUV422P9:
83 case media::PIXEL_FORMAT_YUV444P9: 83 case media::PIXEL_FORMAT_YUV444P9:
84 case media::PIXEL_FORMAT_YUV420P10: 84 case media::PIXEL_FORMAT_YUV420P10:
85 case media::PIXEL_FORMAT_YUV422P10: 85 case media::PIXEL_FORMAT_YUV422P10:
86 case media::PIXEL_FORMAT_YUV444P10: 86 case media::PIXEL_FORMAT_YUV444P10:
87 case media::PIXEL_FORMAT_Y8:
88 case media::PIXEL_FORMAT_Y16:
87 case media::PIXEL_FORMAT_UNKNOWN: 89 case media::PIXEL_FORMAT_UNKNOWN:
88 break; 90 break;
89 } 91 }
90 return VideoFrameExternalResources::NONE; 92 return VideoFrameExternalResources::NONE;
91 } 93 }
92 94
93 class SyncTokenClientImpl : public media::VideoFrame::SyncTokenClient { 95 class SyncTokenClientImpl : public media::VideoFrame::SyncTokenClient {
94 public: 96 public:
95 SyncTokenClientImpl(gpu::gles2::GLES2Interface* gl, 97 SyncTokenClientImpl(gpu::gles2::GLES2Interface* gl,
96 const gpu::SyncToken& sync_token) 98 const gpu::SyncToken& sync_token)
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
315 case media::PIXEL_FORMAT_NV12: 317 case media::PIXEL_FORMAT_NV12:
316 case media::PIXEL_FORMAT_NV21: 318 case media::PIXEL_FORMAT_NV21:
317 case media::PIXEL_FORMAT_UYVY: 319 case media::PIXEL_FORMAT_UYVY:
318 case media::PIXEL_FORMAT_YUY2: 320 case media::PIXEL_FORMAT_YUY2:
319 case media::PIXEL_FORMAT_ARGB: 321 case media::PIXEL_FORMAT_ARGB:
320 case media::PIXEL_FORMAT_XRGB: 322 case media::PIXEL_FORMAT_XRGB:
321 case media::PIXEL_FORMAT_RGB24: 323 case media::PIXEL_FORMAT_RGB24:
322 case media::PIXEL_FORMAT_RGB32: 324 case media::PIXEL_FORMAT_RGB32:
323 case media::PIXEL_FORMAT_MJPEG: 325 case media::PIXEL_FORMAT_MJPEG:
324 case media::PIXEL_FORMAT_MT21: 326 case media::PIXEL_FORMAT_MT21:
327 case media::PIXEL_FORMAT_Y8:
325 bits_per_channel = 8; 328 bits_per_channel = 8;
326 break; 329 break;
327 case media::PIXEL_FORMAT_YUV420P9: 330 case media::PIXEL_FORMAT_YUV420P9:
328 case media::PIXEL_FORMAT_YUV422P9: 331 case media::PIXEL_FORMAT_YUV422P9:
329 case media::PIXEL_FORMAT_YUV444P9: 332 case media::PIXEL_FORMAT_YUV444P9:
330 bits_per_channel = 9; 333 bits_per_channel = 9;
331 break; 334 break;
332 case media::PIXEL_FORMAT_YUV420P10: 335 case media::PIXEL_FORMAT_YUV420P10:
333 case media::PIXEL_FORMAT_YUV422P10: 336 case media::PIXEL_FORMAT_YUV422P10:
334 case media::PIXEL_FORMAT_YUV444P10: 337 case media::PIXEL_FORMAT_YUV444P10:
335 bits_per_channel = 10; 338 bits_per_channel = 10;
336 break; 339 break;
340 case media::PIXEL_FORMAT_Y16:
341 bits_per_channel = 16;
342 break;
343 }
344
345 // TODO(dshwang): support PIXEL_FORMAT_Y16. crbug.com/624436
346 if (bits_per_channel == 16) {
347 NOTREACHED();
danakj 2016/09/22 20:55:20 Please don't both DCHECK and handle the case. Choo
dshwang 2016/09/26 13:02:23 Done. Choose DCHECK
348 return VideoFrameExternalResources();
337 } 349 }
338 350
339 // Only YUV software video frames are supported. 351 // Only YUV software video frames are supported.
340 if (!media::IsYuvPlanar(input_frame_format)) { 352 if (!media::IsYuvPlanar(input_frame_format)) {
341 NOTREACHED() << media::VideoPixelFormatToString(input_frame_format); 353 NOTREACHED() << media::VideoPixelFormatToString(input_frame_format);
342 return VideoFrameExternalResources(); 354 return VideoFrameExternalResources();
343 } 355 }
344 356
345 const bool software_compositor = context_provider_ == NULL; 357 const bool software_compositor = context_provider_ == NULL;
346 358
(...skipping 382 matching lines...) Expand 10 before | Expand all | Expand 10 after
729 if (lost_resource) { 741 if (lost_resource) {
730 resource_it->clear_refs(); 742 resource_it->clear_refs();
731 updater->DeleteResource(resource_it); 743 updater->DeleteResource(resource_it);
732 return; 744 return;
733 } 745 }
734 746
735 resource_it->remove_ref(); 747 resource_it->remove_ref();
736 } 748 }
737 749
738 } // namespace cc 750 } // namespace cc
OLDNEW
« no previous file with comments | « no previous file | media/base/video_frame.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698