Files
FFmpeg/libavcodec/hevc
YoungSoo Lee df25524a6f lavc/hevcdec: decode the single-tile slices of a picture together
Streams that carry one independent slice per tile cannot take the row order
added in the previous commit, because every slice is decoded as it arrives
while the picture is only known to be complete once the last one has been
parsed.

Collect those slices instead and decode them together in row major order once
the picture is complete, which is at the start of the next picture or at the
end of the packet. A slice that cannot be deferred, one starting inside a
tile or a dependent one, first flushes what was collected so that the
original order is preserved. A deferred slice remembers the frame it belongs
to and is dropped rather than decoded into a foreign one.

Deciding what to filter now asks first_nal_type rather than nal_unit_type,
since the deferred slices are decoded when the latter holds the type of the
last NAL unit of the packet. Without it, skip_loop_filter nokey leaves an IDR
picture that is followed by a suffix SEI unfiltered.

Signed-off-by: YoungSoo Lee <youngsoo.lee@navercorp.com>
2026-11-05 18:20:52 +09:00
..
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…