[FFmpeg-devel] [PATCH] adpcm-ima-wav header and codec
Timofei V. Bondarenko
tim
Tue Nov 6 14:13:33 CET 2007
Benoit Fouet wrote:
> Hi,
>
> Timofei V. Bondarenko wrote:
>> Benoit Fouet wrote:
>>
>>> Michael Niedermayer wrote:
>>>
>>>> Hi
>>>>
>>>> On Fri, Nov 02, 2007 at 06:27:17PM +0300, Timofei V. Bondarenko wrote:
>>>>
>>>>
>>>>> Michael Niedermayer wrote:
>>>>>
>>>>>
>>>>>> Hi
>>>>>> On Wed, Oct 17, 2007 at 05:24:02PM +0400, Timofei V. Bondarenko wrote:
>>>>>> [...]
>>>>>>
>>>>>>
>>>>>>>> [...]
>>>>>>>>
>>>>>>>>
>>>>>>>>> --- ffmpeg-svn/libavcodec/adpcm.c 2007-10-12 12:21:16.000000000 +0400
>>>>>>>>> +++ ffmpeg/libavcodec/adpcm.c 2007-10-12 19:01:53.000000000 +0400
>>>>>>>>> @@ -483,17 +483,17 @@
>>>>>>>>>
>>>>>>>>>
>>>>>>>> looks ok
>>>>>>>>
>>>>>>>>
>>>>>>> BTW these changes break regression tests. It is intentional. Should i do
>>>>>>> something about?
>>>>>>>
>>>>>>>
>>>>>> yes update the regresson tests checksums in the same patch which changes
>>>>>> them
>>>>>>
>>>>>>
>>>>> Done. This patch fixes following issues:
>>>>>
>>>>>
>>>>>
>>>>>>> In adpcm_encode_frame() predictor for right channel gets initialized by
>>>>>>> 2nd sample of the left channel instead of 1st sample of the right
>>>>>>> channel.
>>>>>>>
>>>>>>> The adpcm_decode_frame() loses first sample in block.
>>>>>>> This sample initializes predictor and then gets lost instead of being
>>>>>>> copied to output.
>>>>>>>
>>>>>>>
>>>> [...]
>>>>
>>>>
>>>>> Index: tests/ffmpeg.regression.ref
>>>>> ===================================================================
>>>>> --- tests/ffmpeg.regression.ref (revision 10905)
>>>>> +++ tests/ffmpeg.regression.ref (working copy)
>>>>> @@ -176,10 +176,10 @@
>>>>> 24279 ./tests/data/a-g726.wav
>>>>> 888f2f016e608d044a1bacbca5497ed2 *./tests/data/out.wav
>>>>> stddev:8368.02 PSNR:17.87 bytes:96256
>>>>> -de3f0e1f50b19bd8572fdd3dee2e72c4 *./tests/data/a-adpcm_ima.wav
>>>>> +3b969c43e45582f713e3c35faee9e0cc *./tests/data/a-adpcm_ima.wav
>>>>> 266300 ./tests/data/a-adpcm_ima.wav
>>>>> -60178d48204f5662d91776e36eddc82e *./tests/data/out.wav
>>>>> -stddev:11441.89 PSNR:15.15 bytes:1054720
>>>>> +947196b1739a9d6fe0c29424cf61cd8c *./tests/data/out.wav
>>>>> +stddev:904.20 PSNR:37.19 bytes:1056768
>>>>> 628d4789cf9ee16a756ac54b7fd8650d *./tests/data/a-adpcm_ms.wav
>>>>> 267320 ./tests/data/a-adpcm_ms.wav
>>>>> 91a84bb4f319a3a0bf0c0441b3d3a529 *./tests/data/out.wav
>>>>>
>>>>>
>>>> thats just half of the regression checksum difference, except that
>>>> patch ok
>>>>
>>>>
>> I'm sorry.
>> Could you explain me what is the second half of checksum?
>>
>>
>
> the rotozoom checksums
>
>>> Timofei, could you please provide a log message so that this one can be
>>> applied ?
>>>
>>>
>> Long description is quoted above.
>> In short words:
>>
>> fix predictor initialization for adpcm-ima encoder;
>> don't loose first sample in block in adpcm-ima decoder
>>
>>
>
> applied with the suggested log message (i changed loose to lose though)
> also updated the rotozoom checksums
>
Thanks,
Tim.
More information about the ffmpeg-devel
mailing list