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 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 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 Loading... | |
| 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 Loading... | |
| 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 |
| OLD | NEW |