summaryrefslogtreecommitdiff
path: root/libavcodec/av1dec.h
Commit message (Collapse)AuthorAgeFilesLines
* avcodec/av1dec: parse and export Metadata OBUsJames Almer2023-03-101-0/+8
| | | | | | | This includes Mastering Display, Content light level, and some ITU-T T35 metadata like closed captions and HDR10+. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/thread: Don't use ThreadFrame when unnecessaryAndreas Rheinhardt2022-02-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | The majority of frame-threaded decoders (mainly the intra-only) need exactly one part of ThreadFrame: The AVFrame. They don't need the owners nor the progress, yet they had to use it because ff_thread_(get|release)_buffer() requires it. This commit changes this and makes these functions work with ordinary AVFrames; the decoders that need the extra fields for progress use ff_thread_(get|release)_ext_buffer() which work exactly as ff_thread_(get|release)_buffer() used to do. This also avoids some unnecessary allocations of progress AVBuffers, namely for H.264 and HEVC film grain frames: These frames are not used for synchronization and therefore don't need a ThreadFrame. Also move the ThreadFrame structure as well as ff_thread_ref_frame() to threadframe.h, the header for frame-threaded decoders with inter-frame dependencies. Reviewed-by: Anton Khirnov <anton@khirnov.net> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/av1dec: support setup shear processFei Wang2021-10-161-0/+1
| | | | | | Defined in spec 7.11.3.6/7.11.3.7. Signed-off-by: Fei Wang <fei.w.wang@intel.com>
* avcodec/av1dec: add an option to select an operating pointJames Almer2021-01-041-0/+4
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/av1dec: infer and store film grain param values in AV1FrameJames Almer2020-11-301-0/+2
| | | | | | | | | They are not always coded in the bistream for each frame. In some cases, the values need to be taken from a reference frame. See section 6.8.20 from the AV1 spec. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/av1dec: remove order_hint from AV1FrameJames Almer2020-11-131-1/+0
| | | | | | We now have access to the raw frame header, so use that Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/av1dec: add a reference to the raw frame header to AV1FramesJames Almer2020-11-131-0/+3
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/av1dec: expose coded_losslessTimo Rothenpieler2020-11-111-0/+2
| | | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org> Co-authored-by: James Almer <jamrial@gmail.com>
* avcodec/av1dec: expose skip mode frame indexTimo Rothenpieler2020-11-111-0/+3
| | | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org> Co-authored-by: James Almer <jamrial@gmail.com>
* avcodec/av1dec: don't derive loop filter delta parametersJames Almer2020-10-281-3/+0
| | | | | | This is now handled by CBS. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/av1dec: add cur_frame.spatial_id and temporal_id to AV1FrameJames Almer2020-10-161-0/+3
| | | | | | | Will be used by hwaccels, which have access to a frame's AV1RawFrameHeader but not its AV1RawOBUHeader. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec: add AV1 hardware accelerated decoderFei Wang2020-09-121-0/+75
This AV1 decoder is currently only used for hardware accelerated decoding. It can be extended into a native decoder in the future, so set its name to "av1" and temporarily give it the lowest priority in the codec list. Signed-off-by: Fei Wang <fei.w.wang@intel.com> Signed-off-by: James Almer <jamrial@gmail.com>