summaryrefslogtreecommitdiff
path: root/libavcodec/dxva2_hevc.c
Commit message (Collapse)AuthorAge
* dxva2_hevc: don't use frames as reference if they are not marked as suchSteve Lhomme2022-03-27
| | | | | | | | | | | Similar to how a frame is considered for referencing for the RefPicList array. This will do the same for RefPicSetStCurrBefore, RefPicSetStCurrAfter and RefPicSetLtCurr. Fixes playback of http://www.gbbsoft.pl/!download/!/Film1.mp4 Ref. VLC issue https://code.videolan.org/videolan/vlc/-/issues/26738 Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
* configure: Use a separate config_components.h header for $ALL_COMPONENTSMartin Storsjö2022-03-16
| | | | | | | | This avoids unnecessary rebuilds of most source files if only the list of enabled components has changed, but not the other properties of the build, set in config.h. Signed-off-by: Martin Storsjö <martin@martin.st>
* Merge commit '8f144d9e3d5cb2ca92e5bdf7cc9f72effa1bd2ce'James Almer2018-04-13
|\ | | | | | | | | | | | | * commit '8f144d9e3d5cb2ca92e5bdf7cc9f72effa1bd2ce': Drop Windows XP support remnants Merged-by: James Almer <jamrial@gmail.com>
| * Drop Windows XP support remnantsDiego Biurrun2018-04-09
| |
| * lavc: Mark all AVHWAccel structures as constMark Thompson2017-12-19
| |
* | lavc: Mark all AVHWAccel structures as constMark Thompson2017-11-26
| |
* | Merge commit 'b46a77f19ddc4b2b5fa3187835ceb602a5244e24'James Almer2017-11-11
|\| | | | | | | | | | | | | | | | | * commit 'b46a77f19ddc4b2b5fa3187835ceb602a5244e24': lavc: external hardware frame pool initialization Includes the fix from e724bdfffbd3c27aac53d1f32f20f105f37caef0 Merged-by: James Almer <jamrial@gmail.com>
| * lavc: external hardware frame pool initializationwm42017-10-19
| | | | | | | | | | | | | | | | | | | | | | | | 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-08
| | | | | | | | | | | | | | | | | | | | 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-08
| | | | | | | | | | | | | | | | | | | | | | | | 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-08
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | dxva: add support for new dxva2 and d3d11 hwaccel APIswm42017-06-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 f9e7a2f95a7194a8736cc1416a03a1a0155a3e9f. 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>
* | dxva: preparations for new hwaccel APIwm42017-06-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 4dec101acc393fbfe9a8ce0237b9efbae3f20139. Adds changes to vp9 over the Libav patch. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | Merge commit '150c896a9e46b23b97debb0a5f66fbaeaa32f153'James Almer2017-03-23
|\| | | | | | | | | | | | | * commit '150c896a9e46b23b97debb0a5f66fbaeaa32f153': hevcdec: split ff_hevc_diag_scan* declarations into a separate header Merged-by: James Almer <jamrial@gmail.com>
| * hevcdec: split ff_hevc_diag_scan* declarations into a separate headerAnton Khirnov2016-10-16
| | | | | | | | This will be useful in the following commits.
* | Merge commit '4abe3b049d987420eb891f74a35af2cebbf52144'Clément Bœsch2017-03-23
|\| | | | | | | | | | | | | * commit '4abe3b049d987420eb891f74a35af2cebbf52144': hevc: rename hevc.[ch] to hevcdec.[ch] Merged-by: Clément Bœsch <u@pkh.me>
| * hevc: rename hevc.[ch] to hevcdec.[ch]Anton Khirnov2016-10-16
| | | | | | | | | | 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-13
| | | | | | | | | | | | | | | | | | 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>
* | dxva2: use a single macro to test if the DXVA context is validSteve Lhomme2017-01-16
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Merge commit '08377f9c3bf6dbe216512a2e05c9fac837b13fc0'Hendrik Leppkes2015-10-14
|\| | | | | | | | | | | | | * commit '08377f9c3bf6dbe216512a2e05c9fac837b13fc0': dxva: Include last the internal header Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * dxva: Include last the internal headerLuca Barbato2015-10-14
| | | | | | | | | | It redefines _WIN32_WINNT, possibly causing problems with the w32pthreads.h header.
| * dxva2_hevc: unbreak compilation after recent sps/pps changesJames Almer2015-07-13
| | | | | | | | | | 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-31
| | | | | | | | | | | | | | 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-31
| | | | | | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | dxva2_hevc: properly signal the num_delta_pocs from the SPS RPSHendrik Leppkes2015-08-03
| | | | | | | | | | | | | | | | 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
* | avcodec/dxva2_hevc: unbreak compilation after recent sps/pps changesJames Almer2015-07-13
| | | | | | | | Signed-off-by: James Almer <jamrial@gmail.com>
* | dxva2_hevc: re-write reference frame handlingHendrik Leppkes2015-05-29
| | | | | | | | | | | | | | The old logic required and explicit clearing of the lists first and was prone to overflow the DXVA2 struct in some circumstances. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | dxva2_hevc: fix 32x32 scaling listsHendrik Leppkes2015-05-29
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'd8039ef8d221ea273aa4f1e62e5df21bf618c772'Michael Niedermayer2015-05-25
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'd8039ef8d221ea273aa4f1e62e5df21bf618c772': D3D11va: add a Direct3D11 video decoder similar to DXVA2 Conflicts: Changelog configure libavcodec/Makefile libavcodec/allcodecs.c libavcodec/dxva2_vc1.c libavcodec/version.h libavutil/pixdesc.c libavutil/pixfmt.h libavutil/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * D3D11va: add a Direct3D11 video decoder similar to DXVA2Steve Lhomme2015-05-25
| | | | | | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
| * dxva2_hevc: properly fill the scaling list structureHendrik Leppkes2015-02-07
| | | | | | | | | | | | | | | | 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-27
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* dxva2_hevc: properly fill the scaling list structureHendrik Leppkes2015-02-04
| | | | | | | 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: Michael Niedermayer <michaelni@gmx.at>
* Add DXVA2 HEVC HWAccelHendrik Leppkes2015-01-27
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>