- 13 Apr, 2018 1 commit
-
-
Hendrik Leppkes authored
-
- 11 Feb, 2018 1 commit
-
-
Mark Thompson authored
This number is definitely required when frame threading is enabled, so add it here rather than forcing all users to handle it themselves. DXVA2 contained this addition in specific code as well (therefore being added twice in the internal case) - just remove it from there.
-
- 19 Oct, 2017 1 commit
-
-
wm4 authored
This adds a new API, which allows the API user to query the required AVHWFramesContext parameters. This also reduces code duplication across the hwaccels by introducing ff_decode_get_hw_frames_ctx(), which uses the new API function. It takes care of initializing the hw_frames_ctx if needed, and does additional error handling and API usage checking. Support for VDA and Cuvid missing. Signed-off-by:
Anton Khirnov <anton@khirnov.net>
-
- 22 Jul, 2017 1 commit
-
-
wm4 authored
This mode apparently does not support decoding of HEVC Main (8 bit). With D3D11 and Intel drivers on Windows 10 I get green corruption, while using DXVA2_ModeHEVC_VLD_Main works. Signed-off-by:
Anton Khirnov <anton@khirnov.net>
-
- 10 Jul, 2017 1 commit
-
-
wm4 authored
This mode apparently does not support decoding of HEVC Main (8 bit). With D3D11 and Intel drivers on Windows 10 I get green corruption, while using DXVA2_ModeHEVC_VLD_Main works.
-
- 27 Jun, 2017 7 commits
-
-
wm4 authored
Helpful for debugging. Merges Libav commit 068eaa53. Signed-off-by:
Luca Barbato <lu_zero@gentoo.org>
-
wm4 authored
Some devices (some phones, apparently) will support only this opaque format. Of course this won't work with CLI, because copying data directly is not supported. Automatic frame allocation (setting AVCodecContext.hw_device_ctx) does not support this mode, even if it's the only supported mode. But since opaque surfaces are generally less useful, that's probably ok. Merges Libav commit 5030e385. Signed-off-by:
Luca Barbato <lu_zero@gentoo.org>
-
wm4 authored
Some existed since forever, some are new. The cast in get_surface() is silly, but unless we change the av_log function signature, or all callers of ff_dxva2_get_surface_index(), it's needed to remove the const warning. Merges Libav commit 752ddb45. Signed-off-by:
Luca Barbato <lu_zero@gentoo.org>
-
wm4 authored
Make supported codec profiles part of each dxva_modes entry. Every DXVA2 mode is representative for a codec with a subset of supported profiles, so reflecting that in dxva_modes seems appropriate. In practice, this will more strictly check MPEG2 profiles, will stop relying on the surface format checks for selecting the correct HEVC profile, and remove the verbose messages for mismatching H264/HEVC profiles. Instead of the latter, it will now print the more nebulous "No decoder device for codec found" verbose message. This also respects AV_HWACCEL_FLAG_ALLOW_PROFILE_MISMATCH. Move the Main10 HEVC entry before the normal one to make this work better. Originally inspired by VLC's code. Merges Libav commit 70e5e7c0. Signed-off-by:
Luca Barbato <lu_zero@gentoo.org>
-
wm4 authored
This also adds support to avconv (which is trivial due to the new hwaccel API being generic enough). The new decoder setup code in dxva2.c is significantly based on work by Steve Lhomme <robux4@gmail.com>, but with heavy changes/rewrites. Merges Libav commit f9e7a2f9. Also adds untested VP9 support. The check for DXVA2 COBJs is removed. Just update your MinGW to something newer than a 5 year old release. Signed-off-by:
Diego Biurrun <diego@biurrun.de>
-
wm4 authored
I want to make it non-mandatory to set a mutex in the D3D11 device context, and replacing it with user callbacks seems like the best solution. This is preparation for it. Also makes the code slightly more readable. Merges Libav commit 831cfe10. Signed-off-by:
Diego Biurrun <diego@biurrun.de>
-
wm4 authored
The actual hwaccel code will need to access an internal context instead of avctx->hwaccel_context, so add a new DXVA_CONTEXT() macro, that will dispatch between the "old" external and the new internal context. Also, the new API requires a new D3D11 pixfmt, so all places which check for the pixfmt need to be adjusted. Introduce a ff_dxva2_is_d3d11() function, which does the check. Merges Libav commit 4dec101a. Adds changes to vp9 over the Libav patch. Signed-off-by:
Diego Biurrun <diego@biurrun.de>
-
- 26 Jun, 2017 4 commits
-
-
wm4 authored
Helpful for debugging. Signed-off-by:
Luca Barbato <lu_zero@gentoo.org>
-
wm4 authored
Some devices (some phones, apparently) will support only this opaque format. Of course this won't work with CLI, because copying data directly is not supported. Automatic frame allocation (setting AVCodecContext.hw_device_ctx) does not support this mode, even if it's the only supported mode. But since opaque surfaces are generally less useful, that's probably ok. Signed-off-by:
Luca Barbato <lu_zero@gentoo.org>
-
wm4 authored
Some existed since forever, some are new. The cast in get_surface() is silly, but unless we change the av_log function signature, or all callers of ff_dxva2_get_surface_index(), it's needed to remove the const warning. Signed-off-by:
Luca Barbato <lu_zero@gentoo.org>
-
wm4 authored
Make supported codec profiles part of each dxva_modes entry. Every DXVA2 mode is representative for a codec with a subset of supported profiles, so reflecting that in dxva_modes seems appropriate. In practice, this will more strictly check MPEG2 profiles, will stop relying on the surface format checks for selecting the correct HEVC profile, and remove the verbose messages for mismatching H264/HEVC profiles. Instead of the latter, it will now print the more nebulous "No decoder device for codec found" verbose message. This also respects AV_HWACCEL_FLAG_ALLOW_PROFILE_MISMATCH. Move the Main10 HEVC entry before the normal one to make this work better. Originally inspired by VLC's code. Signed-off-by:
Luca Barbato <lu_zero@gentoo.org>
-
- 08 Jun, 2017 3 commits
-
-
wm4 authored
This also adds support to avconv (which is trivial due to the new hwaccel API being generic enough). The new decoder setup code in dxva2.c is significantly based on work by Steve Lhomme <robux4@gmail.com>, but with heavy changes/rewrites. Signed-off-by:
Diego Biurrun <diego@biurrun.de>
-
wm4 authored
I want to make it non-mandatory to set a mutex in the D3D11 device context, and replacing it with user callbacks seems like the best solution. This is preparation for it. Also makes the code slightly more readable. Signed-off-by:
Diego Biurrun <diego@biurrun.de>
-
wm4 authored
The actual hwaccel code will need to access an internal context instead of avctx->hwaccel_context, so add a new DXVA_CONTEXT() macro, that will dispatch between the "old" external and the new internal context. Also, the new API requires a new D3D11 pixfmt, so all places which check for the pixfmt need to be adjusted. Introduce a ff_dxva2_is_d3d11() function, which does the check. Signed-off-by:
Diego Biurrun <diego@biurrun.de>
-
- 16 Jan, 2017 1 commit
-
-
Steve Lhomme authored
No need to loop through the known surfaces, we'll use the requested surface anyway. The loop is only done for DXVA2. Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
- 12 Jan, 2017 1 commit
-
-
Steve Lhomme authored
No need to loop through the known surfaces, we'll use the requested surface anyway. The loop is only done for DXVA2. Signed-off-by:
Anton Khirnov <anton@khirnov.net>
-
- 08 Jan, 2017 1 commit
-
-
Steve Lhomme authored
Signed-off-by:
Diego Biurrun <diego@biurrun.de>
-
- 05 Jan, 2017 1 commit
-
-
Steve Lhomme authored
Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
- 29 Nov, 2016 1 commit
-
-
Diego Biurrun authored
-
- 07 Nov, 2016 1 commit
-
-
Hendrik Leppkes authored
Fixes a regression introduced in be630b1eSigned-off-by:
Anton Khirnov <anton@khirnov.net>
-
- 20 Oct, 2016 1 commit
-
-
Hendrik Leppkes authored
Fixes a regression introduced in 9b462a0b
-
- 10 Oct, 2016 1 commit
-
-
Steve Lhomme authored
The slice index expected by D3D11VA is the one from the texture not from the array or texture/slices. In VLC the slices we provide the decoder don't start from 0 and thus pictures appear in bogus order. With possible crashes and corruptions when using an invalid index. Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
- 05 Oct, 2016 1 commit
-
-
Steve Lhomme authored
The decoding buffer index expected by D3D11VA is the one from the ID3D11Texture2D not the one from the ID3D11VideoDecoderOutputView array in AVD3D11VAContext. Otherwise, when providing decoder slices that do not start from 0, pictures appear in bogus order. For an invalid index crashes and image corruption can occur. Signed-off-by:
Diego Biurrun <diego@biurrun.de>
-
- 11 Jul, 2016 1 commit
-
-
Steve Lhomme authored
also fixes a deadlock found by Денис Кулаков <kudesnik33ra@gmail.com> Signed-off-by:
Anton Khirnov <anton@khirnov.net>
-
- 17 Jun, 2016 1 commit
-
-
Steve Lhomme authored
also fixes a deadlock found by Денис Кулаков <kudesnik33ra@gmail.com> Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
- 17 Sep, 2015 1 commit
-
-
Steve Lhomme authored
-
- 13 Sep, 2015 1 commit
-
-
Vittorio Giovara authored
Add necessary headers in .c files.
-
- 01 Jun, 2015 1 commit
-
-
Martin Storsjö authored
Signed-off-by:
Martin Storsjö <martin@martin.st>
-
- 26 May, 2015 1 commit
-
-
Michael Niedermayer authored
Signed-off-by:
Michael Niedermayer <michaelni@gmx.at>
-
- 25 May, 2015 2 commits
-
-
Michael Niedermayer authored
Signed-off-by:
Michael Niedermayer <michaelni@gmx.at>
-
Steve Lhomme authored
Signed-off-by:
Luca Barbato <lu_zero@gentoo.org>
-
- 31 Mar, 2014 1 commit
-
-
Michael Niedermayer authored
The assumption of (MPEG) Picture and H264Picture layout matching might not hold true in the future. Signed-off-by:
Hendrik Leppkes <h.leppkes@gmail.com>
-
- 17 Mar, 2014 1 commit
-
-
Michael Niedermayer authored
Signed-off-by:
Michael Niedermayer <michaelni@gmx.at>
-
- 21 Jan, 2014 2 commits
-
-
Diego Biurrun authored
-
Diego Biurrun authored
-