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

Side by Side Diff: media/filters/gpu_video_decoder.h

Issue 175223003: HW Video: Make media::VideoFrame handle the sync point of the compositor as well as webgl (Closed) Base URL: https://git.chromium.org/chromium/src.git@master
Patch Set: previous patchset has unrelated code by mistake. Created 6 years, 9 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 MEDIA_FILTERS_GPU_VIDEO_DECODER_H_ 5 #ifndef MEDIA_FILTERS_GPU_VIDEO_DECODER_H_
6 #define MEDIA_FILTERS_GPU_VIDEO_DECODER_H_ 6 #define MEDIA_FILTERS_GPU_VIDEO_DECODER_H_
7 7
8 #include <list> 8 #include <list>
9 #include <map> 9 #include <map>
10 #include <set> 10 #include <set>
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 // Enqueue a frame for later delivery (or drop it on the floor if a 99 // Enqueue a frame for later delivery (or drop it on the floor if a
100 // vda->Reset() is in progress) and trigger out-of-line delivery of the oldest 100 // vda->Reset() is in progress) and trigger out-of-line delivery of the oldest
101 // ready frame to the client if there is a pending read. A NULL |frame| 101 // ready frame to the client if there is a pending read. A NULL |frame|
102 // merely triggers delivery, and requires the ready_video_frames_ queue not be 102 // merely triggers delivery, and requires the ready_video_frames_ queue not be
103 // empty. 103 // empty.
104 void EnqueueFrameAndTriggerFrameDelivery( 104 void EnqueueFrameAndTriggerFrameDelivery(
105 const scoped_refptr<VideoFrame>& frame); 105 const scoped_refptr<VideoFrame>& frame);
106 106
107 // Indicate the picture buffer can be reused by the decoder. 107 // Indicate the picture buffer can be reused by the decoder.
108 void ReusePictureBuffer(int64 picture_buffer_id, 108 void ReusePictureBuffer(int64 picture_buffer_id,
109 scoped_ptr<gpu::MailboxHolder> mailbox_holder); 109 scoped_ptr<gpu::MailboxHolder> mailbox_holder,
110 const std::vector<uint32>& release_sync_points);
110 111
111 void RecordBufferData( 112 void RecordBufferData(
112 const BitstreamBuffer& bitstream_buffer, const DecoderBuffer& buffer); 113 const BitstreamBuffer& bitstream_buffer, const DecoderBuffer& buffer);
113 void GetBufferData(int32 id, base::TimeDelta* timetamp, 114 void GetBufferData(int32 id, base::TimeDelta* timetamp,
114 gfx::Rect* visible_rect, gfx::Size* natural_size); 115 gfx::Rect* visible_rect, gfx::Size* natural_size);
115 116
116 void DestroyVDA(); 117 void DestroyVDA();
117 118
118 // Request a shared-memory segment of at least |min_size| bytes. Will 119 // Request a shared-memory segment of at least |min_size| bytes. Will
119 // allocate as necessary. Caller does not own returned pointer. 120 // allocate as necessary. Caller does not own returned pointer.
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 // Set during ProvidePictureBuffers(), used for checking and implementing 188 // Set during ProvidePictureBuffers(), used for checking and implementing
188 // HasAvailableOutputFrames(). 189 // HasAvailableOutputFrames().
189 int available_pictures_; 190 int available_pictures_;
190 191
191 DISALLOW_COPY_AND_ASSIGN(GpuVideoDecoder); 192 DISALLOW_COPY_AND_ASSIGN(GpuVideoDecoder);
192 }; 193 };
193 194
194 } // namespace media 195 } // namespace media
195 196
196 #endif // MEDIA_FILTERS_GPU_VIDEO_DECODER_H_ 197 #endif // MEDIA_FILTERS_GPU_VIDEO_DECODER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698