aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/rangecoder.h
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2024-06-21 12:03:40 +0200
committerAnton Khirnov <anton@khirnov.net>2024-08-19 21:37:22 +0200
commit4b9adb35b609b7acb591be0459cde07550fd4ebe (patch)
tree50e2825666db1c7fa62b8d04dff33929f18d4ad1 /libavcodec/rangecoder.h
parent79afc45c03abfb7f1d9dc2cc758ec162bfade1a0 (diff)
downloadffmpeg-4b9adb35b609b7acb591be0459cde07550fd4ebe.tar.gz
lavc/hevcdec: simplify output logic
Current code is written around the "simple" decode API's limitation that a single input packet (AU/coded frame) triggers the output of at most one output frame. However the spec contains two cases where a coded frame may cause multiple frames to be output (cf. C.5.2.2.2): * start of a new sequence * overflowing sps_max_dec_pic_buffering The decoder currently contains rather convoluted logic to handle these cases: * decode/output/per-frame sequence counters, * HEVC_FRAME_FLAG_BUMPING * ff_hevc_bump_frame() * special clauses in ff_hevc_output_frame() However, with the receive_frame() API none of that is necessary, as we can just output multiple frames at once. Previously added ContainerFifo allows that to be done in a straightforward and efficient manner.
Diffstat (limited to 'libavcodec/rangecoder.h')
0 files changed, 0 insertions, 0 deletions