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

Side by Side Diff: cc/resources/video_resource_updater.cc

Issue 1869303004: media: Implement zero-copy video playback for VP8. Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: optimize only VP8 Created 4 years, 8 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 | « cc/layers/video_layer_impl.cc ('k') | media/base/video_frame.h » ('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 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 ? VideoFrameExternalResources::RGBA_RESOURCE 51 ? VideoFrameExternalResources::RGBA_RESOURCE
52 : VideoFrameExternalResources::STREAM_TEXTURE_RESOURCE; 52 : VideoFrameExternalResources::STREAM_TEXTURE_RESOURCE;
53 case GL_TEXTURE_RECTANGLE_ARB: 53 case GL_TEXTURE_RECTANGLE_ARB:
54 return VideoFrameExternalResources::IO_SURFACE; 54 return VideoFrameExternalResources::IO_SURFACE;
55 default: 55 default:
56 NOTREACHED(); 56 NOTREACHED();
57 break; 57 break;
58 } 58 }
59 break; 59 break;
60 case media::PIXEL_FORMAT_I420: 60 case media::PIXEL_FORMAT_I420:
61 case media::PIXEL_FORMAT_YV12A:
61 return VideoFrameExternalResources::YUV_RESOURCE; 62 return VideoFrameExternalResources::YUV_RESOURCE;
62 break; 63 break;
63 case media::PIXEL_FORMAT_NV12: 64 case media::PIXEL_FORMAT_NV12:
64 DCHECK_EQ(static_cast<uint32_t>(GL_TEXTURE_RECTANGLE_ARB), 65 DCHECK_EQ(static_cast<uint32_t>(GL_TEXTURE_RECTANGLE_ARB),
65 video_frame->mailbox_holder(0).texture_target); 66 video_frame->mailbox_holder(0).texture_target);
66 return VideoFrameExternalResources::IO_SURFACE; 67 return VideoFrameExternalResources::IO_SURFACE;
67 break; 68 break;
68 case media::PIXEL_FORMAT_YV12: 69 case media::PIXEL_FORMAT_YV12:
69 case media::PIXEL_FORMAT_YV16: 70 case media::PIXEL_FORMAT_YV16:
70 case media::PIXEL_FORMAT_YV24: 71 case media::PIXEL_FORMAT_YV24:
71 case media::PIXEL_FORMAT_YV12A:
72 case media::PIXEL_FORMAT_NV21: 72 case media::PIXEL_FORMAT_NV21:
73 case media::PIXEL_FORMAT_YUY2: 73 case media::PIXEL_FORMAT_YUY2:
74 case media::PIXEL_FORMAT_RGB24: 74 case media::PIXEL_FORMAT_RGB24:
75 case media::PIXEL_FORMAT_RGB32: 75 case media::PIXEL_FORMAT_RGB32:
76 case media::PIXEL_FORMAT_MJPEG: 76 case media::PIXEL_FORMAT_MJPEG:
77 case media::PIXEL_FORMAT_MT21: 77 case media::PIXEL_FORMAT_MT21:
78 case media::PIXEL_FORMAT_YUV420P9: 78 case media::PIXEL_FORMAT_YUV420P9:
79 case media::PIXEL_FORMAT_YUV422P9: 79 case media::PIXEL_FORMAT_YUV422P9:
80 case media::PIXEL_FORMAT_YUV444P9: 80 case media::PIXEL_FORMAT_YUV444P9:
81 case media::PIXEL_FORMAT_YUV420P10: 81 case media::PIXEL_FORMAT_YUV420P10:
(...skipping 675 matching lines...) Expand 10 before | Expand all | Expand 10 after
757 plane_resource.plane_index == 0; 757 plane_resource.plane_index == 0;
758 }); 758 });
759 if (resource_it == updater->all_resources_.end()) 759 if (resource_it == updater->all_resources_.end())
760 return; 760 return;
761 761
762 resource_it->destructed = true; 762 resource_it->destructed = true;
763 } 763 }
764 #endif 764 #endif
765 765
766 } // namespace cc 766 } // namespace cc
OLDNEW
« no previous file with comments | « cc/layers/video_layer_impl.cc ('k') | media/base/video_frame.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698