diff options
author | Kevin Mitchell <kevmitch@gmail.com> | 2016-02-15 11:15:17 -0800 |
---|---|---|
committer | Kevin Mitchell <kevmitch@gmail.com> | 2016-02-16 12:36:56 -0800 |
commit | d5348a66dc7dcc22d4e6b905caa7e92468f25b94 (patch) | |
tree | 6ef8beb28f367b8c6fa252966b02656d016a03b3 /video/dxva2.h | |
parent | 01743f4ecd42b2974072d31604c2e91941488dd8 (diff) | |
download | mpv-d5348a66dc7dcc22d4e6b905caa7e92468f25b94.tar.bz2 mpv-d5348a66dc7dcc22d4e6b905caa7e92468f25b94.tar.xz |
dxva2: another attempt at using mp_image pool
Apparently, some drivers require you to allocate all of the decoder d3d surfaces
at once. This commit changes the strategy from allocating surfaces as needed via
mp_image_pool_set_allocator, to allocating all the surfaces in one call to
IDirectXVideoDecoderService_CreateSurface and adding them to the pool with
mp_image_pool_add.
fixes #2822
Diffstat (limited to 'video/dxva2.h')
-rw-r--r-- | video/dxva2.h | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/video/dxva2.h b/video/dxva2.h index 66bcddcdb8..b52767da44 100644 --- a/video/dxva2.h +++ b/video/dxva2.h @@ -25,10 +25,8 @@ struct mp_image; struct mp_image_pool; LPDIRECT3DSURFACE9 d3d9_surface_in_mp_image(struct mp_image *mpi); -void dxva2_img_ref_decoder(struct mp_image *mpi, IDirectXVideoDecoder *decoder); -void dxva2_pool_set_allocator(struct mp_image_pool *pool, - IDirectXVideoDecoderService *decoder_service, - D3DFORMAT target_format, int surface_alignment); +struct mp_image *dxva2_new_ref(IDirectXVideoDecoder *decoder, + LPDIRECT3DSURFACE9 d3d9_surface, int w, int h); #endif |