Files
FFmpeg/doc
YoungSoo Lee 406423ccf1 lavc/hevcdec: decode tiled pictures in CTB row order
Frame threading collapses on streams split into tile columns. Decoding
follows the tile scan, walking one column from top to bottom before moving on
to the next, so the lower CTB rows are published only once the last column is
done while the following frame is already waiting for them. Adding threads
does not help.

Walk the picture in row major order instead, finishing one CTB row across all
tile columns before moving on, which matches the order rows are published in
to the order they are awaited in. Every tile column keeps its own substream
state and the decoding operations are unchanged, so the output is bit-exact.

Decoding one CTB moves into decode_ctb(), which the serial path goes through
as well, so the two traversals share a single body.

This covers pictures whose tiles are bound together in a single slice by
entry points, where the substream positions come from the slice header. The
new path is selected by the tile_interleave option: the default of -1 takes
it only with frame threading, 0 disables it and 1 takes it without frame
threading too. Both require two or more tile columns and no entropy coding
synchronization.

Signed-off-by: YoungSoo Lee <youngsoo.lee@navercorp.com>
2026-11-05 18:20:52 +09:00
..
…
2023-03-01 21:59:10 +01:00
2026-03-20 22:01:43 +01:00
2026-01-18 03:33:04 +00:00
…
2026-05-22 08:20:13 -05:00
…
2024-03-18 17:59:19 +01:00
…
2026-07-13 18:57:37 +09:00
…
…
2026-09-12 23:52:20 +00:00
2025-08-03 13:48:47 +02:00
2021-06-18 18:58:25 +02:00