fate: add tests for h264 and vp9 video enc parameters export

This commit is contained in:
Anton Khirnov 2020-05-11 17:06:11 +02:00
parent 064b875e89
commit ea980d4162
8 changed files with 1555 additions and 1 deletions

View File

@ -669,3 +669,4 @@ TOOLS = aviocat \
probetest \
seek_print \
sidxindex \
venc_data_dump

View 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)

View File

@ -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(){
:
}

View 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

View 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)

View File

@ -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

View File

@ -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

195
tools/venc_data_dump.c Normal file
View File

@ -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;
}