[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