fate: add tests for h264 and vp9 video enc parameters export
authorAnton Khirnov <anton@khirnov.net>
Mon, 11 May 2020 15:06:11 +0000 (17:06 +0200)
committerAnton Khirnov <anton@khirnov.net>
Mon, 25 May 2020 09:59:45 +0000 (11:59 +0200)
libavformat/Makefile
tests/Makefile
tests/fate-run.sh
tests/fate/h264.mak
tests/fate/vpx.mak
tests/ref/fate/h264-encparams [new file with mode: 0644]
tests/ref/fate/vp9-encparams [new file with mode: 0644]
tools/venc_data_dump.c [new file with mode: 0644]

index 2b634ec..fa325d2 100644 (file)
@@ -669,3 +669,4 @@ TOOLS     = aviocat                                                     \
             probetest                                                   \
             seek_print                                                  \
             sidxindex                                                   \
+            venc_data_dump
index ab3c235..7844901 100644 (file)
@@ -221,6 +221,7 @@ $(FATE_FFMPEG) $(FATE_FFMPEG_FFPROBE) $(FATE_SAMPLES_AVCONV) $(FATE_SAMPLES_FFMP
 $(FATE_FFPROBE) $(FATE_FFMPEG_FFPROBE) $(FATE_SAMPLES_FFPROBE) $(FATE_SAMPLES_FFMPEG_FFPROBE): ffprobe$(PROGSSUF)$(EXESUF)
 
 $(FATE_SAMPLES_FASTSTART): tools/qt-faststart$(EXESUF)
+$(FATE_SAMPLES_DUMP_DATA): tools/venc_data_dump$(EXESUF)
 
 ifdef SAMPLES
 FATE += $(FATE_EXTERN)
index 7c6d753..002944b 100755 (executable)
@@ -487,6 +487,13 @@ concat(){
     fi
 }
 
+venc_data(){
+    file=$1
+    stream=$2
+    frames=$3
+    run tools/venc_data_dump${EXECSUF} ${file} ${stream} ${frames} ${threads} ${thread_type}
+}
+
 null(){
     :
 }
index f14b46c..13a596e 100644 (file)
@@ -196,7 +196,8 @@ FATE_H264  := $(FATE_H264:%=fate-h264-conformance-%)                    \
               fate-h264-3386                                            \
               fate-h264-missing-frame                                   \
               fate-h264-ref-pic-mod-overflow                            \
-              fate-h264-timecode
+              fate-h264-timecode                                        \
+              fate-h264-encparams
 
 FATE_H264-$(call DEMDEC, H264, H264) += $(FATE_H264)
 FATE_H264-$(call DEMDEC,  MOV, H264) += fate-h264-crop-to-container
@@ -446,3 +447,6 @@ fate-h264-timecode:                               CMD = framecrc -i $(TARGET_SAM
 fate-h264-reinit-%:                               CMD = framecrc -i $(TARGET_SAMPLES)/h264/$(@:fate-h264-%=%).h264 -vf format=yuv444p10le,scale=w=352:h=288
 
 fate-h264-dts_5frames:                            CMD = probeframes $(TARGET_SAMPLES)/h264/dts_5frames.mkv
+
+fate-h264-encparams: CMD = venc_data $(TARGET_SAMPLES)/h264-conformance/FRext/FRExt_MMCO4_Sony_B.264 0 1
+FATE_SAMPLES_DUMP_DATA += fate-h264-encparams
index c65959f..88ccc70 100644 (file)
@@ -163,5 +163,10 @@ FATE_VP9-$(CONFIG_IVF_DEMUXER) += fate-vp9-05-resize
 fate-vp9-05-resize: CMD = framemd5 -i $(TARGET_SAMPLES)/vp9-test-vectors/vp90-2-05-resize.ivf -s 352x288 -sws_flags bitexact+bilinear
 fate-vp9-05-resize: REF = $(SRC_PATH)/tests/ref/fate/vp9-05-resize
 
+fate-vp9-encparams: CMD = venc_data $(TARGET_SAMPLES)/vp9-test-vectors/vp90-2-segmentation-aq-akiyo.webm 0 5
+FATE_SAMPLES_DUMP_DATA += fate-vp9-encparams
+
+FATE_VP9-$(CONFIG_MATROSKA_DEMUXER) += fate-vp9-encparams
+
 FATE_SAMPLES_AVCONV-$(CONFIG_VP9_DECODER) += $(FATE_VP9-yes)
 fate-vp9: $(FATE_VP9-yes)
diff --git a/tests/ref/fate/h264-encparams b/tests/ref/fate/h264-encparams
new file mode 100644 (file)
index 0000000..8dd5e86
--- /dev/null
@@ -0,0 +1,404 @@
+frame 0
+AVVideoEncParams 1
+qp 28
+delta_qp[1][0] 3
+delta_qp[1][1] 3
+delta_qp[2][0] -2
+delta_qp[2][1] -2
+nb_blocks 396
+block 0 0:0 16x16 0
+block 1 16:0 16x16 0
+block 2 32:0 16x16 0
+block 3 48:0 16x16 0
+block 4 64:0 16x16 0
+block 5 80:0 16x16 0
+block 6 96:0 16x16 0
+block 7 112:0 16x16 0
+block 8 128:0 16x16 0
+block 9 144:0 16x16 0
+block 10 160:0 16x16 0
+block 11 176:0 16x16 0
+block 12 192:0 16x16 0
+block 13 208:0 16x16 0
+block 14 224:0 16x16 0
+block 15 240:0 16x16 0
+block 16 256:0 16x16 0
+block 17 272:0 16x16 0
+block 18 288:0 16x16 0
+block 19 304:0 16x16 0
+block 20 320:0 16x16 0
+block 21 336:0 16x16 0
+block 22 0:16 16x16 0
+block 23 16:16 16x16 0
+block 24 32:16 16x16 0
+block 25 48:16 16x16 0
+block 26 64:16 16x16 0
+block 27 80:16 16x16 0
+block 28 96:16 16x16 0
+block 29 112:16 16x16 0
+block 30 128:16 16x16 0
+block 31 144:16 16x16 0
+block 32 160:16 16x16 0
+block 33 176:16 16x16 0
+block 34 192:16 16x16 0
+block 35 208:16 16x16 0
+block 36 224:16 16x16 0
+block 37 240:16 16x16 0
+block 38 256:16 16x16 0
+block 39 272:16 16x16 0
+block 40 288:16 16x16 0
+block 41 304:16 16x16 0
+block 42 320:16 16x16 0
+block 43 336:16 16x16 0
+block 44 0:32 16x16 0
+block 45 16:32 16x16 0
+block 46 32:32 16x16 0
+block 47 48:32 16x16 0
+block 48 64:32 16x16 0
+block 49 80:32 16x16 0
+block 50 96:32 16x16 0
+block 51 112:32 16x16 0
+block 52 128:32 16x16 0
+block 53 144:32 16x16 0
+block 54 160:32 16x16 0
+block 55 176:32 16x16 0
+block 56 192:32 16x16 0
+block 57 208:32 16x16 0
+block 58 224:32 16x16 0
+block 59 240:32 16x16 0
+block 60 256:32 16x16 0
+block 61 272:32 16x16 0
+block 62 288:32 16x16 0
+block 63 304:32 16x16 0
+block 64 320:32 16x16 0
+block 65 336:32 16x16 0
+block 66 0:48 16x16 0
+block 67 16:48 16x16 0
+block 68 32:48 16x16 0
+block 69 48:48 16x16 0
+block 70 64:48 16x16 0
+block 71 80:48 16x16 0
+block 72 96:48 16x16 0
+block 73 112:48 16x16 0
+block 74 128:48 16x16 0
+block 75 144:48 16x16 0
+block 76 160:48 16x16 0
+block 77 176:48 16x16 0
+block 78 192:48 16x16 0
+block 79 208:48 16x16 0
+block 80 224:48 16x16 0
+block 81 240:48 16x16 0
+block 82 256:48 16x16 0
+block 83 272:48 16x16 0
+block 84 288:48 16x16 0
+block 85 304:48 16x16 0
+block 86 320:48 16x16 0
+block 87 336:48 16x16 0
+block 88 0:64 16x16 0
+block 89 16:64 16x16 0
+block 90 32:64 16x16 0
+block 91 48:64 16x16 0
+block 92 64:64 16x16 0
+block 93 80:64 16x16 0
+block 94 96:64 16x16 0
+block 95 112:64 16x16 0
+block 96 128:64 16x16 0
+block 97 144:64 16x16 0
+block 98 160:64 16x16 0
+block 99 176:64 16x16 0
+block 100 192:64 16x16 0
+block 101 208:64 16x16 0
+block 102 224:64 16x16 0
+block 103 240:64 16x16 0
+block 104 256:64 16x16 0
+block 105 272:64 16x16 0
+block 106 288:64 16x16 0
+block 107 304:64 16x16 0
+block 108 320:64 16x16 0
+block 109 336:64 16x16 0
+block 110 0:80 16x16 0
+block 111 16:80 16x16 0
+block 112 32:80 16x16 0
+block 113 48:80 16x16 0
+block 114 64:80 16x16 0
+block 115 80:80 16x16 0
+block 116 96:80 16x16 0
+block 117 112:80 16x16 0
+block 118 128:80 16x16 0
+block 119 144:80 16x16 0
+block 120 160:80 16x16 0
+block 121 176:80 16x16 0
+block 122 192:80 16x16 0
+block 123 208:80 16x16 0
+block 124 224:80 16x16 0
+block 125 240:80 16x16 0
+block 126 256:80 16x16 0
+block 127 272:80 16x16 0
+block 128 288:80 16x16 0
+block 129 304:80 16x16 0
+block 130 320:80 16x16 0
+block 131 336:80 16x16 0
+block 132 0:96 16x16 0
+block 133 16:96 16x16 0
+block 134 32:96 16x16 0
+block 135 48:96 16x16 0
+block 136 64:96 16x16 0
+block 137 80:96 16x16 0
+block 138 96:96 16x16 0
+block 139 112:96 16x16 0
+block 140 128:96 16x16 0
+block 141 144:96 16x16 0
+block 142 160:96 16x16 0
+block 143 176:96 16x16 0
+block 144 192:96 16x16 0
+block 145 208:96 16x16 0
+block 146 224:96 16x16 0
+block 147 240:96 16x16 0
+block 148 256:96 16x16 0
+block 149 272:96 16x16 0
+block 150 288:96 16x16 0
+block 151 304:96 16x16 0
+block 152 320:96 16x16 0
+block 153 336:96 16x16 0
+block 154 0:112 16x16 0
+block 155 16:112 16x16 0
+block 156 32:112 16x16 0
+block 157 48:112 16x16 0
+block 158 64:112 16x16 0
+block 159 80:112 16x16 0
+block 160 96:112 16x16 0
+block 161 112:112 16x16 0
+block 162 128:112 16x16 0
+block 163 144:112 16x16 0
+block 164 160:112 16x16 0
+block 165 176:112 16x16 0
+block 166 192:112 16x16 0
+block 167 208:112 16x16 0
+block 168 224:112 16x16 0
+block 169 240:112 16x16 0
+block 170 256:112 16x16 0
+block 171 272:112 16x16 0
+block 172 288:112 16x16 0
+block 173 304:112 16x16 0
+block 174 320:112 16x16 0
+block 175 336:112 16x16 0
+block 176 0:128 16x16 0
+block 177 16:128 16x16 0
+block 178 32:128 16x16 0
+block 179 48:128 16x16 0
+block 180 64:128 16x16 0
+block 181 80:128 16x16 0
+block 182 96:128 16x16 0
+block 183 112:128 16x16 0
+block 184 128:128 16x16 0
+block 185 144:128 16x16 0
+block 186 160:128 16x16 0
+block 187 176:128 16x16 0
+block 188 192:128 16x16 0
+block 189 208:128 16x16 0
+block 190 224:128 16x16 0
+block 191 240:128 16x16 0
+block 192 256:128 16x16 0
+block 193 272:128 16x16 0
+block 194 288:128 16x16 0
+block 195 304:128 16x16 0
+block 196 320:128 16x16 0
+block 197 336:128 16x16 0
+block 198 0:144 16x16 0
+block 199 16:144 16x16 0
+block 200 32:144 16x16 0
+block 201 48:144 16x16 0
+block 202 64:144 16x16 0
+block 203 80:144 16x16 0
+block 204 96:144 16x16 0
+block 205 112:144 16x16 0
+block 206 128:144 16x16 0
+block 207 144:144 16x16 0
+block 208 160:144 16x16 0
+block 209 176:144 16x16 0
+block 210 192:144 16x16 0
+block 211 208:144 16x16 0
+block 212 224:144 16x16 0
+block 213 240:144 16x16 0
+block 214 256:144 16x16 0
+block 215 272:144 16x16 0
+block 216 288:144 16x16 0
+block 217 304:144 16x16 0
+block 218 320:144 16x16 0
+block 219 336:144 16x16 0
+block 220 0:160 16x16 0
+block 221 16:160 16x16 0
+block 222 32:160 16x16 0
+block 223 48:160 16x16 0
+block 224 64:160 16x16 0
+block 225 80:160 16x16 0
+block 226 96:160 16x16 0
+block 227 112:160 16x16 0
+block 228 128:160 16x16 0
+block 229 144:160 16x16 0
+block 230 160:160 16x16 0
+block 231 176:160 16x16 0
+block 232 192:160 16x16 0
+block 233 208:160 16x16 0
+block 234 224:160 16x16 0
+block 235 240:160 16x16 0
+block 236 256:160 16x16 0
+block 237 272:160 16x16 0
+block 238 288:160 16x16 0
+block 239 304:160 16x16 0
+block 240 320:160 16x16 0
+block 241 336:160 16x16 0
+block 242 0:176 16x16 0
+block 243 16:176 16x16 0
+block 244 32:176 16x16 0
+block 245 48:176 16x16 0
+block 246 64:176 16x16 0
+block 247 80:176 16x16 0
+block 248 96:176 16x16 0
+block 249 112:176 16x16 0
+block 250 128:176 16x16 0
+block 251 144:176 16x16 0
+block 252 160:176 16x16 0
+block 253 176:176 16x16 0
+block 254 192:176 16x16 0
+block 255 208:176 16x16 0
+block 256 224:176 16x16 0
+block 257 240:176 16x16 0
+block 258 256:176 16x16 0
+block 259 272:176 16x16 0
+block 260 288:176 16x16 0
+block 261 304:176 16x16 0
+block 262 320:176 16x16 0
+block 263 336:176 16x16 0
+block 264 0:192 16x16 0
+block 265 16:192 16x16 0
+block 266 32:192 16x16 0
+block 267 48:192 16x16 0
+block 268 64:192 16x16 0
+block 269 80:192 16x16 0
+block 270 96:192 16x16 0
+block 271 112:192 16x16 0
+block 272 128:192 16x16 0
+block 273 144:192 16x16 0
+block 274 160:192 16x16 0
+block 275 176:192 16x16 0
+block 276 192:192 16x16 0
+block 277 208:192 16x16 0
+block 278 224:192 16x16 0
+block 279 240:192 16x16 0
+block 280 256:192 16x16 0
+block 281 272:192 16x16 0
+block 282 288:192 16x16 0
+block 283 304:192 16x16 0
+block 284 320:192 16x16 0
+block 285 336:192 16x16 0
+block 286 0:208 16x16 0
+block 287 16:208 16x16 0
+block 288 32:208 16x16 0
+block 289 48:208 16x16 0
+block 290 64:208 16x16 0
+block 291 80:208 16x16 0
+block 292 96:208 16x16 0
+block 293 112:208 16x16 0
+block 294 128:208 16x16 0
+block 295 144:208 16x16 0
+block 296 160:208 16x16 0
+block 297 176:208 16x16 0
+block 298 192:208 16x16 0
+block 299 208:208 16x16 0
+block 300 224:208 16x16 0
+block 301 240:208 16x16 0
+block 302 256:208 16x16 0
+block 303 272:208 16x16 0
+block 304 288:208 16x16 0
+block 305 304:208 16x16 0
+block 306 320:208 16x16 0
+block 307 336:208 16x16 0
+block 308 0:224 16x16 0
+block 309 16:224 16x16 0
+block 310 32:224 16x16 0
+block 311 48:224 16x16 0
+block 312 64:224 16x16 0
+block 313 80:224 16x16 0
+block 314 96:224 16x16 0
+block 315 112:224 16x16 0
+block 316 128:224 16x16 0
+block 317 144:224 16x16 0
+block 318 160:224 16x16 0
+block 319 176:224 16x16 0
+block 320 192:224 16x16 0
+block 321 208:224 16x16 0
+block 322 224:224 16x16 0
+block 323 240:224 16x16 0
+block 324 256:224 16x16 0
+block 325 272:224 16x16 0
+block 326 288:224 16x16 0
+block 327 304:224 16x16 0
+block 328 320:224 16x16 0
+block 329 336:224 16x16 0
+block 330 0:240 16x16 0
+block 331 16:240 16x16 0
+block 332 32:240 16x16 0
+block 333 48:240 16x16 0
+block 334 64:240 16x16 0
+block 335 80:240 16x16 0
+block 336 96:240 16x16 0
+block 337 112:240 16x16 0
+block 338 128:240 16x16 0
+block 339 144:240 16x16 0
+block 340 160:240 16x16 0
+block 341 176:240 16x16 0
+block 342 192:240 16x16 0
+block 343 208:240 16x16 0
+block 344 224:240 16x16 0
+block 345 240:240 16x16 0
+block 346 256:240 16x16 0
+block 347 272:240 16x16 0
+block 348 288:240 16x16 0
+block 349 304:240 16x16 0
+block 350 320:240 16x16 0
+block 351 336:240 16x16 0
+block 352 0:256 16x16 0
+block 353 16:256 16x16 0
+block 354 32:256 16x16 0
+block 355 48:256 16x16 0
+block 356 64:256 16x16 0
+block 357 80:256 16x16 0
+block 358 96:256 16x16 0
+block 359 112:256 16x16 0
+block 360 128:256 16x16 0
+block 361 144:256 16x16 0
+block 362 160:256 16x16 0
+block 363 176:256 16x16 0
+block 364 192:256 16x16 0
+block 365 208:256 16x16 0
+block 366 224:256 16x16 0
+block 367 240:256 16x16 0
+block 368 256:256 16x16 0
+block 369 272:256 16x16 0
+block 370 288:256 16x16 0
+block 371 304:256 16x16 0
+block 372 320:256 16x16 0
+block 373 336:256 16x16 0
+block 374 0:272 16x16 0
+block 375 16:272 16x16 0
+block 376 32:272 16x16 0
+block 377 48:272 16x16 0
+block 378 64:272 16x16 0
+block 379 80:272 16x16 0
+block 380 96:272 16x16 0
+block 381 112:272 16x16 0
+block 382 128:272 16x16 0
+block 383 144:272 16x16 0
+block 384 160:272 16x16 0
+block 385 176:272 16x16 0
+block 386 192:272 16x16 0
+block 387 208:272 16x16 0
+block 388 224:272 16x16 0
+block 389 240:272 16x16 0
+block 390 256:272 16x16 0
+block 391 272:272 16x16 0
+block 392 288:272 16x16 0
+block 393 304:272 16x16 0
+block 394 320:272 16x16 0
+block 395 336:272 16x16 0
diff --git a/tests/ref/fate/vp9-encparams b/tests/ref/fate/vp9-encparams
new file mode 100644 (file)
index 0000000..917162b
--- /dev/null
@@ -0,0 +1,937 @@
+frame 0
+AVVideoEncParams 0
+qp 65
+nb_blocks 731
+block 0 0:0 64x64 33
+block 1 64:0 16x16 -12
+block 2 80:0 16x16 -12
+block 3 64:16 16x8 0
+block 4 64:24 16x8 0
+block 5 80:16 8x16 0
+block 6 88:16 8x16 0
+block 7 96:0 32x16 -23
+block 8 96:16 32x16 0
+block 9 64:32 16x32 0
+block 10 80:32 16x32 0
+block 11 96:32 16x32 16
+block 12 112:32 16x32 -32
+block 13 128:0 32x16 -32
+block 14 128:16 32x16 -32
+block 15 160:0 32x16 -23
+block 16 160:16 32x16 -32
+block 17 128:32 16x16 -32
+block 18 144:32 16x8 16
+block 19 144:40 16x8 16
+block 20 128:48 8x8 -12
+block 21 136:48 8x8 -12
+block 22 128:56 8x8 -12
+block 23 136:56 8x8 -12
+block 24 144:48 16x16 16
+block 25 160:32 8x8 33
+block 26 168:32 8x8 33
+block 27 160:40 8x8 33
+block 28 168:40 8x8 33
+block 29 176:32 8x8 33
+block 30 184:32 8x8 33
+block 31 176:40 8x8 33
+block 32 184:40 8x8 33
+block 33 160:48 8x16 0
+block 34 168:48 8x16 0
+block 35 176:48 16x8 0
+block 36 176:56 16x8 0
+block 37 192:0 8x16 -23
+block 38 200:0 8x16 -23
+block 39 208:0 16x8 -23
+block 40 208:8 16x8 -23
+block 41 192:16 16x16 0
+block 42 208:16 16x16 16
+block 43 224:0 16x32 16
+block 44 240:0 16x32 16
+block 45 192:32 8x8 33
+block 46 200:32 8x8 33
+block 47 192:40 8x8 33
+block 48 200:40 8x8 33
+block 49 208:32 16x16 -12
+block 50 192:48 8x8 33
+block 51 200:48 8x8 33
+block 52 192:56 8x8 33
+block 53 200:56 8x8 33
+block 54 208:48 8x8 16
+block 55 216:48 8x8 16
+block 56 208:56 8x8 16
+block 57 216:56 8x8 16
+block 58 224:32 16x16 -32
+block 59 240:32 16x16 -23
+block 60 224:48 16x16 16
+block 61 240:48 16x16 16
+block 62 256:0 16x16 -12
+block 63 272:0 16x16 -23
+block 64 256:16 16x16 16
+block 65 272:16 16x16 16
+block 66 288:0 32x16 -23
+block 67 288:16 32x16 0
+block 68 256:32 16x16 -23
+block 69 272:32 16x16 -32
+block 70 256:48 16x16 16
+block 71 272:48 16x16 33
+block 72 288:32 32x32 16
+block 73 320:0 8x8 -23
+block 74 328:0 8x8 -23
+block 75 320:8 8x8 -23
+block 76 328:8 8x8 -23
+block 77 336:0 8x8 -12
+block 78 344:0 8x8 -12
+block 79 336:8 8x8 -12
+block 80 344:8 8x8 -12
+block 81 320:16 8x8 -12
+block 82 328:16 8x8 -12
+block 83 320:24 8x8 -12
+block 84 328:24 8x8 -12
+block 85 336:16 16x16 -12
+block 86 320:32 8x8 0
+block 87 328:32 8x8 0
+block 88 320:40 8x8 0
+block 89 328:40 8x8 0
+block 90 336:32 16x16 -12
+block 91 320:48 16x16 16
+block 92 336:48 16x16 -12
+block 93 0:64 16x32 -23
+block 94 16:64 16x32 -23
+block 95 32:64 8x8 0
+block 96 40:64 8x8 0
+block 97 32:72 8x8 0
+block 98 40:72 8x8 0
+block 99 48:64 8x8 16
+block 100 56:64 8x8 16
+block 101 48:72 8x8 16
+block 102 56:72 8x8 16
+block 103 32:80 16x16 -32
+block 104 48:80 16x16 -32
+block 105 0:96 16x16 -32
+block 106 16:96 16x16 -32
+block 107 0:112 16x16 -32
+block 108 16:112 16x16 -32
+block 109 32:96 16x16 -12
+block 110 48:96 16x16 -12
+block 111 32:112 16x16 -12
+block 112 48:112 16x16 -32
+block 113 64:64 16x16 16
+block 114 80:64 8x8 0
+block 115 88:64 8x8 0
+block 116 80:72 8x8 0
+block 117 88:72 8x8 0
+block 118 64:80 16x16 -32
+block 119 80:80 16x16 -32
+block 120 96:64 16x16 16
+block 121 112:64 16x16 -32
+block 122 96:80 16x16 16
+block 123 112:80 16x16 -32
+block 124 64:96 16x16 -12
+block 125 80:96 8x16 -12
+block 126 88:96 8x16 -12
+block 127 64:112 16x16 -12
+block 128 80:112 16x16 0
+block 129 96:96 16x32 16
+block 130 112:96 16x32 -32
+block 131 128:64 8x8 0
+block 132 136:64 8x8 0
+block 133 128:72 8x8 0
+block 134 136:72 8x8 0
+block 135 144:64 16x16 0
+block 136 128:80 16x16 -12
+block 137 144:80 16x16 33
+block 138 160:64 16x16 33
+block 139 176:64 8x8 33
+block 140 184:64 8x8 33
+block 141 176:72 8x8 33
+block 142 184:72 8x8 33
+block 143 160:80 8x8 33
+block 144 168:80 8x8 33
+block 145 160:88 8x8 33
+block 146 168:88 8x8 33
+block 147 176:80 8x8 0
+block 148 184:80 8x8 0
+block 149 176:88 8x8 0
+block 150 184:88 8x8 0
+block 151 128:96 16x32 33
+block 152 144:96 16x32 33
+block 153 160:96 8x8 33
+block 154 168:96 8x8 33
+block 155 160:104 8x8 33
+block 156 168:104 8x8 33
+block 157 176:96 16x16 33
+block 158 160:112 8x8 16
+block 159 168:112 8x8 16
+block 160 160:120 8x8 16
+block 161 168:120 8x8 16
+block 162 176:112 8x8 33
+block 163 184:112 8x8 33
+block 164 176:120 8x8 33
+block 165 184:120 8x8 33
+block 166 192:64 8x8 33
+block 167 200:64 8x8 33
+block 168 192:72 8x8 33
+block 169 200:72 8x8 33
+block 170 208:64 8x8 33
+block 171 216:64 8x8 33
+block 172 208:72 8x8 33
+block 173 216:72 8x8 33
+block 174 192:80 8x8 33
+block 175 200:80 8x8 33
+block 176 192:88 8x8 33
+block 177 200:88 8x8 33
+block 178 208:80 8x16 33
+block 179 216:80 8x16 33
+block 180 224:64 16x16 0
+block 181 240:64 16x16 0
+block 182 224:80 8x8 -12
+block 183 232:80 8x8 -12
+block 184 224:88 8x8 -12
+block 185 232:88 8x8 -12
+block 186 240:80 8x16 -12
+block 187 248:80 8x16 -12
+block 188 192:96 8x8 33
+block 189 200:96 8x8 33
+block 190 192:104 8x8 33
+block 191 200:104 8x8 33
+block 192 208:96 16x16 33
+block 193 192:112 8x8 33
+block 194 200:112 8x8 33
+block 195 192:120 8x8 33
+block 196 200:120 8x8 33
+block 197 208:112 8x8 33
+block 198 216:112 8x8 33
+block 199 208:120 8x8 33
+block 200 216:120 8x8 33
+block 201 224:96 8x8 16
+block 202 232:96 8x8 16
+block 203 224:104 8x8 16
+block 204 232:104 8x8 16
+block 205 240:96 16x16 -32
+block 206 224:112 8x8 33
+block 207 232:112 8x8 33
+block 208 224:120 8x8 33
+block 209 232:120 8x8 33
+block 210 240:112 16x16 -32
+block 211 256:64 16x16 0
+block 212 272:64 16x16 16
+block 213 256:80 16x8 0
+block 214 256:88 16x8 0
+block 215 272:80 16x8 0
+block 216 272:88 16x8 0
+block 217 288:64 8x8 16
+block 218 296:64 8x8 16
+block 219 288:72 8x8 16
+block 220 296:72 8x8 16
+block 221 304:64 16x16 0
+block 222 288:80 16x8 -12
+block 223 288:88 16x8 -12
+block 224 304:80 8x8 -12
+block 225 312:80 8x8 -12
+block 226 304:88 8x8 -12
+block 227 312:88 8x8 -12
+block 228 256:96 16x16 -32
+block 229 272:96 16x16 -32
+block 230 256:112 16x16 -32
+block 231 272:112 16x16 -32
+block 232 288:96 16x16 -32
+block 233 304:96 16x16 -12
+block 234 288:112 16x16 -32
+block 235 304:112 16x16 0
+block 236 320:64 8x16 -12
+block 237 328:64 8x16 -12
+block 238 336:64 16x16 -12
+block 239 320:80 16x8 0
+block 240 320:88 16x8 0
+block 241 336:80 16x16 -12
+block 242 320:96 8x16 0
+block 243 328:96 8x16 0
+block 244 336:96 16x16 -12
+block 245 320:112 16x16 0
+block 246 336:112 16x16 -12
+block 247 0:128 16x16 16
+block 248 16:128 16x16 16
+block 249 0:144 16x16 -12
+block 250 16:144 16x16 -12
+block 251 32:128 8x8 16
+block 252 40:128 8x8 16
+block 253 32:136 8x8 16
+block 254 40:136 8x8 16
+block 255 48:128 16x16 16
+block 256 32:144 16x16 -23
+block 257 48:144 16x16 -23
+block 258 0:160 16x16 -12
+block 259 16:160 16x16 -12
+block 260 0:176 16x16 -32
+block 261 16:176 8x8 -32
+block 262 24:176 8x8 -32
+block 263 16:184 8x8 -32
+block 264 24:184 8x8 -32
+block 265 32:160 32x32 -12
+block 266 64:128 16x16 16
+block 267 80:128 16x16 16
+block 268 64:144 16x16 -23
+block 269 80:144 16x16 -12
+block 270 96:128 8x8 0
+block 271 104:128 8x8 0
+block 272 96:136 8x8 0
+block 273 104:136 8x8 0
+block 274 112:128 16x16 -32
+block 275 96:144 8x8 -12
+block 276 104:144 8x8 -12
+block 277 96:152 8x8 -12
+block 278 104:152 8x8 -12
+block 279 112:144 16x16 -32
+block 280 64:160 16x16 0
+block 281 80:160 16x16 0
+block 282 64:176 16x16 -32
+block 283 80:176 16x8 -12
+block 284 80:184 16x8 -12
+block 285 96:160 16x16 -12
+block 286 112:160 16x16 -32
+block 287 96:176 16x8 44
+block 288 96:184 16x8 44
+block 289 112:176 8x8 44
+block 290 120:176 8x8 44
+block 291 112:184 8x8 44
+block 292 120:184 8x8 44
+block 293 128:128 8x8 44
+block 294 136:128 8x8 44
+block 295 128:136 8x8 44
+block 296 136:136 8x8 44
+block 297 144:128 8x8 0
+block 298 152:128 8x8 0
+block 299 144:136 8x8 0
+block 300 152:136 8x8 0
+block 301 128:144 8x8 16
+block 302 136:144 8x8 16
+block 303 128:152 8x8 16
+block 304 136:152 8x8 16
+block 305 144:144 8x8 44
+block 306 152:144 8x8 44
+block 307 144:152 8x8 44
+block 308 152:152 8x8 44
+block 309 160:128 16x16 0
+block 310 176:128 8x8 16
+block 311 184:128 8x8 16
+block 312 176:136 8x8 16
+block 313 184:136 8x8 16
+block 314 160:144 8x8 33
+block 315 168:144 8x8 33
+block 316 160:152 8x8 33
+block 317 168:152 8x8 33
+block 318 176:144 8x8 33
+block 319 184:144 8x8 33
+block 320 176:152 8x8 33
+block 321 184:152 8x8 33
+block 322 128:160 8x8 16
+block 323 136:160 8x8 16
+block 324 128:168 8x8 16
+block 325 136:168 8x8 16
+block 326 144:160 8x8 44
+block 327 152:160 8x8 44
+block 328 144:168 8x8 44
+block 329 152:168 8x8 44
+block 330 128:176 16x8 33
+block 331 128:184 16x8 33
+block 332 144:176 8x8 16
+block 333 152:176 8x8 16
+block 334 144:184 8x8 16
+block 335 152:184 8x8 16
+block 336 160:160 8x8 16
+block 337 168:160 8x8 16
+block 338 160:168 8x8 16
+block 339 168:168 8x8 16
+block 340 176:160 8x8 16
+block 341 184:160 8x8 16
+block 342 176:168 8x8 16
+block 343 184:168 8x8 16
+block 344 160:176 8x8 33
+block 345 168:176 8x8 33
+block 346 160:184 8x8 33
+block 347 168:184 8x8 33
+block 348 176:176 8x16 33
+block 349 184:176 8x16 33
+block 350 192:128 16x16 0
+block 351 208:128 8x16 44
+block 352 216:128 8x16 44
+block 353 192:144 16x16 0
+block 354 208:144 8x8 33
+block 355 216:144 8x8 33
+block 356 208:152 8x8 33
+block 357 216:152 8x8 33
+block 358 224:128 8x8 33
+block 359 232:128 8x8 33
+block 360 224:136 8x8 33
+block 361 232:136 8x8 33
+block 362 240:128 16x16 16
+block 363 224:144 16x8 0
+block 364 224:152 16x8 0
+block 365 240:144 16x16 -12
+block 366 192:160 16x16 16
+block 367 208:160 8x8 44
+block 368 216:160 8x8 44
+block 369 208:168 8x8 44
+block 370 216:168 8x8 44
+block 371 192:176 8x8 33
+block 372 200:176 8x8 33
+block 373 192:184 8x8 33
+block 374 200:184 8x8 33
+block 375 208:176 8x8 33
+block 376 216:176 8x8 33
+block 377 208:184 8x8 33
+block 378 216:184 8x8 33
+block 379 224:160 8x8 0
+block 380 232:160 8x8 0
+block 381 224:168 8x8 0
+block 382 232:168 8x8 0
+block 383 240:160 16x16 0
+block 384 224:176 8x8 44
+block 385 232:176 8x8 44
+block 386 224:184 8x8 44
+block 387 232:184 8x8 44
+block 388 240:176 16x8 44
+block 389 240:184 16x8 44
+block 390 256:128 16x16 16
+block 391 272:128 16x16 16
+block 392 256:144 16x16 -12
+block 393 272:144 16x16 -12
+block 394 288:128 16x8 16
+block 395 288:136 16x8 16
+block 396 304:128 16x16 16
+block 397 288:144 16x16 -12
+block 398 304:144 16x16 -12
+block 399 256:160 16x16 -23
+block 400 272:160 16x16 -23
+block 401 256:176 8x8 44
+block 402 264:176 8x8 44
+block 403 256:184 8x8 44
+block 404 264:184 8x8 44
+block 405 272:176 16x8 33
+block 406 272:184 16x8 33
+block 407 288:160 32x16 -23
+block 408 288:176 32x16 -32
+block 409 320:128 8x8 -12
+block 410 328:128 8x8 -12
+block 411 320:136 8x8 -12
+block 412 328:136 8x8 -12
+block 413 336:128 8x16 -12
+block 414 344:128 8x16 -12
+block 415 320:144 16x16 -23
+block 416 336:144 16x16 -12
+block 417 320:160 16x16 -23
+block 418 336:160 16x16 0
+block 419 320:176 16x16 -32
+block 420 336:176 16x16 0
+block 421 0:192 16x16 -32
+block 422 16:192 8x8 -32
+block 423 24:192 8x8 -32
+block 424 16:200 8x8 -32
+block 425 24:200 8x8 -32
+block 426 0:208 16x16 0
+block 427 16:208 16x16 0
+block 428 32:192 32x32 -32
+block 429 0:224 16x16 0
+block 430 16:224 16x16 0
+block 431 0:240 16x16 0
+block 432 16:240 16x16 0
+block 433 32:224 32x16 0
+block 434 32:240 32x16 33
+block 435 64:192 8x8 44
+block 436 72:192 8x8 44
+block 437 64:200 8x8 44
+block 438 72:200 8x8 44
+block 439 80:192 8x8 44
+block 440 88:192 8x8 44
+block 441 80:200 8x8 44
+block 442 88:200 8x8 44
+block 443 64:208 8x8 44
+block 444 72:208 8x8 44
+block 445 64:216 8x8 44
+block 446 72:216 8x8 44
+block 447 80:208 8x8 -12
+block 448 88:208 8x8 -12
+block 449 80:216 8x8 -12
+block 450 88:216 8x8 -12
+block 451 96:192 8x8 -23
+block 452 104:192 8x8 -23
+block 453 96:200 8x8 -23
+block 454 104:200 8x8 -23
+block 455 112:192 16x16 -23
+block 456 96:208 16x16 -23
+block 457 112:208 16x16 0
+block 458 64:224 32x16 16
+block 459 64:240 32x16 0
+block 460 96:224 16x16 -12
+block 461 112:224 8x16 0
+block 462 120:224 8x16 0
+block 463 96:240 16x16 -12
+block 464 112:240 8x8 0
+block 465 120:240 8x8 0
+block 466 112:248 8x8 0
+block 467 120:248 8x8 0
+block 468 128:192 8x8 0
+block 469 136:192 8x8 0
+block 470 128:200 8x8 0
+block 471 136:200 8x8 0
+block 472 144:192 8x16 0
+block 473 152:192 8x16 0
+block 474 128:208 8x8 -23
+block 475 136:208 8x8 -23
+block 476 128:216 8x8 -23
+block 477 136:216 8x8 -23
+block 478 144:208 8x16 0
+block 479 152:208 8x16 0
+block 480 160:192 8x8 44
+block 481 168:192 8x8 44
+block 482 160:200 8x8 44
+block 483 168:200 8x8 44
+block 484 176:192 8x8 0
+block 485 184:192 8x8 0
+block 486 176:200 8x8 0
+block 487 184:200 8x8 0
+block 488 160:208 8x8 33
+block 489 168:208 8x8 33
+block 490 160:216 8x8 33
+block 491 168:216 8x8 33
+block 492 176:208 8x8 44
+block 493 184:208 8x8 44
+block 494 176:216 8x8 44
+block 495 184:216 8x8 44
+block 496 128:224 16x16 -32
+block 497 144:224 16x16 -12
+block 498 128:240 8x16 -12
+block 499 136:240 8x16 -12
+block 500 144:240 16x16 -23
+block 501 160:224 8x8 33
+block 502 168:224 8x8 33
+block 503 160:232 8x8 33
+block 504 168:232 8x8 33
+block 505 176:224 8x8 33
+block 506 184:224 8x8 33
+block 507 176:232 8x8 33
+block 508 184:232 8x8 33
+block 509 160:240 8x8 33
+block 510 168:240 8x8 33
+block 511 160:248 8x8 33
+block 512 168:248 8x8 33
+block 513 176:240 8x8 33
+block 514 184:240 8x8 33
+block 515 176:248 8x8 33
+block 516 184:248 8x8 33
+block 517 192:192 16x8 33
+block 518 192:200 16x8 33
+block 519 208:192 8x16 16
+block 520 216:192 8x16 16
+block 521 192:208 16x16 16
+block 522 208:208 8x8 0
+block 523 216:208 8x8 0
+block 524 208:216 8x8 0
+block 525 216:216 8x8 0
+block 526 224:192 8x8 -12
+block 527 232:192 8x8 -12
+block 528 224:200 8x8 -12
+block 529 232:200 8x8 -12
+block 530 240:192 8x16 0
+block 531 248:192 8x16 0
+block 532 224:208 16x16 -23
+block 533 240:208 16x8 16
+block 534 240:216 16x8 16
+block 535 192:224 16x16 33
+block 536 208:224 8x8 0
+block 537 216:224 8x8 0
+block 538 208:232 8x8 0
+block 539 216:232 8x8 0
+block 540 192:240 8x8 33
+block 541 200:240 8x8 33
+block 542 192:248 8x8 33
+block 543 200:248 8x8 33
+block 544 208:240 8x8 0
+block 545 216:240 8x8 0
+block 546 208:248 8x8 0
+block 547 216:248 8x8 0
+block 548 224:224 16x16 -23
+block 549 240:224 8x8 33
+block 550 248:224 8x8 33
+block 551 240:232 8x8 33
+block 552 248:232 8x8 33
+block 553 224:240 8x8 -23
+block 554 232:240 8x8 -23
+block 555 224:248 8x8 -23
+block 556 232:248 8x8 -23
+block 557 240:240 8x8 33
+block 558 248:240 8x8 33
+block 559 240:248 8x8 33
+block 560 248:248 8x8 33
+block 561 256:192 16x16 -23
+block 562 272:192 16x8 16
+block 563 272:200 16x8 16
+block 564 256:208 8x8 -23
+block 565 264:208 8x8 -23
+block 566 256:216 8x8 -23
+block 567 264:216 8x8 -23
+block 568 272:208 8x8 -32
+block 569 280:208 8x8 -32
+block 570 272:216 8x8 -32
+block 571 280:216 8x8 -32
+block 572 288:192 8x8 44
+block 573 296:192 8x8 44
+block 574 288:200 8x8 44
+block 575 296:200 8x8 44
+block 576 304:192 8x8 -32
+block 577 312:192 8x8 -32
+block 578 304:200 8x8 -32
+block 579 312:200 8x8 -32
+block 580 288:208 16x16 33
+block 581 304:208 8x16 -12
+block 582 312:208 8x16 -12
+block 583 256:224 16x16 -23
+block 584 272:224 16x16 -23
+block 585 256:240 8x8 -12
+block 586 264:240 8x8 -12
+block 587 256:248 8x8 -12
+block 588 264:248 8x8 -12
+block 589 272:240 8x8 0
+block 590 280:240 8x8 0
+block 591 272:248 8x8 0
+block 592 280:248 8x8 0
+block 593 288:224 16x16 33
+block 594 304:224 16x8 16
+block 595 304:232 16x8 16
+block 596 288:240 16x16 33
+block 597 304:240 8x8 44
+block 598 312:240 8x8 44
+block 599 304:248 8x8 44
+block 600 312:248 8x8 44
+block 601 320:192 8x8 -32
+block 602 328:192 8x8 -32
+block 603 320:200 8x8 -32
+block 604 328:200 8x8 -32
+block 605 336:192 8x16 0
+block 606 344:192 8x16 0
+block 607 320:208 8x8 -32
+block 608 328:208 8x8 -32
+block 609 320:216 8x8 -32
+block 610 328:216 8x8 -32
+block 611 336:208 8x16 0
+block 612 344:208 8x16 0
+block 613 320:224 16x16 -32
+block 614 336:224 16x16 0
+block 615 320:240 16x16 -32
+block 616 336:240 8x8 0
+block 617 344:240 8x8 0
+block 618 336:248 8x8 0
+block 619 344:248 8x8 0
+block 620 0:256 16x16 0
+block 621 16:256 16x16 -23
+block 622 0:272 16x16 -32
+block 623 16:272 16x16 -32
+block 624 32:256 16x16 -32
+block 625 48:256 8x8 44
+block 626 56:256 8x8 44
+block 627 48:264 8x8 44
+block 628 56:264 8x8 44
+block 629 32:272 16x16 -32
+block 630 48:272 8x8 44
+block 631 56:272 8x8 44
+block 632 48:280 8x8 44
+block 633 56:280 8x8 44
+block 634 64:256 8x8 0
+block 635 72:256 8x8 0
+block 636 64:264 8x8 0
+block 637 72:264 8x8 0
+block 638 80:256 8x8 0
+block 639 88:256 8x8 0
+block 640 80:264 8x8 0
+block 641 88:264 8x8 0
+block 642 64:272 8x8 -12
+block 643 72:272 8x8 -12
+block 644 64:280 8x8 -12
+block 645 72:280 8x8 -12
+block 646 80:272 16x16 0
+block 647 96:256 16x16 -23
+block 648 112:256 8x8 -12
+block 649 120:256 8x8 -12
+block 650 112:264 8x8 -12
+block 651 120:264 8x8 -12
+block 652 96:272 16x16 -12
+block 653 112:272 8x8 -23
+block 654 120:272 8x8 -23
+block 655 112:280 8x8 -23
+block 656 120:280 8x8 -23
+block 657 128:256 32x32 -32
+block 658 160:256 8x8 33
+block 659 168:256 8x8 33
+block 660 160:264 8x8 33
+block 661 168:264 8x8 33
+block 662 176:256 8x8 33
+block 663 184:256 8x8 33
+block 664 176:264 8x8 33
+block 665 184:264 8x8 33
+block 666 160:272 8x8 33
+block 667 168:272 8x8 33
+block 668 160:280 8x8 33
+block 669 168:280 8x8 33
+block 670 176:272 8x16 0
+block 671 184:272 8x16 0
+block 672 192:256 8x8 33
+block 673 200:256 8x8 33
+block 674 192:264 8x8 33
+block 675 200:264 8x8 33
+block 676 208:256 8x8 44
+block 677 216:256 8x8 44
+block 678 208:264 8x8 44
+block 679 216:264 8x8 44
+block 680 192:272 8x8 33
+block 681 200:272 8x8 33
+block 682 192:280 8x8 33
+block 683 200:280 8x8 33
+block 684 208:272 8x8 33
+block 685 216:272 8x8 33
+block 686 208:280 8x8 33
+block 687 216:280 8x8 33
+block 688 224:256 8x8 0
+block 689 232:256 8x8 0
+block 690 224:264 8x8 0
+block 691 232:264 8x8 0
+block 692 240:256 8x8 33
+block 693 248:256 8x8 33
+block 694 240:264 8x8 33
+block 695 248:264 8x8 33
+block 696 224:272 16x8 -32
+block 697 224:280 16x8 -32
+block 698 240:272 8x8 33
+block 699 248:272 8x8 33
+block 700 240:280 8x8 33
+block 701 248:280 8x8 33
+block 702 256:256 16x16 0
+block 703 272:256 8x8 33
+block 704 280:256 8x8 33
+block 705 272:264 8x8 33
+block 706 280:264 8x8 33
+block 707 256:272 8x8 33
+block 708 264:272 8x8 33
+block 709 256:280 8x8 33
+block 710 264:280 8x8 33
+block 711 272:272 8x8 33
+block 712 280:272 8x8 33
+block 713 272:280 8x8 33
+block 714 280:280 8x8 33
+block 715 288:256 16x16 33
+block 716 304:256 8x8 44
+block 717 312:256 8x8 44
+block 718 304:264 8x8 44
+block 719 312:264 8x8 44
+block 720 288:272 16x16 0
+block 721 304:272 8x16 44
+block 722 312:272 8x16 44
+block 723 320:256 16x8 -32
+block 724 320:264 16x8 -32
+block 725 336:256 8x8 0
+block 726 344:256 8x8 0
+block 727 336:264 8x8 0
+block 728 344:264 8x8 0
+block 729 320:272 16x16 -32
+block 730 336:272 16x16 0
+frame 1
+AVVideoEncParams 0
+qp 183
+nb_blocks 37
+block 0 0:0 64x64 21
+block 1 64:0 64x64 21
+block 2 128:0 64x64 11
+block 3 192:0 64x64 21
+block 4 256:0 64x64 21
+block 5 320:0 32x32 -10
+block 6 320:32 32x32 0
+block 7 0:64 64x64 0
+block 8 64:64 64x64 21
+block 9 128:64 64x64 32
+block 10 192:64 64x64 21
+block 11 256:64 64x64 11
+block 12 320:64 32x32 0
+block 13 320:96 32x32 0
+block 14 0:128 64x64 0
+block 15 64:128 64x64 21
+block 16 128:128 64x64 32
+block 17 192:128 64x64 32
+block 18 256:128 64x64 21
+block 19 320:128 32x32 -10
+block 20 320:160 32x32 -10
+block 21 0:192 64x64 11
+block 22 64:192 64x64 21
+block 23 128:192 64x64 21
+block 24 192:192 64x64 21
+block 25 256:192 64x64 32
+block 26 320:192 32x32 -10
+block 27 320:224 32x32 -10
+block 28 0:256 32x32 -10
+block 29 32:256 32x32 32
+block 30 64:256 32x32 0
+block 31 96:256 32x32 -10
+block 32 128:256 32x32 -32
+block 33 160:256 32x32 21
+block 34 192:256 64x32 21
+block 35 256:256 64x32 21
+block 36 320:256 32x32 -10
+frame 2
+AVVideoEncParams 0
+qp 188
+nb_blocks 40
+block 0 0:0 64x64 21
+block 1 64:0 64x64 21
+block 2 128:0 64x64 11
+block 3 192:0 64x64 21
+block 4 256:0 64x64 21
+block 5 320:0 32x32 -10
+block 6 320:32 32x32 0
+block 7 0:64 64x64 0
+block 8 64:64 64x64 21
+block 9 128:64 64x64 31
+block 10 192:64 64x64 21
+block 11 256:64 64x64 11
+block 12 320:64 32x32 0
+block 13 320:96 32x32 0
+block 14 0:128 64x64 0
+block 15 64:128 64x64 21
+block 16 128:128 32x64 31
+block 17 160:128 32x64 21
+block 18 192:128 64x64 31
+block 19 256:128 64x64 21
+block 20 320:128 32x32 -10
+block 21 320:160 32x32 -10
+block 22 0:192 64x64 11
+block 23 64:192 64x64 21
+block 24 128:192 64x64 21
+block 25 192:192 64x64 21
+block 26 256:192 64x64 31
+block 27 320:192 32x32 -10
+block 28 320:224 32x32 -10
+block 29 0:256 32x32 -10
+block 30 32:256 32x32 31
+block 31 64:256 32x32 0
+block 32 96:256 32x32 -10
+block 33 128:256 32x32 -32
+block 34 160:256 32x32 21
+block 35 192:256 32x32 31
+block 36 224:256 32x32 21
+block 37 256:256 32x32 21
+block 38 288:256 32x32 31
+block 39 320:256 32x32 -10
+frame 3
+AVVideoEncParams 0
+qp 192
+nb_blocks 39
+block 0 0:0 64x64 21
+block 1 64:0 64x64 21
+block 2 128:0 64x64 11
+block 3 192:0 64x64 21
+block 4 256:0 64x64 21
+block 5 320:0 32x32 -10
+block 6 320:32 32x32 0
+block 7 0:64 64x64 0
+block 8 64:64 64x64 21
+block 9 128:64 64x64 31
+block 10 192:64 64x64 21
+block 11 256:64 64x64 11
+block 12 320:64 32x32 0
+block 13 320:96 32x32 0
+block 14 0:128 64x64 0
+block 15 64:128 64x64 21
+block 16 128:128 64x64 31
+block 17 192:128 64x64 31
+block 18 256:128 64x64 21
+block 19 320:128 32x32 -10
+block 20 320:160 32x32 -10
+block 21 0:192 64x64 11
+block 22 64:192 64x64 21
+block 23 128:192 64x64 21
+block 24 192:192 64x64 21
+block 25 256:192 64x64 31
+block 26 320:192 32x32 -10
+block 27 320:224 32x32 -10
+block 28 0:256 32x32 -10
+block 29 32:256 32x32 31
+block 30 64:256 32x32 0
+block 31 96:256 32x32 -10
+block 32 128:256 32x32 -32
+block 33 160:256 32x32 21
+block 34 192:256 32x32 31
+block 35 224:256 32x32 21
+block 36 256:256 32x32 21
+block 37 288:256 32x32 31
+block 38 320:256 32x32 -10
+frame 4
+AVVideoEncParams 0
+qp 196
+nb_blocks 70
+block 0 0:0 64x64 21
+block 1 64:0 64x64 21
+block 2 128:0 64x64 11
+block 3 192:0 64x64 21
+block 4 256:0 64x64 21
+block 5 320:0 32x32 -10
+block 6 320:32 32x32 0
+block 7 0:64 64x64 0
+block 8 64:64 64x64 21
+block 9 128:64 32x32 11
+block 10 160:64 32x32 31
+block 11 128:96 16x16 21
+block 12 144:96 16x16 21
+block 13 128:112 16x16 31
+block 14 144:112 8x8 21
+block 15 152:112 8x8 21
+block 16 144:120 8x8 21
+block 17 152:120 8x8 21
+block 18 160:96 16x16 21
+block 19 176:96 8x8 21
+block 20 184:96 8x8 21
+block 21 176:104 8x8 21
+block 22 184:104 8x8 21
+block 23 160:112 16x16 11
+block 24 176:112 8x8 21
+block 25 184:112 8x8 21
+block 26 176:120 8x8 21
+block 27 184:120 8x8 21
+block 28 192:64 32x32 21
+block 29 224:64 32x32 0
+block 30 192:96 8x8 11
+block 31 200:96 8x8 11
+block 32 192:104 8x8 11
+block 33 200:104 8x8 11
+block 34 208:96 16x16 21
+block 35 192:112 8x8 21
+block 36 200:112 8x8 21
+block 37 192:120 8x8 21
+block 38 200:120 8x8 21
+block 39 208:112 16x16 21
+block 40 224:96 32x16 0
+block 41 224:112 32x16 21
+block 42 256:64 64x64 11
+block 43 320:64 32x32 0
+block 44 320:96 32x32 0
+block 45 0:128 64x64 0
+block 46 64:128 64x64 21
+block 47 128:128 64x64 31
+block 48 192:128 64x64 31
+block 49 256:128 64x64 21
+block 50 320:128 32x32 -10
+block 51 320:160 32x32 -10
+block 52 0:192 64x64 11
+block 53 64:192 64x64 21
+block 54 128:192 64x64 21
+block 55 192:192 64x64 21
+block 56 256:192 64x64 31
+block 57 320:192 32x32 -10
+block 58 320:224 32x32 -10
+block 59 0:256 32x32 -10
+block 60 32:256 32x32 31
+block 61 64:256 32x32 0
+block 62 96:256 32x32 -10
+block 63 128:256 32x32 -32
+block 64 160:256 32x32 21
+block 65 192:256 32x32 31
+block 66 224:256 32x32 21
+block 67 256:256 32x32 21
+block 68 288:256 32x32 31
+block 69 320:256 32x32 -10
diff --git a/tools/venc_data_dump.c b/tools/venc_data_dump.c
new file mode 100644 (file)
index 0000000..3a6ce94
--- /dev/null
@@ -0,0 +1,195 @@
+/*
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <stdio.h>
+#include <stdint.h>
+#include <stdlib.h>
+
+#include "libavutil/common.h"
+#include "libavutil/dict.h"
+#include "libavutil/error.h"
+#include "libavutil/video_enc_params.h"
+
+#include "libavformat/avformat.h"
+
+#include "libavcodec/avcodec.h"
+
+static int decode_read(AVCodecContext *decoder, AVFrame *frame, int flush, int max_frames)
+{
+    const int ret_done = flush ? AVERROR_EOF : AVERROR(EAGAIN);
+    int ret = 0;
+
+    while (ret >= 0 &&
+           (max_frames == 0 ||  decoder->frame_number < max_frames)) {
+        AVFrameSideData *sd;
+
+        ret = avcodec_receive_frame(decoder, frame);
+        if (ret < 0)
+            return (ret == ret_done) ? 0 : ret;
+
+        fprintf(stdout, "frame %d\n", decoder->frame_number - 1);
+
+        sd = av_frame_get_side_data(frame, AV_FRAME_DATA_VIDEO_ENC_PARAMS);
+        if (sd) {
+            AVVideoEncParams *par = (AVVideoEncParams*)sd->data;
+
+            fprintf(stdout, "AVVideoEncParams %d\n", par->type);
+            fprintf(stdout, "qp %d\n", par->qp);
+            for (int i = 0; i < FF_ARRAY_ELEMS(par->delta_qp); i++)
+                for (int j = 0; j < FF_ARRAY_ELEMS(par->delta_qp[i]); j++) {
+                    if (par->delta_qp[i][j])
+                        fprintf(stdout, "delta_qp[%d][%d] %"PRId32"\n", i, j, par->delta_qp[i][j]);
+                }
+
+            if (par->nb_blocks) {
+                fprintf(stdout, "nb_blocks %d\n", par->nb_blocks);
+                for (int i = 0; i < par->nb_blocks; i++) {
+                    AVVideoBlockParams *b = av_video_enc_params_block(par, i);
+
+                    fprintf(stdout, "block %d %d:%d %dx%d %"PRId32"\n",
+                            i, b->src_x, b->src_y, b->w, b->h, b->delta_qp);
+                }
+            }
+        }
+
+        av_frame_unref(frame);
+
+        if (max_frames && decoder->frame_number == max_frames)
+            return 1;
+    }
+
+    return (max_frames == 0 || decoder->frame_number < max_frames) ? 0 : 1;
+}
+
+static int decoder_init(AVFormatContext *demuxer, int stream_idx,
+                        AVCodecContext **dec, AVDictionary **opts)
+{
+    const AVCodec *codec;
+    int ret;
+
+    if (stream_idx < 0 || stream_idx >= demuxer->nb_streams)
+        return AVERROR(EINVAL);
+
+    codec = avcodec_find_decoder(demuxer->streams[stream_idx]->codecpar->codec_id);
+    if (!codec)
+        return AVERROR_DECODER_NOT_FOUND;
+
+    *dec = avcodec_alloc_context3(codec);
+    if (!*dec)
+        return AVERROR(ENOMEM);
+
+    ret = avcodec_open2(*dec, NULL, opts);
+    if (ret < 0)
+        return ret;
+
+    return 0;
+}
+
+int main(int argc, char **argv)
+{
+    AVFormatContext *demuxer = NULL;
+    AVCodecContext  *decoder = NULL;
+    AVDictionary       *opts = NULL;
+
+    AVPacket *pkt   = NULL;
+    AVFrame  *frame = NULL;
+
+    unsigned int stream_idx, max_frames;
+    const char *filename, *thread_type = NULL, *nb_threads = NULL;
+    int ret = 0;
+
+    if (argc <= 3) {
+        fprintf(stderr, "Usage: %s <input file> <stream index> <max frame count> [<thread count> <thread type>]\n", argv[0]);
+        return 0;
+    }
+
+    filename    = argv[1];
+    stream_idx  = strtol(argv[2], NULL, 0);
+    max_frames  = strtol(argv[3], NULL, 0);
+    if (argc > 5) {
+        nb_threads  = argv[4];
+        thread_type = argv[5];
+    }
+
+    ret  = av_dict_set(&opts, "threads",          nb_threads,    0);
+    ret |= av_dict_set(&opts, "thread_type",      thread_type,   0);
+    ret |= av_dict_set(&opts, "export_side_data", "venc_params", 0);
+
+    ret = avformat_open_input(&demuxer, filename, NULL, NULL);
+    if (ret < 0) {
+        fprintf(stderr, "Error opening input file: %d\n", ret);
+        return ret;
+    }
+
+    ret = decoder_init(demuxer, stream_idx, &decoder, &opts);
+    if (ret < 0) {
+        fprintf(stderr, "Error initializing decoder\n");
+        goto finish;
+    }
+
+    pkt   = av_packet_alloc();
+    frame = av_frame_alloc();
+    if (!pkt || !frame) {
+        ret = AVERROR(ENOMEM);
+        goto finish;
+    }
+
+    while (ret >= 0) {
+        ret = av_read_frame(demuxer, pkt);
+        if (ret < 0)
+            goto flush;
+        if (pkt->stream_index != stream_idx) {
+            av_packet_unref(pkt);
+            continue;
+        }
+
+        ret = avcodec_send_packet(decoder, pkt);
+        if (ret < 0) {
+            fprintf(stderr, "Error decoding: %d\n", ret);
+            goto finish;
+        }
+        av_packet_unref(pkt);
+
+        ret = decode_read(decoder, frame, 0, max_frames);
+        if (ret < 0) {
+            fprintf(stderr, "Error decoding: %d\n", ret);
+            goto finish;
+        } else if (ret > 0) {
+            ret = 0;
+            goto finish;
+        }
+    }
+
+flush:
+    avcodec_send_packet(decoder, NULL);
+    ret = decode_read(decoder, frame, 1, max_frames);
+    if (ret < 0) {
+        fprintf(stderr, "Error flushing: %d\n", ret);
+        goto finish;
+    }
+    ret = 0;
+
+finish:
+    av_dict_free(&opts);
+    av_packet_free(&pkt);
+    av_frame_free(&frame);
+    avcodec_free_context(&decoder);
+    avformat_close_input(&demuxer);
+
+    return ret;
+}