[FFmpeg-devel] [PATCH] adpcm-ima-wav header and codec

Benoit Fouet benoit.fouet
Tue Nov 6 14:08:36 CET 2007


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

-- 
Ben
Purple Labs S.A.
www.purplelabs.com




More information about the ffmpeg-devel mailing list