tests/fate/hevc: cover the CTB row order traversal

The row order is off by default without frame threading, which is how FATE
runs, so the tests force it with the tile_interleave option.
TILES_A_Cisco_2 binds the tiles of a picture into a single slice with entry
points. TILES_B_Cisco_1 mixes layouts, with pictures that carry one slice
per tile and pictures that fall back to the tile scan order, so the two
ways into the traversal and the fallback are all covered. The expected
output is the one of the tile scan order, which the traversal does not
change.

tile_row_order_nokey.hevc carries one slice per tile and a suffix SEI after
every picture, so its slices are decoded once the SEI has been parsed. With
-skip_loop_filter nokey the filter decision has to follow the type of the
picture rather than the one of the SEI. The sample is attached to the pull
request, to be added to fate-suite as hevc/tile_row_order_nokey.hevc.

Signed-off-by: YoungSoo Lee <youngsoo.lee@navercorp.com>
This commit is contained in:
YoungSoo Lee committed 2026-11-05 18:20:52 +09:00
1 parent df25524a6f
commit db8537d8cc
4 files changed
+238

No files matched your search

+17
View File
@@ -351,6 +351,23 @@ FATE_HEVC-$(call FRAMECRC, MOV, HEVC) += fate-hevc-alpha
fate-hevc-color-reserved: CMD = framecrc -bsf:v hevc_metadata=colour_primaries=0:transfer_characteristics=0:matrix_coefficients=3 -i $(TARGET_SAMPLES)/hevc-conformance/AMP_A_Samsung_4.bit -vf scale,format=nv12 -frames:v 1
FATE_HEVC-$(call FRAMECRC, HEVC, HEVC, HEVC_METADATA_BSF SCALE_FILTER) += fate-hevc-color-reserved
# The tile_interleave option is forced here because FATE runs single threaded,
# where the default of -1 keeps the tile scan order. TILES_A_Cisco_2 exercises
# the entry-point path; TILES_B_Cisco_1 includes one-slice-per-tile pictures
# and mixed slice layouts, exercising deferred interleaving and fallback. The
# output is the same as in tile scan order.
fate-hevc-tile-row-order-entry-points: CMD = framecrc -tile_interleave 1 -i $(TARGET_SAMPLES)/hevc-conformance/TILES_A_Cisco_2.bit -pix_fmt yuv420p
FATE_HEVC-$(call FRAMECRC, HEVC, HEVC, HEVC_PARSER) += fate-hevc-tile-row-order-entry-points
fate-hevc-tile-row-order-slices: CMD = framecrc -tile_interleave 1 -i $(TARGET_SAMPLES)/hevc-conformance/TILES_B_Cisco_1.bit -pix_fmt yuv420p
FATE_HEVC-$(call FRAMECRC, HEVC, HEVC, HEVC_PARSER) += fate-hevc-tile-row-order-slices
# One slice per tile with a suffix SEI after every picture: the deferred slices
# are decoded once the SEI has been parsed, and nokey must still see the type
# of the picture.
fate-hevc-tile-row-order-nokey: CMD = framecrc -tile_interleave 1 -skip_loop_filter nokey -i $(TARGET_SAMPLES)/hevc/tile_row_order_nokey.hevc -pix_fmt yuv420p
FATE_HEVC-$(call FRAMECRC, HEVC, HEVC, HEVC_PARSER) += fate-hevc-tile-row-order-nokey
FATE_SAMPLES_AVCONV += $(FATE_HEVC-yes)
FATE_SAMPLES_FFPROBE += $(FATE_HEVC_FFPROBE-yes)
@@ -0,0 +1,105 @@
#tb 0: 1/25
#media_type 0: video
#codec_id 0: rawvideo
#dimensions 0: 1920x1080
#sar 0: 0/1
0, 0, 0, 1, 3110400, 0xfc052e85
0, 1, 1, 1, 3110400, 0xfb49bf20
0, 2, 2, 1, 3110400, 0x549eef2b
0, 3, 3, 1, 3110400, 0xc3857801
0, 4, 4, 1, 3110400, 0xb27d6aea
0, 5, 5, 1, 3110400, 0xa52e1d58
0, 6, 6, 1, 3110400, 0x02d348e6
0, 7, 7, 1, 3110400, 0x45a9c47c
0, 8, 8, 1, 3110400, 0xc308e886
0, 9, 9, 1, 3110400, 0x43cd6ed6
0, 10, 10, 1, 3110400, 0x29a054ce
0, 11, 11, 1, 3110400, 0x76fbd08e
0, 12, 12, 1, 3110400, 0x8638d5e2
0, 13, 13, 1, 3110400, 0xfb4b7823
0, 14, 14, 1, 3110400, 0x66185e15
0, 15, 15, 1, 3110400, 0x82eaea0a
0, 16, 16, 1, 3110400, 0x5895f1c6
0, 17, 17, 1, 3110400, 0x0a28a1c7
0, 18, 18, 1, 3110400, 0x37f2ecc8
0, 19, 19, 1, 3110400, 0x0ad8b6c1
0, 20, 20, 1, 3110400, 0x90300dcb
0, 21, 21, 1, 3110400, 0x9731112d
0, 22, 22, 1, 3110400, 0x5078ba88
0, 23, 23, 1, 3110400, 0xdcfbacae
0, 24, 24, 1, 3110400, 0x40769123
0, 25, 25, 1, 3110400, 0xa09f4d29
0, 26, 26, 1, 3110400, 0xa3749feb
0, 27, 27, 1, 3110400, 0xb04c36ae
0, 28, 28, 1, 3110400, 0x4d30c177
0, 29, 29, 1, 3110400, 0xe247070a
0, 30, 30, 1, 3110400, 0x84c669d5
0, 31, 31, 1, 3110400, 0x3e0529e6
0, 32, 32, 1, 3110400, 0xd0d58b7a
0, 33, 33, 1, 3110400, 0x05de0ffa
0, 34, 34, 1, 3110400, 0x7d10a27f
0, 35, 35, 1, 3110400, 0x87dd43fe
0, 36, 36, 1, 3110400, 0xc6f39e98
0, 37, 37, 1, 3110400, 0x9bf5a18b
0, 38, 38, 1, 3110400, 0x4880f4e6
0, 39, 39, 1, 3110400, 0xbba7a2fd
0, 40, 40, 1, 3110400, 0x82fe2a14
0, 41, 41, 1, 3110400, 0x7e701e1c
0, 42, 42, 1, 3110400, 0x23cdbc0c
0, 43, 43, 1, 3110400, 0xf15977e6
0, 44, 44, 1, 3110400, 0x50df6fe2
0, 45, 45, 1, 3110400, 0x8913ddde
0, 46, 46, 1, 3110400, 0x633c8c0e
0, 47, 47, 1, 3110400, 0xea604347
0, 48, 48, 1, 3110400, 0xa5049365
0, 49, 49, 1, 3110400, 0x35da77a8
0, 50, 50, 1, 3110400, 0xcfa4af57
0, 51, 51, 1, 3110400, 0x5a3bfe64
0, 52, 52, 1, 3110400, 0x91f9ee34
0, 53, 53, 1, 3110400, 0x21b0df73
0, 54, 54, 1, 3110400, 0x7807baf2
0, 55, 55, 1, 3110400, 0x96dbaf03
0, 56, 56, 1, 3110400, 0xb8d29f57
0, 57, 57, 1, 3110400, 0x1a04f732
0, 58, 58, 1, 3110400, 0x54a34b35
0, 59, 59, 1, 3110400, 0x4850a07a
0, 60, 60, 1, 3110400, 0x7010be29
0, 61, 61, 1, 3110400, 0x7178d2e7
0, 62, 62, 1, 3110400, 0x17483898
0, 63, 63, 1, 3110400, 0x4c55872a
0, 64, 64, 1, 3110400, 0xe67b0f06
0, 65, 65, 1, 3110400, 0x958789cf
0, 66, 66, 1, 3110400, 0x5cd6ba06
0, 67, 67, 1, 3110400, 0xb7852fe2
0, 68, 68, 1, 3110400, 0x8b67bd9f
0, 69, 69, 1, 3110400, 0x9555c0ff
0, 70, 70, 1, 3110400, 0x6b99aab7
0, 71, 71, 1, 3110400, 0xcab904b7
0, 72, 72, 1, 3110400, 0xeb915c25
0, 73, 73, 1, 3110400, 0xd3066bd8
0, 74, 74, 1, 3110400, 0xa2d45cb5
0, 75, 75, 1, 3110400, 0x011db978
0, 76, 76, 1, 3110400, 0xf35b9f2c
0, 77, 77, 1, 3110400, 0x6afd3bde
0, 78, 78, 1, 3110400, 0xa1ad77b7
0, 79, 79, 1, 3110400, 0x8b4d3823
0, 80, 80, 1, 3110400, 0xd806be79
0, 81, 81, 1, 3110400, 0x29dcff87
0, 82, 82, 1, 3110400, 0x202fb0f7
0, 83, 83, 1, 3110400, 0xacfc7d1d
0, 84, 84, 1, 3110400, 0xf04bdcb8
0, 85, 85, 1, 3110400, 0x89cef288
0, 86, 86, 1, 3110400, 0x657315e2
0, 87, 87, 1, 3110400, 0x1615cb5f
0, 88, 88, 1, 3110400, 0xc6986395
0, 89, 89, 1, 3110400, 0x6b77258e
0, 90, 90, 1, 3110400, 0xcd9975ae
0, 91, 91, 1, 3110400, 0x5044fd0f
0, 92, 92, 1, 3110400, 0x20dd1132
0, 93, 93, 1, 3110400, 0xdb5a0b84
0, 94, 94, 1, 3110400, 0xf40d29ae
0, 95, 95, 1, 3110400, 0xe88bffed
0, 96, 96, 1, 3110400, 0x3e50146a
0, 97, 97, 1, 3110400, 0xaacd9bfa
0, 98, 98, 1, 3110400, 0x270b2c2a
0, 99, 99, 1, 3110400, 0xc727f760
+11
View File
@@ -0,0 +1,11 @@
#tb 0: 1/25
#media_type 0: video
#codec_id 0: rawvideo
#dimensions 0: 256x192
#sar 0: 1/1
0, 0, 0, 1, 73728, 0xf335c004
0, 1, 1, 1, 73728, 0x60c4cadb
0, 2, 2, 1, 73728, 0x0dd8f1fd
0, 3, 3, 1, 73728, 0x24721509
0, 4, 4, 1, 73728, 0xfa5f2f70
0, 5, 5, 1, 73728, 0x75965f13
+105
View File
@@ -0,0 +1,105 @@
#tb 0: 1/25
#media_type 0: video
#codec_id 0: rawvideo
#dimensions 0: 1920x1080
#sar 0: 0/1
0, 0, 0, 1, 3110400, 0x3471f473
0, 1, 1, 1, 3110400, 0xb371a3e8
0, 2, 2, 1, 3110400, 0x6d83c623
0, 3, 3, 1, 3110400, 0x62d68b96
0, 4, 4, 1, 3110400, 0xa8ed6ea9
0, 5, 5, 1, 3110400, 0xcabe52be
0, 6, 6, 1, 3110400, 0xbbb23578
0, 7, 7, 1, 3110400, 0xb1609c77
0, 8, 8, 1, 3110400, 0x61e7c2a7
0, 9, 9, 1, 3110400, 0x6d8b34ad
0, 10, 10, 1, 3110400, 0xde0dfa96
0, 11, 11, 1, 3110400, 0x48c2b0b0
0, 12, 12, 1, 3110400, 0x647b6f90
0, 13, 13, 1, 3110400, 0xd37f2dda
0, 14, 14, 1, 3110400, 0x1b0dd122
0, 15, 15, 1, 3110400, 0x0b050786
0, 16, 16, 1, 3110400, 0xcd9ce7e5
0, 17, 17, 1, 3110400, 0xb92a4ee4
0, 18, 18, 1, 3110400, 0x4fa4d97c
0, 19, 19, 1, 3110400, 0x109777eb
0, 20, 20, 1, 3110400, 0xc3d2236a
0, 21, 21, 1, 3110400, 0x1cd12d07
0, 22, 22, 1, 3110400, 0xdd1ef75d
0, 23, 23, 1, 3110400, 0xd00c0906
0, 24, 24, 1, 3110400, 0x8de79207
0, 25, 25, 1, 3110400, 0x18017e1e
0, 26, 26, 1, 3110400, 0x4329f68a
0, 27, 27, 1, 3110400, 0x6a402bae
0, 28, 28, 1, 3110400, 0x90eb1a20
0, 29, 29, 1, 3110400, 0xe3474876
0, 30, 30, 1, 3110400, 0xd652e216
0, 31, 31, 1, 3110400, 0xeb458ebb
0, 32, 32, 1, 3110400, 0xc5aff075
0, 33, 33, 1, 3110400, 0xcb4d72e7
0, 34, 34, 1, 3110400, 0x5504d9c5
0, 35, 35, 1, 3110400, 0xcd0147b4
0, 36, 36, 1, 3110400, 0xe2f0001e
0, 37, 37, 1, 3110400, 0xa2199fe5
0, 38, 38, 1, 3110400, 0x2f269683
0, 39, 39, 1, 3110400, 0x7cf11244
0, 40, 40, 1, 3110400, 0xf39cb39d
0, 41, 41, 1, 3110400, 0x0e195a06
0, 42, 42, 1, 3110400, 0x195e31e3
0, 43, 43, 1, 3110400, 0xc43cd272
0, 44, 44, 1, 3110400, 0x9dc1c4ea
0, 45, 45, 1, 3110400, 0x846cd55f
0, 46, 46, 1, 3110400, 0xe9468052
0, 47, 47, 1, 3110400, 0xc5bb38ff
0, 48, 48, 1, 3110400, 0xd1886697
0, 49, 49, 1, 3110400, 0x23f2012b
0, 50, 50, 1, 3110400, 0x669d63ff
0, 51, 51, 1, 3110400, 0xced83804
0, 52, 52, 1, 3110400, 0x005f5f3d
0, 53, 53, 1, 3110400, 0x772efc80
0, 54, 54, 1, 3110400, 0x94012838
0, 55, 55, 1, 3110400, 0x99770054
0, 56, 56, 1, 3110400, 0x8654c655
0, 57, 57, 1, 3110400, 0xed3d19f4
0, 58, 58, 1, 3110400, 0x8efc2172
0, 59, 59, 1, 3110400, 0x9aaf930d
0, 60, 60, 1, 3110400, 0xbe32f43e
0, 61, 61, 1, 3110400, 0x6008f53e
0, 62, 62, 1, 3110400, 0xb87897b9
0, 63, 63, 1, 3110400, 0xe2406eb1
0, 64, 64, 1, 3110400, 0xbdfa067b
0, 65, 65, 1, 3110400, 0x82a16dbd
0, 66, 66, 1, 3110400, 0x909aa5f0
0, 67, 67, 1, 3110400, 0xc63836b5
0, 68, 68, 1, 3110400, 0xaf7ad199
0, 69, 69, 1, 3110400, 0xfa010078
0, 70, 70, 1, 3110400, 0x00c0c24e
0, 71, 71, 1, 3110400, 0xbda7cc4e
0, 72, 72, 1, 3110400, 0xda97f9d5
0, 73, 73, 1, 3110400, 0xd359e94a
0, 74, 74, 1, 3110400, 0xcd48c131
0, 75, 75, 1, 3110400, 0xb52ca032
0, 76, 76, 1, 3110400, 0x55a69650
0, 77, 77, 1, 3110400, 0x7241c1a9
0, 78, 78, 1, 3110400, 0xf06c5744
0, 79, 79, 1, 3110400, 0xe1befd73
0, 80, 80, 1, 3110400, 0xe8ffea92
0, 81, 81, 1, 3110400, 0xd76e40b6
0, 82, 82, 1, 3110400, 0xbf5f5b4c
0, 83, 83, 1, 3110400, 0x0eb8d128
0, 84, 84, 1, 3110400, 0x453dd680
0, 85, 85, 1, 3110400, 0x7114fada
0, 86, 86, 1, 3110400, 0xa3b4e7a8
0, 87, 87, 1, 3110400, 0xbca356f0
0, 88, 88, 1, 3110400, 0x80a83fa3
0, 89, 89, 1, 3110400, 0x713a33d4
0, 90, 90, 1, 3110400, 0x4fda8aea
0, 91, 91, 1, 3110400, 0x31ed1a88
0, 92, 92, 1, 3110400, 0x736312a0
0, 93, 93, 1, 3110400, 0x60aff0c5
0, 94, 94, 1, 3110400, 0xee66bd76
0, 95, 95, 1, 3110400, 0xe8f9a352
0, 96, 96, 1, 3110400, 0xb51520de
0, 97, 97, 1, 3110400, 0xd0542466
0, 98, 98, 1, 3110400, 0x92c2f3e1
0, 99, 99, 1, 3110400, 0xbbe1839a