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 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
57 NOTREACHED(); | 57 NOTREACHED(); |
58 break; | 58 break; |
59 } | 59 } |
60 break; | 60 break; |
61 case media::PIXEL_FORMAT_I420: | 61 case media::PIXEL_FORMAT_I420: |
62 return VideoFrameExternalResources::YUV_RESOURCE; | 62 return VideoFrameExternalResources::YUV_RESOURCE; |
63 break; | 63 break; |
64 case media::PIXEL_FORMAT_NV12: | 64 case media::PIXEL_FORMAT_NV12: |
65 switch (video_frame->mailbox_holder(0).texture_target) { | 65 switch (video_frame->mailbox_holder(0).texture_target) { |
66 case GL_TEXTURE_EXTERNAL_OES: | 66 case GL_TEXTURE_EXTERNAL_OES: |
67 case GL_TEXTURE_2D: | 67 case GL_TEXTURE_2D: { |
68 return VideoFrameExternalResources::YUV_RESOURCE; | 68 bool is_dual_gmb = video_frame->mailbox_holder(1).texture_target == |
| 69 video_frame->mailbox_holder(0).texture_target; |
| 70 return is_dual_gmb ? VideoFrameExternalResources::YUV_RESOURCE |
| 71 : VideoFrameExternalResources::RGB_RESOURCE; |
| 72 } |
69 case GL_TEXTURE_RECTANGLE_ARB: | 73 case GL_TEXTURE_RECTANGLE_ARB: |
70 return VideoFrameExternalResources::RGB_RESOURCE; | 74 return VideoFrameExternalResources::RGB_RESOURCE; |
71 default: | 75 default: |
72 NOTREACHED(); | 76 NOTREACHED(); |
73 break; | 77 break; |
74 } | 78 } |
75 break; | 79 break; |
76 case media::PIXEL_FORMAT_YV12: | 80 case media::PIXEL_FORMAT_YV12: |
77 case media::PIXEL_FORMAT_YV16: | 81 case media::PIXEL_FORMAT_YV16: |
78 case media::PIXEL_FORMAT_YV24: | 82 case media::PIXEL_FORMAT_YV24: |
(...skipping 624 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
703 if (lost_resource) { | 707 if (lost_resource) { |
704 resource_it->clear_refs(); | 708 resource_it->clear_refs(); |
705 updater->DeleteResource(resource_it); | 709 updater->DeleteResource(resource_it); |
706 return; | 710 return; |
707 } | 711 } |
708 | 712 |
709 resource_it->remove_ref(); | 713 resource_it->remove_ref(); |
710 } | 714 } |
711 | 715 |
712 } // namespace cc | 716 } // namespace cc |
OLD | NEW |