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

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

Issue 2242453002: Avoid planar YUV resources when one component EGL images are not supported (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix cc_unittests Created 4 years, 3 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
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 #ifndef CC_RESOURCES_VIDEO_RESOURCE_UPDATER_H_ 5 #ifndef CC_RESOURCES_VIDEO_RESOURCE_UPDATER_H_
6 #define CC_RESOURCES_VIDEO_RESOURCE_UPDATER_H_ 6 #define CC_RESOURCES_VIDEO_RESOURCE_UPDATER_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 129
130 const unsigned resource_id_; 130 const unsigned resource_id_;
131 const gfx::Size resource_size_; 131 const gfx::Size resource_size_;
132 const ResourceFormat resource_format_; 132 const ResourceFormat resource_format_;
133 const gpu::Mailbox mailbox_; 133 const gpu::Mailbox mailbox_;
134 }; 134 };
135 135
136 // This needs to be a container where iterators can be erased without 136 // This needs to be a container where iterators can be erased without
137 // invalidating other iterators. 137 // invalidating other iterators.
138 typedef std::list<PlaneResource> ResourceList; 138 typedef std::list<PlaneResource> ResourceList;
139 ResourceList::iterator RecycleOrAllocateResource(
140 const gfx::Size& resource_size,
141 ResourceFormat resource_format,
142 const gfx::ColorSpace& color_space,
143 bool software_resource,
144 bool immutable_hint,
145 int unique_id,
146 int plane_index);
139 ResourceList::iterator AllocateResource(const gfx::Size& plane_size, 147 ResourceList::iterator AllocateResource(const gfx::Size& plane_size,
140 ResourceFormat format, 148 ResourceFormat format,
141 const gfx::ColorSpace& color_space, 149 const gfx::ColorSpace& color_space,
142 bool has_mailbox, 150 bool has_mailbox,
143 bool immutable_hint); 151 bool immutable_hint);
144 void DeleteResource(ResourceList::iterator resource_it); 152 void DeleteResource(ResourceList::iterator resource_it);
145 void CopyPlaneTexture(media::VideoFrame* video_frame, 153 bool CopyPlaneTexture(media::VideoFrame* video_frame,
146 const gpu::MailboxHolder& mailbox_holder, 154 const gpu::MailboxHolder& mailbox_holder,
147 VideoFrameExternalResources* external_resources); 155 VideoFrameExternalResources* external_resources);
148 VideoFrameExternalResources CreateForHardwarePlanes( 156 VideoFrameExternalResources CreateForHardwarePlanes(
149 scoped_refptr<media::VideoFrame> video_frame); 157 scoped_refptr<media::VideoFrame> video_frame);
150 VideoFrameExternalResources CreateForSoftwarePlanes( 158 VideoFrameExternalResources CreateForSoftwarePlanes(
151 scoped_refptr<media::VideoFrame> video_frame); 159 scoped_refptr<media::VideoFrame> video_frame);
152 160
153 static void RecycleResource(base::WeakPtr<VideoResourceUpdater> updater, 161 static void RecycleResource(base::WeakPtr<VideoResourceUpdater> updater,
154 unsigned resource_id, 162 unsigned resource_id,
155 const gpu::SyncToken& sync_token, 163 const gpu::SyncToken& sync_token,
(...skipping 13 matching lines...) Expand all
169 // Recycle resources so that we can reduce the number of allocations and 177 // Recycle resources so that we can reduce the number of allocations and
170 // data transfers. 178 // data transfers.
171 ResourceList all_resources_; 179 ResourceList all_resources_;
172 180
173 DISALLOW_COPY_AND_ASSIGN(VideoResourceUpdater); 181 DISALLOW_COPY_AND_ASSIGN(VideoResourceUpdater);
174 }; 182 };
175 183
176 } // namespace cc 184 } // namespace cc
177 185
178 #endif // CC_RESOURCES_VIDEO_RESOURCE_UPDATER_H_ 186 #endif // CC_RESOURCES_VIDEO_RESOURCE_UPDATER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698