[FFmpeg-devel] AMR-NB decoder
Vitor Sessak
vitor1001
Wed Aug 5 20:21:48 CEST 2009
Colin McQuillan wrote:
> 2009/8/5 Vitor Sessak <vitor1001 at gmail.com>:
>> Hi, and good work!
>>
>> Colin McQuillan wrote:
>>> Attached is a patch for an AMR-NB decoder.
>>>
>>> It is not bit-exact.
>> Neither it could be, it is float-based. The best you could get would be a
>> stddev of ~0.05.
>>
>>> This makes it tricky to verify, but I have been
>>> checking that internal parameters match the 3GPP decoder for the AMR
>>> test sequences. The PSNR between the input and output is 3.90 to 8.42
>>> which is about the same as the reference decoder.
>> I suppose here you mean the stddev, not the PSNR. Also, what command are you
>> using to compare the results? Are you setting elem_size to 2? Could you
>> paste the output of tiny_psnr for the test vectors (and a real-world sample
>> ideally)?
>
> I forgot to add elem_size to my tiny_psnr script. PSNR is now actually
> between 20 and 80. (and from encoder input, the PSNR is about 20 to
> 40)
>
> samples/A-codecs/amr/sample.amr compared against ref decoder output:
> stddev: 24.22 PSNR: 68.63 bytes: 797760/ 797760
>
> The test vector tiny_psnr output is attached because there's 169 of them.
>
> soc/T_102/T00_102.raw: stddev: 55.89 PSNR: 61.37 bytes: 90560/ 90560
> soc/T_102/T01_102.raw: stddev: 5283.25 PSNR: 21.86 bytes: 90560/ 90560
> soc/T_102/T02_102.raw: stddev: 999.99 PSNR: 36.32 bytes: 128000/ 128000
> soc/T_102/T03_102.raw: stddev: 3327.29 PSNR: 25.88 bytes: 128000/ 128000
> soc/T_102/T04_102.raw: stddev: 228.36 PSNR: 49.15 bytes: 95680/ 95680
> soc/T_102/T05_102.raw: stddev: 248.60 PSNR: 48.41 bytes: 71040/ 71040
> soc/T_102/T06_102.raw: stddev: 65.63 PSNR: 59.98 bytes: 106560/ 106560
> soc/T_102/T07_102.raw: stddev: 72.93 PSNR: 59.06 bytes: 115520/ 115520
> soc/T_102/T08_102.raw: stddev: 1831.37 PSNR: 31.06 bytes: 108160/ 108160
> soc/T_102/T09_102.raw: stddev: 47.08 PSNR: 62.86 bytes: 129600/ 129600
Wow, that's a pretty variated bunch. It really gives an impression that
there is some feature that is not properly decoded (an psnr of 22 is
pretty low). Does the output of T01_102.raw sounds the same as the ref
decoder?
-Vitor
More information about the ffmpeg-devel
mailing list