SWF File Format Specification, Version 19 says this is 1 raw sample + 4095 nibbles. https://www.adobe.com/content/dam/acom/en/devnet/pdf/swf-file-format-spec.pdf Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>tags/n4.4
| @@ -153,7 +153,7 @@ static av_cold int adpcm_encode_init(AVCodecContext *avctx) | |||
| "22050 or 44100\n"); | |||
| return AVERROR(EINVAL); | |||
| } | |||
| avctx->frame_size = (s->block_size / 2) * (avctx->sample_rate / 11025); | |||
| avctx->frame_size = 4096; /* Hardcoded according to the SWF spec. */ | |||
| avctx->block_align = (2 + avctx->channels * (22 + 4 * (avctx->frame_size - 1)) + 7) / 8; | |||
| break; | |||
| case AV_CODEC_ID_ADPCM_IMA_SSI: | |||
| @@ -1,4 +1,4 @@ | |||
| 42d4639866ed4d692eaf126228a4fa2a *tests/data/fate/acodec-adpcm-swf.flv | |||
| 269166 tests/data/fate/acodec-adpcm-swf.flv | |||
| 628089745a7059ae4055c2515b6d668b *tests/data/fate/acodec-adpcm-swf.out.wav | |||
| stddev: 933.58 PSNR: 36.93 MAXDIFF:51119 bytes: 1058400/ 1064960 | |||
| 64aedd1487cb355406dde36d2bba374f *tests/data/fate/acodec-adpcm-swf.flv | |||
| 267801 tests/data/fate/acodec-adpcm-swf.flv | |||
| 9d061488fdc1a557bdc454b9d1aba59c *tests/data/fate/acodec-adpcm-swf.out.wav | |||
| stddev: 919.82 PSNR: 37.06 MAXDIFF:51119 bytes: 1058400/ 1064960 | |||
| @@ -1,4 +1,4 @@ | |||
| ec8859b3206ea0c45701fbdcf60dbe48 *tests/data/fate/acodec-adpcm-swf-trellis.flv | |||
| 269166 tests/data/fate/acodec-adpcm-swf-trellis.flv | |||
| 29820ce5b95b3b0a2feafa808cc264a7 *tests/data/fate/acodec-adpcm-swf-trellis.out.wav | |||
| stddev: 747.92 PSNR: 38.85 MAXDIFF:51119 bytes: 1058400/ 1064960 | |||
| fde151ce9b8be0e144e72113508bcff6 *tests/data/fate/acodec-adpcm-swf-trellis.flv | |||
| 267801 tests/data/fate/acodec-adpcm-swf-trellis.flv | |||
| 6a0007e42d92a225a8becddedccf9a0f *tests/data/fate/acodec-adpcm-swf-trellis.out.wav | |||
| stddev: 731.05 PSNR: 39.05 MAXDIFF:51119 bytes: 1058400/ 1064960 | |||
| @@ -1,4 +1,4 @@ | |||
| af5ffee897bad0174f4c7fc16c54aa5d *tests/data/fate/acodec-adpcm-swf-wav.wav | |||
| 266948 tests/data/fate/acodec-adpcm-swf-wav.wav | |||
| 628089745a7059ae4055c2515b6d668b *tests/data/fate/acodec-adpcm-swf-wav.out.wav | |||
| stddev: 933.58 PSNR: 36.93 MAXDIFF:51119 bytes: 1058400/ 1064960 | |||
| a21ee5ba531ec89e306d78c861eb6ed1 *tests/data/fate/acodec-adpcm-swf-wav.wav | |||
| 266624 tests/data/fate/acodec-adpcm-swf-wav.wav | |||
| 9d061488fdc1a557bdc454b9d1aba59c *tests/data/fate/acodec-adpcm-swf-wav.out.wav | |||
| stddev: 919.82 PSNR: 37.06 MAXDIFF:51119 bytes: 1058400/ 1064960 | |||
| @@ -1,49 +1,49 @@ | |||
| ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 196 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 196 size: 4101 | |||
| ret: 0 st:-1 flags:0 ts:-1.000000 | |||
| ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 196 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 196 size: 4101 | |||
| ret: 0 st:-1 flags:1 ts: 1.894167 | |||
| ret: 0 st: 0 flags:1 dts: 1.858000 pts: 1.858000 pos: 82956 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 1.858000 pts: 1.858000 pos: 82536 size: 4101 | |||
| ret: 0 st: 0 flags:0 ts: 0.788000 | |||
| ret: 0 st: 0 flags:1 dts: 0.789000 pts: 0.789000 pos: 35369 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 0.836000 pts: 0.836000 pos: 37249 size: 4101 | |||
| ret:-1 st: 0 flags:1 ts:-0.317000 | |||
| ret: 0 st:-1 flags:0 ts: 2.576668 | |||
| ret: 0 st: 0 flags:1 dts: 2.601000 pts: 2.601000 pos: 116060 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 2.601000 pts: 2.601000 pos: 115472 size: 4101 | |||
| ret: 0 st:-1 flags:1 ts: 1.470835 | |||
| ret: 0 st: 0 flags:1 dts: 1.440000 pts: 1.440000 pos: 64335 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 1.393000 pts: 1.393000 pos: 61951 size: 4101 | |||
| ret: 0 st: 0 flags:0 ts: 0.365000 | |||
| ret: 0 st: 0 flags:1 dts: 0.372000 pts: 0.372000 pos: 16748 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 0.372000 pts: 0.372000 pos: 16664 size: 4101 | |||
| ret:-1 st: 0 flags:1 ts:-0.741000 | |||
| ret: 0 st:-1 flags:0 ts: 2.153336 | |||
| ret: 0 st: 0 flags:1 dts: 2.183000 pts: 2.183000 pos: 97439 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 2.229000 pts: 2.229000 pos: 99004 size: 4101 | |||
| ret: 0 st:-1 flags:1 ts: 1.047503 | |||
| ret: 0 st: 0 flags:1 dts: 1.022000 pts: 1.022000 pos: 45714 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 1.022000 pts: 1.022000 pos: 45483 size: 4101 | |||
| ret: 0 st: 0 flags:0 ts:-0.058000 | |||
| ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 196 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 196 size: 4101 | |||
| ret: 0 st: 0 flags:1 ts: 2.836000 | |||
| ret: 0 st: 0 flags:1 dts: 2.833000 pts: 2.833000 pos: 126405 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 2.786000 pts: 2.786000 pos: 123706 size: 4101 | |||
| ret: 0 st:-1 flags:0 ts: 1.730004 | |||
| ret: 0 st: 0 flags:1 dts: 1.765000 pts: 1.765000 pos: 78818 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 1.765000 pts: 1.765000 pos: 78419 size: 4101 | |||
| ret: 0 st:-1 flags:1 ts: 0.624171 | |||
| ret: 0 st: 0 flags:1 dts: 0.604000 pts: 0.604000 pos: 27093 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 0.557000 pts: 0.557000 pos: 24898 size: 4101 | |||
| ret: 0 st: 0 flags:0 ts:-0.482000 | |||
| ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 196 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 196 size: 4101 | |||
| ret: 0 st: 0 flags:1 ts: 2.413000 | |||
| ret: 0 st: 0 flags:1 dts: 2.368000 pts: 2.368000 pos: 105715 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 2.322000 pts: 2.322000 pos: 103121 size: 4101 | |||
| ret: 0 st:-1 flags:0 ts: 1.306672 | |||
| ret: 0 st: 0 flags:1 dts: 1.347000 pts: 1.347000 pos: 60197 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 1.393000 pts: 1.393000 pos: 61951 size: 4101 | |||
| ret: 0 st:-1 flags:1 ts: 0.200839 | |||
| ret: 0 st: 0 flags:1 dts: 0.186000 pts: 0.186000 pos: 8472 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 0.186000 pts: 0.186000 pos: 8430 size: 4101 | |||
| ret: 0 st: 0 flags:0 ts:-0.905000 | |||
| ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 196 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 196 size: 4101 | |||
| ret: 0 st: 0 flags:1 ts: 1.989000 | |||
| ret: 0 st: 0 flags:1 dts: 1.950000 pts: 1.950000 pos: 87094 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 1.950000 pts: 1.950000 pos: 86653 size: 4101 | |||
| ret: 0 st:-1 flags:0 ts: 0.883340 | |||
| ret: 0 st: 0 flags:1 dts: 0.929000 pts: 0.929000 pos: 41576 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 0.929000 pts: 0.929000 pos: 41366 size: 4101 | |||
| ret:-1 st:-1 flags:1 ts:-0.222493 | |||
| ret: 0 st: 0 flags:0 ts: 2.672000 | |||
| ret: 0 st: 0 flags:1 dts: 2.694000 pts: 2.694000 pos: 120198 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 2.694000 pts: 2.694000 pos: 119589 size: 4101 | |||
| ret: 0 st: 0 flags:1 ts: 1.566000 | |||
| ret: 0 st: 0 flags:1 dts: 1.533000 pts: 1.533000 pos: 68473 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 1.486000 pts: 1.486000 pos: 66068 size: 4101 | |||
| ret: 0 st:-1 flags:0 ts: 0.460008 | |||
| ret: 0 st: 0 flags:1 dts: 0.464000 pts: 0.464000 pos: 20886 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 0.464000 pts: 0.464000 pos: 20781 size: 4101 | |||
| ret:-1 st:-1 flags:1 ts:-0.645825 | |||
| @@ -1,49 +1,49 @@ | |||
| ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 196 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 196 size: 4101 | |||
| ret: 0 st:-1 flags:0 ts:-1.000000 | |||
| ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 196 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 196 size: 4101 | |||
| ret: 0 st:-1 flags:1 ts: 1.894167 | |||
| ret: 0 st: 0 flags:1 dts: 1.858000 pts: 1.858000 pos: 82956 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 1.858000 pts: 1.858000 pos: 82536 size: 4101 | |||
| ret: 0 st: 0 flags:0 ts: 0.788000 | |||
| ret: 0 st: 0 flags:1 dts: 0.789000 pts: 0.789000 pos: 35369 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 0.836000 pts: 0.836000 pos: 37249 size: 4101 | |||
| ret:-1 st: 0 flags:1 ts:-0.317000 | |||
| ret: 0 st:-1 flags:0 ts: 2.576668 | |||
| ret: 0 st: 0 flags:1 dts: 2.601000 pts: 2.601000 pos: 116060 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 2.601000 pts: 2.601000 pos: 115472 size: 4101 | |||
| ret: 0 st:-1 flags:1 ts: 1.470835 | |||
| ret: 0 st: 0 flags:1 dts: 1.440000 pts: 1.440000 pos: 64335 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 1.393000 pts: 1.393000 pos: 61951 size: 4101 | |||
| ret: 0 st: 0 flags:0 ts: 0.365000 | |||
| ret: 0 st: 0 flags:1 dts: 0.372000 pts: 0.372000 pos: 16748 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 0.372000 pts: 0.372000 pos: 16664 size: 4101 | |||
| ret:-1 st: 0 flags:1 ts:-0.741000 | |||
| ret: 0 st:-1 flags:0 ts: 2.153336 | |||
| ret: 0 st: 0 flags:1 dts: 2.183000 pts: 2.183000 pos: 97439 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 2.229000 pts: 2.229000 pos: 99004 size: 4101 | |||
| ret: 0 st:-1 flags:1 ts: 1.047503 | |||
| ret: 0 st: 0 flags:1 dts: 1.022000 pts: 1.022000 pos: 45714 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 1.022000 pts: 1.022000 pos: 45483 size: 4101 | |||
| ret: 0 st: 0 flags:0 ts:-0.058000 | |||
| ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 196 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 196 size: 4101 | |||
| ret: 0 st: 0 flags:1 ts: 2.836000 | |||
| ret: 0 st: 0 flags:1 dts: 2.833000 pts: 2.833000 pos: 126405 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 2.786000 pts: 2.786000 pos: 123706 size: 4101 | |||
| ret: 0 st:-1 flags:0 ts: 1.730004 | |||
| ret: 0 st: 0 flags:1 dts: 1.765000 pts: 1.765000 pos: 78818 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 1.765000 pts: 1.765000 pos: 78419 size: 4101 | |||
| ret: 0 st:-1 flags:1 ts: 0.624171 | |||
| ret: 0 st: 0 flags:1 dts: 0.604000 pts: 0.604000 pos: 27093 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 0.557000 pts: 0.557000 pos: 24898 size: 4101 | |||
| ret: 0 st: 0 flags:0 ts:-0.482000 | |||
| ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 196 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 196 size: 4101 | |||
| ret: 0 st: 0 flags:1 ts: 2.413000 | |||
| ret: 0 st: 0 flags:1 dts: 2.368000 pts: 2.368000 pos: 105715 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 2.322000 pts: 2.322000 pos: 103121 size: 4101 | |||
| ret: 0 st:-1 flags:0 ts: 1.306672 | |||
| ret: 0 st: 0 flags:1 dts: 1.347000 pts: 1.347000 pos: 60197 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 1.393000 pts: 1.393000 pos: 61951 size: 4101 | |||
| ret: 0 st:-1 flags:1 ts: 0.200839 | |||
| ret: 0 st: 0 flags:1 dts: 0.186000 pts: 0.186000 pos: 8472 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 0.186000 pts: 0.186000 pos: 8430 size: 4101 | |||
| ret: 0 st: 0 flags:0 ts:-0.905000 | |||
| ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 196 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 196 size: 4101 | |||
| ret: 0 st: 0 flags:1 ts: 1.989000 | |||
| ret: 0 st: 0 flags:1 dts: 1.950000 pts: 1.950000 pos: 87094 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 1.950000 pts: 1.950000 pos: 86653 size: 4101 | |||
| ret: 0 st:-1 flags:0 ts: 0.883340 | |||
| ret: 0 st: 0 flags:1 dts: 0.929000 pts: 0.929000 pos: 41576 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 0.929000 pts: 0.929000 pos: 41366 size: 4101 | |||
| ret:-1 st:-1 flags:1 ts:-0.222493 | |||
| ret: 0 st: 0 flags:0 ts: 2.672000 | |||
| ret: 0 st: 0 flags:1 dts: 2.694000 pts: 2.694000 pos: 120198 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 2.694000 pts: 2.694000 pos: 119589 size: 4101 | |||
| ret: 0 st: 0 flags:1 ts: 1.566000 | |||
| ret: 0 st: 0 flags:1 dts: 1.533000 pts: 1.533000 pos: 68473 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 1.486000 pts: 1.486000 pos: 66068 size: 4101 | |||
| ret: 0 st:-1 flags:0 ts: 0.460008 | |||
| ret: 0 st: 0 flags:1 dts: 0.464000 pts: 0.464000 pos: 20886 size: 2053 | |||
| ret: 0 st: 0 flags:1 dts: 0.464000 pts: 0.464000 pos: 20781 size: 4101 | |||
| ret:-1 st:-1 flags:1 ts:-0.645825 | |||