Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 Loading... | |
| 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 Loading... | |
| 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: | |
| 289 bits_per_channel = 16; | |
| 290 break; | |
| 291 } | |
| 292 | |
| 293 // TODO(dshwang): support PIXEL_FORMAT_Y16. crbug.com/624436 | |
| 294 if (bits_per_channel == 16) { | |
| 295 NOTREACHED(); | |
| 296 return VideoFrameExternalResources(); | |
| 285 } | 297 } |
|
dshwang
2016/07/07 18:11:38
Add error handling code.
| |
| 286 | 298 |
| 287 // Only YUV software video frames are supported. | 299 // Only YUV software video frames are supported. |
| 288 if (!media::IsYuvPlanar(input_frame_format)) { | 300 if (!media::IsYuvPlanar(input_frame_format)) { |
| 289 NOTREACHED() << media::VideoPixelFormatToString(input_frame_format); | 301 NOTREACHED() << media::VideoPixelFormatToString(input_frame_format); |
| 290 return VideoFrameExternalResources(); | 302 return VideoFrameExternalResources(); |
| 291 } | 303 } |
| 292 | 304 |
| 293 const bool software_compositor = context_provider_ == NULL; | 305 const bool software_compositor = context_provider_ == NULL; |
| 294 | 306 |
| 295 ResourceFormat output_resource_format = | 307 ResourceFormat output_resource_format = |
| (...skipping 393 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 689 if (lost_resource) { | 701 if (lost_resource) { |
| 690 resource_it->clear_refs(); | 702 resource_it->clear_refs(); |
| 691 updater->DeleteResource(resource_it); | 703 updater->DeleteResource(resource_it); |
| 692 return; | 704 return; |
| 693 } | 705 } |
| 694 | 706 |
| 695 resource_it->remove_ref(); | 707 resource_it->remove_ref(); |
| 696 } | 708 } |
| 697 | 709 |
| 698 } // namespace cc | 710 } // namespace cc |
| OLD | NEW |