| 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 20 matching lines...) Expand all Loading... |
| 31 namespace { | 31 namespace { |
| 32 | 32 |
| 33 const ResourceFormat kRGBResourceFormat = RGBA_8888; | 33 const ResourceFormat kRGBResourceFormat = RGBA_8888; |
| 34 | 34 |
| 35 VideoFrameExternalResources::ResourceType ResourceTypeForVideoFrame( | 35 VideoFrameExternalResources::ResourceType ResourceTypeForVideoFrame( |
| 36 media::VideoFrame* video_frame) { | 36 media::VideoFrame* video_frame) { |
| 37 switch (video_frame->format()) { | 37 switch (video_frame->format()) { |
| 38 case media::PIXEL_FORMAT_ARGB: | 38 case media::PIXEL_FORMAT_ARGB: |
| 39 case media::PIXEL_FORMAT_XRGB: | 39 case media::PIXEL_FORMAT_XRGB: |
| 40 case media::PIXEL_FORMAT_UYVY: | 40 case media::PIXEL_FORMAT_UYVY: |
| 41 case media::PIXEL_FORMAT_YUY2: |
| 41 switch (video_frame->mailbox_holder(0).texture_target) { | 42 switch (video_frame->mailbox_holder(0).texture_target) { |
| 42 case GL_TEXTURE_2D: | 43 case GL_TEXTURE_2D: |
| 43 return (video_frame->format() == media::PIXEL_FORMAT_XRGB) | 44 return (video_frame->format() != media::PIXEL_FORMAT_ARGB) |
| 44 ? VideoFrameExternalResources::RGB_RESOURCE | 45 ? VideoFrameExternalResources::RGB_RESOURCE |
| 45 : VideoFrameExternalResources::RGBA_PREMULTIPLIED_RESOURCE; | 46 : VideoFrameExternalResources::RGBA_PREMULTIPLIED_RESOURCE; |
| 46 case GL_TEXTURE_EXTERNAL_OES: | 47 case GL_TEXTURE_EXTERNAL_OES: |
| 47 return video_frame->metadata()->IsTrue( | 48 return video_frame->metadata()->IsTrue( |
| 48 media::VideoFrameMetadata::COPY_REQUIRED) | 49 media::VideoFrameMetadata::COPY_REQUIRED) |
| 49 ? VideoFrameExternalResources::RGBA_RESOURCE | 50 ? VideoFrameExternalResources::RGBA_RESOURCE |
| 50 : VideoFrameExternalResources::STREAM_TEXTURE_RESOURCE; | 51 : VideoFrameExternalResources::STREAM_TEXTURE_RESOURCE; |
| 51 case GL_TEXTURE_RECTANGLE_ARB: | 52 case GL_TEXTURE_RECTANGLE_ARB: |
| 52 return VideoFrameExternalResources::RGB_RESOURCE; | 53 return VideoFrameExternalResources::RGB_RESOURCE; |
| 53 default: | 54 default: |
| (...skipping 14 matching lines...) Expand all Loading... |
| 68 default: | 69 default: |
| 69 NOTREACHED(); | 70 NOTREACHED(); |
| 70 break; | 71 break; |
| 71 } | 72 } |
| 72 break; | 73 break; |
| 73 case media::PIXEL_FORMAT_YV12: | 74 case media::PIXEL_FORMAT_YV12: |
| 74 case media::PIXEL_FORMAT_YV16: | 75 case media::PIXEL_FORMAT_YV16: |
| 75 case media::PIXEL_FORMAT_YV24: | 76 case media::PIXEL_FORMAT_YV24: |
| 76 case media::PIXEL_FORMAT_YV12A: | 77 case media::PIXEL_FORMAT_YV12A: |
| 77 case media::PIXEL_FORMAT_NV21: | 78 case media::PIXEL_FORMAT_NV21: |
| 78 case media::PIXEL_FORMAT_YUY2: | |
| 79 case media::PIXEL_FORMAT_RGB24: | 79 case media::PIXEL_FORMAT_RGB24: |
| 80 case media::PIXEL_FORMAT_RGB32: | 80 case media::PIXEL_FORMAT_RGB32: |
| 81 case media::PIXEL_FORMAT_MJPEG: | 81 case media::PIXEL_FORMAT_MJPEG: |
| 82 case media::PIXEL_FORMAT_MT21: | 82 case media::PIXEL_FORMAT_MT21: |
| 83 case media::PIXEL_FORMAT_YUV420P9: | 83 case media::PIXEL_FORMAT_YUV420P9: |
| 84 case media::PIXEL_FORMAT_YUV422P9: | 84 case media::PIXEL_FORMAT_YUV422P9: |
| 85 case media::PIXEL_FORMAT_YUV444P9: | 85 case media::PIXEL_FORMAT_YUV444P9: |
| 86 case media::PIXEL_FORMAT_YUV420P10: | 86 case media::PIXEL_FORMAT_YUV420P10: |
| 87 case media::PIXEL_FORMAT_YUV422P10: | 87 case media::PIXEL_FORMAT_YUV422P10: |
| 88 case media::PIXEL_FORMAT_YUV444P10: | 88 case media::PIXEL_FORMAT_YUV444P10: |
| (...skipping 723 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 812 if (lost_resource) { | 812 if (lost_resource) { |
| 813 resource_it->clear_refs(); | 813 resource_it->clear_refs(); |
| 814 updater->DeleteResource(resource_it); | 814 updater->DeleteResource(resource_it); |
| 815 return; | 815 return; |
| 816 } | 816 } |
| 817 | 817 |
| 818 resource_it->remove_ref(); | 818 resource_it->remove_ref(); |
| 819 } | 819 } |
| 820 | 820 |
| 821 } // namespace cc | 821 } // namespace cc |
| OLD | NEW |