summaryrefslogtreecommitdiffstats
path: root/libavcodec/dxva2_hevc.c
Commit message (Collapse)AuthorAgeFilesLines
* lavc: Mark all AVHWAccel structures as constMark Thompson2017-12-191-3/+3
|
* lavc: external hardware frame pool initializationwm42017-10-191-0/+3
| | | | | | | | | | | | 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>
* dxva: add support for new dxva2 and d3d11 hwaccel APIswm42017-06-081-0/+22
| | | | | | | | | | 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>
* dxva: preparations for new hwaccel APIwm42017-06-081-5/+5
| | | | | | | | | | | | 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>
* dxva2: Factorize DXVA context validity test into a single macroSteve Lhomme2017-01-081-3/+1
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* hevcdec: split ff_hevc_diag_scan* declarations into a separate headerAnton Khirnov2016-10-161-0/+1
| | | | This will be useful in the following commits.
* hevc: rename hevc.[ch] to hevcdec.[ch]Anton Khirnov2016-10-161-1/+1
| | | | | This is more consistent with the rest of libav and frees up the hevc.h name for decoder-independent shared declarations.
* dxva2_hevc: properly signal the num_delta_pocs from the SPS RPSHendrik Leppkes2016-02-131-1/+1
| | | | | | | | | ucNumDeltaPocsOfRefRpsIdx needs to contain the flat value from the SPS RPS, and not the final computed value from the slice header RPS, as this calculation is done internally by the driver again. Sample-Id: http://trailers.divx.com/hevc/Sintel_4k_27qp_24fps_1aud_9subs.mkvi Signed-off-by: RĂ©mi Denis-Courmont <remi@remlab.net>
* dxva: Include last the internal headerLuca Barbato2015-10-141-1/+5
| | | | | It redefines _WIN32_WINNT, possibly causing problems with the w32pthreads.h header.
* dxva2_hevc: unbreak compilation after recent sps/pps changesJames Almer2015-07-131-70/+72
| | | | | Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* dxva2_hevc: re-write reference frame handlingHendrik Leppkes2015-05-311-18/+22
| | | | | | | The old logic required an explicit clearing of the lists first and was prone to overflow the DXVA2 struct in some circumstances. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* dxva2_hevc: fix 32x32 scaling listsHendrik Leppkes2015-05-311-2/+2
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* D3D11va: add a Direct3D11 video decoder similar to DXVA2Steve Lhomme2015-05-251-25/+83
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* dxva2_hevc: properly fill the scaling list structureHendrik Leppkes2015-02-071-8/+14
| | | | | | | | The scaling list can be specified in either the SPS or PPS. Additionally, compensate for the diagonal scan permutation applied in the decoder. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* Add DXVA2 HEVC HWAccelHendrik Leppkes2015-01-271-0/+375
Signed-off-by: Anton Khirnov <anton@khirnov.net>
OpenPOWER on IntegriCloud