summaryrefslogtreecommitdiffstats
path: root/libavcodec/hevcdec.c
Commit message (Collapse)AuthorAgeFilesLines
* lavc: Add hardware config metadata for decoders supporting hardware outputMark Thompson2017-12-191-0/+22
| | | | | | | | | This includes a pointer to the associated hwaccel for decoders using hwaccels - these will be used later to implement the hwaccel setup without needing a global list. Also added is a new file listing all hwaccels as external declarations - this will be used later to generate the hwaccel list at configure time.
* stereo3d: Support view type for frame sequence typeVittorio Giovara2017-11-281-0/+7
| | | | | | Implement detection in h264 and hevc and insertion in framepack filter. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* hevcdec: add a CUVID hwaccelAnton Khirnov2017-07-281-1/+8
|
* hevcdec: set the active SPS before calling get_format()Anton Khirnov2017-07-281-4/+5
| | | | This way the SPS is available to the hwaccel init code.
* hevc: Make sure to update the current frame transfer characteristicVittorio Giovara2017-07-211-1/+1
| | | | | | | Otherwise the first decoded frame will still be tagged with the original transfer instead of the alternative one. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* hevc: Add support for alternative transfer characterics SEIVittorio Giovara2017-06-281-0/+6
| | | | | | | | | | The use of this SEI is for backward compatibility in HLG HDR systems: older devices that cannot interpret the "arib-std-b67" transfer will get the compatible transfer (usually bt709 or bt2020) from the VUI, while newer devices that can interpret HDR will read the SEI and use its value instead. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* dxva: add support for new dxva2 and d3d11 hwaccel APIswm42017-06-081-1/+2
| | | | | | | | | | 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>
* hevcdec: move the MD5 context out of HEVCSEIPictureHash back into HEVCContextAnton Khirnov2017-05-201-6/+6
| | | | | | | HEVCSEIPictureHash should store only the information extracted from the bitstream and exported to the higher layer (the decoder or the parser). The MD5 context is allocated, used and freed by this higher layer, so it makes more sense for it to also be stored there.
* hevcdec: remove HEVCContext usage from hevc_seiJames Almer2017-05-091-23/+26
| | | | | | | | | | Based on the H264 SEI implementation. This will be mainly useful once support for SEI messages that can be used by the hevc parser are implemented, like Picture Timing. Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* hevcdec: Use LOCAL_ALIGNED_* for declaring local variables with alignmentMartin Storsjö2017-03-291-10/+12
| | | | | | | | | | | | Not all compilers can do alignment larger than the normal stack alignment for variables on the stack. In these cases, the LOCAL_ALIGNED_* macros produce the workaround alignment wrapper consisting of a padded array and a pointer variable. This fixes the hevc fate tests on RVCT/ARMCC after adding IDCT assembly that actually assumes/relies on this alignment. Signed-off-by: Martin Storsjö <martin@martin.st>
* golomb: Convert to the new bitstream readerDiego Biurrun2017-01-311-1/+1
|
* hevc: Mark as having threadsafe initDerek Buitenhuis2017-01-191-1/+1
| | | | | Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* hevcdec: export cropping information instead of handling it internallyAnton Khirnov2017-01-121-3/+4
|
* hevcdec: add P010 support for D3D11VASteve Lhomme2017-01-091-3/+3
| | | | | | | Given it's the same API than DVXA2 I don't know why the same output was not enabled for both. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* hevcdec: add a VAAPI hwaccelAnton Khirnov2016-12-191-1/+5
| | | | | Partially based on a patch by Timo Rothenpieler <timo@rothenpieler.org>. Additional scaling list handling fix by Jun Zhao <mypopydev@gmail.com>.
* hevcdec: do not set decoder-global SPS prematurelyAnton Khirnov2016-12-191-4/+3
| | | | | | | | It should only be set after the decoder state has been fully initialized for using that SPS. Fixes possible invalid reads on get_format() failure. CC: libav-stable@libav.org
* hevc: decouple calling get_format() from exporting the SPS parametersAnton Khirnov2016-12-141-19/+30
| | | | | This makes sure ff_get_format() does not get called unnecessarily from update_thread_context().
* hevc: Eliminate pointless variable indirectionDiego Biurrun2016-11-301-3/+1
|
* hevc: Support extradata changes from multiple stsdVittorio Giovara2016-11-081-0/+10
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* hevc: Allow parsing external extradata buffersVittorio Giovara2016-11-081-7/+5
|
* hevc: Move hevc_decode_extradata before frame decodingVittorio Giovara2016-11-081-74/+74
| | | | | | Avoids a forward-declaration in the following commit. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* hevc: factor out a repeated conditionAnton Khirnov2016-10-211-12/+8
|
* hevc: move the SliceType enum to hevc.hAnton Khirnov2016-10-211-29/+29
| | | | | Those values are decoder-independent and are also use by the VA-API encoder.
* hevcdec: move parameter set parsing into a separate headerAnton Khirnov2016-10-161-1/+1
| | | | | This code is independent from the decoder, so it makes more sense for it to to have its own header.
* hevcdec: split ff_hevc_diag_scan* declarations into a separate headerAnton Khirnov2016-10-161-0/+1
| | | | This will be useful in the following commits.
* hevcdec: move decoder-independent declarations into a separate headerAnton Khirnov2016-10-161-38/+39
| | | | | | | This way they can be reused by other code without including the whole decoder-specific hevcdec.h Also, add the HEVC_ prefix to them, since similarly named values exist for H.264 as well and are sometimes used in the same code.
* hevc: rename hevc.[ch] to hevcdec.[ch]Anton Khirnov2016-10-161-0/+3077
This is more consistent with the rest of libav and frees up the hevc.h name for decoder-independent shared declarations.
OpenPOWER on IntegriCloud