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

Side by Side Diff: media/gpu/vt_video_decode_accelerator_mac.cc

Issue 2449993005: Remove GLImage::Destroy(). (Closed)
Patch Set: One more Destroy() call on Mac. Created 4 years, 1 month 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 | « media/gpu/vaapi_tfp_picture.cc ('k') | ui/accelerated_widget_mac/ca_layer_tree_unittest_mac.mm » ('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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "media/gpu/vt_video_decode_accelerator_mac.h" 5 #include "media/gpu/vt_video_decode_accelerator_mac.h"
6 6
7 #include <CoreVideo/CoreVideo.h> 7 #include <CoreVideo/CoreVideo.h>
8 #include <OpenGL/CGLIOSurface.h> 8 #include <OpenGL/CGLIOSurface.h>
9 #include <OpenGL/gl.h> 9 #include <OpenGL/gl.h>
10 #include <stddef.h> 10 #include <stddef.h>
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after
276 VTVideoDecodeAccelerator::Frame::Frame(int32_t bitstream_id) 276 VTVideoDecodeAccelerator::Frame::Frame(int32_t bitstream_id)
277 : bitstream_id(bitstream_id) {} 277 : bitstream_id(bitstream_id) {}
278 278
279 VTVideoDecodeAccelerator::Frame::~Frame() {} 279 VTVideoDecodeAccelerator::Frame::~Frame() {}
280 280
281 VTVideoDecodeAccelerator::PictureInfo::PictureInfo(uint32_t client_texture_id, 281 VTVideoDecodeAccelerator::PictureInfo::PictureInfo(uint32_t client_texture_id,
282 uint32_t service_texture_id) 282 uint32_t service_texture_id)
283 : client_texture_id(client_texture_id), 283 : client_texture_id(client_texture_id),
284 service_texture_id(service_texture_id) {} 284 service_texture_id(service_texture_id) {}
285 285
286 VTVideoDecodeAccelerator::PictureInfo::~PictureInfo() { 286 VTVideoDecodeAccelerator::PictureInfo::~PictureInfo() {}
287 if (gl_image)
288 gl_image->Destroy(false);
289 }
290 287
291 bool VTVideoDecodeAccelerator::FrameOrder::operator()( 288 bool VTVideoDecodeAccelerator::FrameOrder::operator()(
292 const linked_ptr<Frame>& lhs, 289 const linked_ptr<Frame>& lhs,
293 const linked_ptr<Frame>& rhs) const { 290 const linked_ptr<Frame>& rhs) const {
294 // TODO(sandersd): When it is provided, use the bitstream timestamp. 291 // TODO(sandersd): When it is provided, use the bitstream timestamp.
295 if (lhs->pic_order_cnt != rhs->pic_order_cnt) 292 if (lhs->pic_order_cnt != rhs->pic_order_cnt)
296 return lhs->pic_order_cnt > rhs->pic_order_cnt; 293 return lhs->pic_order_cnt > rhs->pic_order_cnt;
297 294
298 // If |pic_order_cnt| is the same, fall back on using the bitstream order. 295 // If |pic_order_cnt| is the same, fall back on using the bitstream order.
299 return lhs->bitstream_id > rhs->bitstream_id; 296 return lhs->bitstream_id > rhs->bitstream_id;
(...skipping 599 matching lines...) Expand 10 before | Expand all | Expand 10 after
899 } 896 }
900 897
901 void VTVideoDecodeAccelerator::ReusePictureBuffer(int32_t picture_id) { 898 void VTVideoDecodeAccelerator::ReusePictureBuffer(int32_t picture_id) {
902 DVLOG(2) << __func__ << "(" << picture_id << ")"; 899 DVLOG(2) << __func__ << "(" << picture_id << ")";
903 DCHECK(gpu_task_runner_->BelongsToCurrentThread()); 900 DCHECK(gpu_task_runner_->BelongsToCurrentThread());
904 901
905 auto it = picture_info_map_.find(picture_id); 902 auto it = picture_info_map_.find(picture_id);
906 if (it != picture_info_map_.end()) { 903 if (it != picture_info_map_.end()) {
907 PictureInfo* picture_info = it->second.get(); 904 PictureInfo* picture_info = it->second.get();
908 picture_info->cv_image.reset(); 905 picture_info->cv_image.reset();
909 picture_info->gl_image->Destroy(false);
910 picture_info->gl_image = nullptr; 906 picture_info->gl_image = nullptr;
911 } 907 }
912 908
913 // It's possible there was a ReusePictureBuffer() request in flight when we 909 // It's possible there was a ReusePictureBuffer() request in flight when we
914 // called DismissPictureBuffer(), in which case we won't find it. In that case 910 // called DismissPictureBuffer(), in which case we won't find it. In that case
915 // we should just drop the ReusePictureBuffer() request. 911 // we should just drop the ReusePictureBuffer() request.
916 if (assigned_picture_ids_.count(picture_id)) { 912 if (assigned_picture_ids_.count(picture_id)) {
917 available_picture_ids_.push_back(picture_id); 913 available_picture_ids_.push_back(picture_id);
918 ProcessWorkQueues(); 914 ProcessWorkQueues();
919 } 915 }
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after
1196 SupportedProfile profile; 1192 SupportedProfile profile;
1197 profile.profile = supported_profile; 1193 profile.profile = supported_profile;
1198 profile.min_resolution.SetSize(16, 16); 1194 profile.min_resolution.SetSize(16, 16);
1199 profile.max_resolution.SetSize(4096, 2160); 1195 profile.max_resolution.SetSize(4096, 2160);
1200 profiles.push_back(profile); 1196 profiles.push_back(profile);
1201 } 1197 }
1202 return profiles; 1198 return profiles;
1203 } 1199 }
1204 1200
1205 } // namespace media 1201 } // namespace media
OLDNEW
« no previous file with comments | « media/gpu/vaapi_tfp_picture.cc ('k') | ui/accelerated_widget_mac/ca_layer_tree_unittest_mac.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698