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

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: build fix Created 4 years, 5 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 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 case media::PIXEL_FORMAT_RGB24: 76 case media::PIXEL_FORMAT_RGB24:
77 case media::PIXEL_FORMAT_RGB32: 77 case media::PIXEL_FORMAT_RGB32:
78 case media::PIXEL_FORMAT_MJPEG: 78 case media::PIXEL_FORMAT_MJPEG:
79 case media::PIXEL_FORMAT_MT21: 79 case media::PIXEL_FORMAT_MT21:
80 case media::PIXEL_FORMAT_YUV420P9: 80 case media::PIXEL_FORMAT_YUV420P9:
81 case media::PIXEL_FORMAT_YUV422P9: 81 case media::PIXEL_FORMAT_YUV422P9:
82 case media::PIXEL_FORMAT_YUV444P9: 82 case media::PIXEL_FORMAT_YUV444P9:
83 case media::PIXEL_FORMAT_YUV420P10: 83 case media::PIXEL_FORMAT_YUV420P10:
84 case media::PIXEL_FORMAT_YUV422P10: 84 case media::PIXEL_FORMAT_YUV422P10:
85 case media::PIXEL_FORMAT_YUV444P10: 85 case media::PIXEL_FORMAT_YUV444P10:
86 case media::PIXEL_FORMAT_Y8:
87 case media::PIXEL_FORMAT_Y16:
86 case media::PIXEL_FORMAT_UNKNOWN: 88 case media::PIXEL_FORMAT_UNKNOWN:
87 break; 89 break;
88 } 90 }
89 return VideoFrameExternalResources::NONE; 91 return VideoFrameExternalResources::NONE;
90 } 92 }
91 93
92 class SyncTokenClientImpl : public media::VideoFrame::SyncTokenClient { 94 class SyncTokenClientImpl : public media::VideoFrame::SyncTokenClient {
93 public: 95 public:
94 SyncTokenClientImpl(gpu::gles2::GLES2Interface* gl, 96 SyncTokenClientImpl(gpu::gles2::GLES2Interface* gl,
95 const gpu::SyncToken& sync_token) 97 const gpu::SyncToken& sync_token)
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
263 case media::PIXEL_FORMAT_NV12: 265 case media::PIXEL_FORMAT_NV12:
264 case media::PIXEL_FORMAT_NV21: 266 case media::PIXEL_FORMAT_NV21:
265 case media::PIXEL_FORMAT_UYVY: 267 case media::PIXEL_FORMAT_UYVY:
266 case media::PIXEL_FORMAT_YUY2: 268 case media::PIXEL_FORMAT_YUY2:
267 case media::PIXEL_FORMAT_ARGB: 269 case media::PIXEL_FORMAT_ARGB:
268 case media::PIXEL_FORMAT_XRGB: 270 case media::PIXEL_FORMAT_XRGB:
269 case media::PIXEL_FORMAT_RGB24: 271 case media::PIXEL_FORMAT_RGB24:
270 case media::PIXEL_FORMAT_RGB32: 272 case media::PIXEL_FORMAT_RGB32:
271 case media::PIXEL_FORMAT_MJPEG: 273 case media::PIXEL_FORMAT_MJPEG:
272 case media::PIXEL_FORMAT_MT21: 274 case media::PIXEL_FORMAT_MT21:
275 case media::PIXEL_FORMAT_Y8:
273 bits_per_channel = 8; 276 bits_per_channel = 8;
274 break; 277 break;
275 case media::PIXEL_FORMAT_YUV420P9: 278 case media::PIXEL_FORMAT_YUV420P9:
276 case media::PIXEL_FORMAT_YUV422P9: 279 case media::PIXEL_FORMAT_YUV422P9:
277 case media::PIXEL_FORMAT_YUV444P9: 280 case media::PIXEL_FORMAT_YUV444P9:
278 bits_per_channel = 9; 281 bits_per_channel = 9;
279 break; 282 break;
280 case media::PIXEL_FORMAT_YUV420P10: 283 case media::PIXEL_FORMAT_YUV420P10:
281 case media::PIXEL_FORMAT_YUV422P10: 284 case media::PIXEL_FORMAT_YUV422P10:
282 case media::PIXEL_FORMAT_YUV444P10: 285 case media::PIXEL_FORMAT_YUV444P10:
283 bits_per_channel = 10; 286 bits_per_channel = 10;
284 break; 287 break;
288 case media::PIXEL_FORMAT_Y16:
hubbe 2016/07/06 17:39:00 The code below doesn't support bits_per_channel hi
dshwang 2016/07/06 17:45:18 yes, I know. It will be handled in the next CL; ht
Ken Russell (switch to Gerrit) 2016/07/06 18:24:42 Is it wise to land this patch without the next CL?
dshwang 2016/07/07 12:41:08 It doesn't break any code, because any video decod
hubbe 2016/07/07 17:51:39 You need to do the proper error handling. Always a
dshwang 2016/07/07 18:11:38 Ok, I understand. Done.
289 bits_per_channel = 16;
290 break;
285 } 291 }
286 292
287 // Only YUV software video frames are supported. 293 // Only YUV software video frames are supported.
288 if (!media::IsYuvPlanar(input_frame_format)) { 294 if (!media::IsYuvPlanar(input_frame_format)) {
289 NOTREACHED() << media::VideoPixelFormatToString(input_frame_format); 295 NOTREACHED() << media::VideoPixelFormatToString(input_frame_format);
290 return VideoFrameExternalResources(); 296 return VideoFrameExternalResources();
291 } 297 }
292 298
293 const bool software_compositor = context_provider_ == NULL; 299 const bool software_compositor = context_provider_ == NULL;
294 300
(...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after
689 if (lost_resource) { 695 if (lost_resource) {
690 resource_it->clear_refs(); 696 resource_it->clear_refs();
691 updater->DeleteResource(resource_it); 697 updater->DeleteResource(resource_it);
692 return; 698 return;
693 } 699 }
694 700
695 resource_it->remove_ref(); 701 resource_it->remove_ref();
696 } 702 }
697 703
698 } // namespace cc 704 } // 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