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

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: Add SyncToken comment 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
140 // Obtain a resource of the right format by either recycling an
141 // unreferenced but appropriately formatted resource, or by
142 // allocating a new resource.
143 // Additionally, if the |unique_id| and |plane_index| match, then
144 // the resource is assumed to have the right data already, and be
danakj 2016/09/12 22:06:53 "and be read-only" => "and will only be used for r
145 // read-only, and is returned even if it is still referenced.
146 // Passing -1 for |plane_index| avoids returning referenced
147 // resources.
148 ResourceList::iterator RecycleOrAllocateResource(
149 const gfx::Size& resource_size,
150 ResourceFormat resource_format,
151 const gfx::ColorSpace& color_space,
152 bool software_resource,
153 bool immutable_hint,
154 int unique_id,
155 int plane_index);
139 ResourceList::iterator AllocateResource(const gfx::Size& plane_size, 156 ResourceList::iterator AllocateResource(const gfx::Size& plane_size,
140 ResourceFormat format, 157 ResourceFormat format,
141 const gfx::ColorSpace& color_space, 158 const gfx::ColorSpace& color_space,
142 bool has_mailbox, 159 bool has_mailbox,
143 bool immutable_hint); 160 bool immutable_hint);
144 void DeleteResource(ResourceList::iterator resource_it); 161 void DeleteResource(ResourceList::iterator resource_it);
145 void CopyPlaneTexture(media::VideoFrame* video_frame, 162 void CopyPlaneTexture(media::VideoFrame* video_frame,
146 const gpu::MailboxHolder& mailbox_holder, 163 const gpu::MailboxHolder& mailbox_holder,
147 VideoFrameExternalResources* external_resources); 164 VideoFrameExternalResources* external_resources);
148 VideoFrameExternalResources CreateForHardwarePlanes( 165 VideoFrameExternalResources CreateForHardwarePlanes(
(...skipping 20 matching lines...) Expand all
169 // Recycle resources so that we can reduce the number of allocations and 186 // Recycle resources so that we can reduce the number of allocations and
170 // data transfers. 187 // data transfers.
171 ResourceList all_resources_; 188 ResourceList all_resources_;
172 189
173 DISALLOW_COPY_AND_ASSIGN(VideoResourceUpdater); 190 DISALLOW_COPY_AND_ASSIGN(VideoResourceUpdater);
174 }; 191 };
175 192
176 } // namespace cc 193 } // namespace cc
177 194
178 #endif // CC_RESOURCES_VIDEO_RESOURCE_UPDATER_H_ 195 #endif // CC_RESOURCES_VIDEO_RESOURCE_UPDATER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698