aboutsummaryrefslogtreecommitdiffhomepage
path: root/video/dxva2.c
Commit message (Collapse)AuthorAge
* mp_image: allow passing NULL to mp_image_new_custom_ref()Gravatar wm42016-04-25
| | | | | | | A minor simplification. Most callers don't need this, and there's no good reason why the caller should provide an "initializer" like this. (This function calls mp_image_new_dummy_ref(), which has no reason for an initializer either.)
* dxva2: abort on mp_image_new_custom_ref failureGravatar Kevin Mitchell2016-03-30
|
* dxva2: stop using pointer obfuscator LPDIRECT3DSURFACE9Gravatar Kevin Mitchell2016-03-30
| | | | It's just ugly and unnecessary.
* dxva2: check for failure of mp_image_new_custom_refGravatar Kevin Mitchell2016-02-16
| | | | previously, this may have caused a leak
* dxva2: another attempt at using mp_image poolGravatar Kevin Mitchell2016-02-16
| | | | | | | | | | 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
* dxva2: fix license on some newly added files to lgpl v2.1+Gravatar Kevin Mitchell2016-02-16
| | | | | | I mistakenly copied the wrong license text into these files when I created them. Since I'm the only one to have touched these files, it should be OK to change them.
* dxva2: use mp_image pool for d3d surfacesGravatar Kevin Mitchell2016-02-14
This is required so that the individual surfaces can pass beyond the dxva2 decoder and be passed to the vo. This also adds additional data to mp_image->planes[0] for IMGFMT_DXVA2, which is required for maintaining and releasing the surface even if the decoder code is uninited. The IDirectXVideoDecoder itself is encapsulated together with its surface pool and configuration in a dxva2_decoder structure whose creation and destruction is managed by talloc.