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

Side by Side Diff: content/common/gpu/media/dxva_video_decode_accelerator_win.h

Issue 1766183002: Wait on fence before reusing DXVA picture buffer (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2661
Patch Set: Created 4 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
« no previous file with comments | « no previous file | content/common/gpu/media/dxva_video_decode_accelerator_win.cc » ('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 (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 CONTENT_COMMON_GPU_MEDIA_DXVA_VIDEO_DECODE_ACCELERATOR_H_ 5 #ifndef CONTENT_COMMON_GPU_MEDIA_DXVA_VIDEO_DECODE_ACCELERATOR_H_
6 #define CONTENT_COMMON_GPU_MEDIA_DXVA_VIDEO_DECODE_ACCELERATOR_H_ 6 #define CONTENT_COMMON_GPU_MEDIA_DXVA_VIDEO_DECODE_ACCELERATOR_H_
7 7
8 #include <d3d11.h> 8 #include <d3d11.h>
9 #include <d3d9.h> 9 #include <d3d9.h>
10 #include <stdint.h> 10 #include <stdint.h>
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after
230 230
231 // Flushes the decoder device to ensure that the decoded surface is copied 231 // Flushes the decoder device to ensure that the decoded surface is copied
232 // to the target surface. |iterations| helps to maintain an upper limit on 232 // to the target surface. |iterations| helps to maintain an upper limit on
233 // the number of times we try to complete the flush operation. 233 // the number of times we try to complete the flush operation.
234 void FlushDecoder(int iterations, 234 void FlushDecoder(int iterations,
235 IDirect3DSurface9* src_surface, 235 IDirect3DSurface9* src_surface,
236 IDirect3DSurface9* dest_surface, 236 IDirect3DSurface9* dest_surface,
237 int picture_buffer_id, 237 int picture_buffer_id,
238 int input_buffer_id); 238 int input_buffer_id);
239 239
240 // Polls to wait for GPU commands to be finished on the picture buffer
241 // before reusing it.
242 void WaitForOutputBuffer(int32_t picture_buffer_id, int count);
243
240 // Initializes the DX11 Video format converter media types. 244 // Initializes the DX11 Video format converter media types.
241 // Returns true on success. 245 // Returns true on success.
242 bool InitializeDX11VideoFormatConverterMediaType(int width, int height); 246 bool InitializeDX11VideoFormatConverterMediaType(int width, int height);
243 247
244 // Returns the output video frame dimensions (width, height). 248 // Returns the output video frame dimensions (width, height).
245 // |sample| :- This is the output sample containing the video frame. 249 // |sample| :- This is the output sample containing the video frame.
246 // |width| :- The width is returned here. 250 // |width| :- The width is returned here.
247 // |height| :- The height is returned here. 251 // |height| :- The height is returned here.
248 // Returns true on success. 252 // Returns true on success.
249 bool GetVideoFrameDimensions(IMFSample* sample, int* width, int* height); 253 bool GetVideoFrameDimensions(IMFSample* sample, int* width, int* height);
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
394 398
395 // Function pointer for the MFCreateDXGIDeviceManager API. 399 // Function pointer for the MFCreateDXGIDeviceManager API.
396 static CreateDXGIDeviceManager create_dxgi_device_manager_; 400 static CreateDXGIDeviceManager create_dxgi_device_manager_;
397 401
398 DISALLOW_COPY_AND_ASSIGN(DXVAVideoDecodeAccelerator); 402 DISALLOW_COPY_AND_ASSIGN(DXVAVideoDecodeAccelerator);
399 }; 403 };
400 404
401 } // namespace content 405 } // namespace content
402 406
403 #endif // CONTENT_COMMON_GPU_MEDIA_DXVA_VIDEO_DECODE_ACCELERATOR_H_ 407 #endif // CONTENT_COMMON_GPU_MEDIA_DXVA_VIDEO_DECODE_ACCELERATOR_H_
OLDNEW
« no previous file with comments | « no previous file | content/common/gpu/media/dxva_video_decode_accelerator_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698