[FFmpeg-devel] [PATCH] wma encoder regtest fix

Robert Swain robert.swain
Thu Feb 12 22:59:30 CET 2009


2009/2/12 Benjamin Larsson <banan at ludd.ltu.se>:
> Diego Biurrun wrote:
>> On Thu, Feb 12, 2009 at 01:26:12PM +0100, Diego Biurrun wrote:
>>
>>> On Thu, Feb 12, 2009 at 11:42:48AM +0100, Benjamin Larsson wrote:
>>>
>>>> Benoit Fouet wrote:
>>>>
>>>>> On 02/12/2009 10:49 AM, Benjamin Larsson wrote:
>>>>>
>>>>>
>>>>>> Hi, attached is a proposed fix to the elusive wmaencoder regtests. I
>>>>>> don't know if it works on all platforms so please test and report back
>>>>>> the checksums. Basically it rounds the sine tables to 16-bit accuracy.
>>>>>> It still uses sinf which could be a source of error when the angle is
>>>>>> small.
>>>>>>
>>>>>> I also posted this in another thread but I guess it got buried in the
>>>>>> massive mail flow.
>>>>>>
>>>>> configuration: --enable-gpl --enable-libx264 --enable-libmp3lame
>>>>> --enable-swscale --enable-pthreads --enable-libamr-nb --enable-libamr-wb
>>>>> --enable-libopenjpeg --enable-nonfree --extra-cflags=-fno-inline
>>>>> gcc version 4.3.2 (Ubuntu 4.3.2-1ubuntu11)
>>>>> intel core2 quad Q6600
>>>>>
>>>>> with your patch applied, i get:
>>>>> --- /home/fouet/tools/ffmpeg/tests/ffmpeg.regression.ref    2009-02-02
>>>>> 17:06:54.000000000 +0100
>>>>> +++ tests/data/vsynth.regression    2009-02-12 10:57:45.000000000 +0100
>>>>> @@ -205,14 +205,14 @@
>>>>>  353368 ./tests/data/a-flac.flac
>>>>>  95e54b261530a1bcf6de6fe3b21dc5f6 *./tests/data/flac.vsynth.out.wav
>>>>>  stddev:    0.00 PSNR:999.99 bytes:  1058444/  1058444
>>>>> -4435d87463cd6c5407bd88cca241ca56 *./tests/data/a-wmav1.asf
>>>>> +7e640cdf8ae1873c37fd4a6fe208efa7 *./tests/data/a-wmav1.asf
>>>>>  106004 ./tests/data/a-wmav1.asf
>>>>> -stddev:12251.38 PSNR: 14.56 bytes:  1056812/  1058444
>>>>> -stddev: 2105.96 PSNR: 29.85 bytes:  1048620/  1058444
>>>>> -24ae726aef89e5d17e315c64182f4c61 *./tests/data/a-wmav2.asf
>>>>> +stddev:12251.32 PSNR: 14.56 bytes:  1056812/  1058444
>>>>> +stddev: 2105.95 PSNR: 29.85 bytes:  1048620/  1058444
>>>>> +36491e6aca4516616e6b0c600330070a *./tests/data/a-wmav2.asf
>>>>>  106044 ./tests/data/a-wmav2.asf
>>>>> -stddev:12255.80 PSNR: 14.55 bytes:  1056812/  1058444
>>>>> -stddev: 2099.27 PSNR: 29.88 bytes:  1048620/  1058444
>>>>> +stddev:12255.59 PSNR: 14.55 bytes:  1056812/  1058444
>>>>> +stddev: 2099.25 PSNR: 29.88 bytes:  1048620/  1058444
>>>>>  89f5b8dd97e0dddbe59af0d44fd229f3 *./tests/data/a-pcm_alaw.wav
>>>>>  529256 ./tests/data/a-pcm_alaw.wav
>>>>>  0568b0b9a72e31559e150e7e09d301cd *./tests/data/pcm.vsynth.out.wav
>>>>>
>>>> I get the same values as Ben (myself?) when I run the same test on
>>>> Ubuntu x86 with the same compiler. Ie when using C routines
>>>> (--disable-mmx) I get the first set of crc's and when running with simd
>>>> I get the same set as Benoit. It would be good to get the results from
>>>> icc and ppc platforms also.
>>>>
>>> These are the results I get on PPC with AltiVec enabled:
>>>
>>> --- /tmp/ffmpeg/tests/ffmpeg.regression.ref     2009-02-12 12:39:04.000000000 +0100
>>> +++ tests/data/vsynth.regression        2009-02-12 13:23:01.000000000 +0100
>>> @@ -205,14 +205,14 @@
>>>  353368 ./tests/data/a-flac.flac
>>>  95e54b261530a1bcf6de6fe3b21dc5f6 *./tests/data/flac.vsynth.out.wav
>>>  stddev:    0.00 PSNR:999.99 bytes:  1058444/  1058444
>>> -4435d87463cd6c5407bd88cca241ca56 *./tests/data/a-wmav1.asf
>>> +4cd042a85c9c3f52124d6bcdba8cefdb *./tests/data/a-wmav1.asf
>>>  106004 ./tests/data/a-wmav1.asf
>>> -stddev:12251.38 PSNR: 14.56 bytes:  1056812/  1058444
>>> -stddev: 2105.96 PSNR: 29.85 bytes:  1048620/  1058444
>>> -24ae726aef89e5d17e315c64182f4c61 *./tests/data/a-wmav2.asf
>>> +stddev:12251.32 PSNR: 14.56 bytes:  1056812/  1058444
>>> +stddev: 2105.95 PSNR: 29.85 bytes:  1048620/  1058444
>>> +36491e6aca4516616e6b0c600330070a *./tests/data/a-wmav2.asf
>>>  106044 ./tests/data/a-wmav2.asf
>>> -stddev:12255.80 PSNR: 14.55 bytes:  1056812/  1058444
>>> -stddev: 2099.27 PSNR: 29.88 bytes:  1048620/  1058444
>>> +stddev:12255.59 PSNR: 14.55 bytes:  1056812/  1058444
>>> +stddev: 2099.25 PSNR: 29.88 bytes:  1048620/  1058444
>>>  89f5b8dd97e0dddbe59af0d44fd229f3 *./tests/data/a-pcm_alaw.wav
>>>  529256 ./tests/data/a-pcm_alaw.wav
>>>  0568b0b9a72e31559e150e7e09d301cd *./tests/data/pcm.vsynth.out.wav
>>> make: *** [codectest] Error 1
>>>
>>
>> Here are the results with AltiVec disabled:
>>
>> --- /tmp/ffmpeg/tests/ffmpeg.regression.ref     2009-02-12 14:07:00.000000000 +0100
>> +++ tests/data/vsynth.regression        2009-02-12 14:11:34.000000000 +0100
>> @@ -205,14 +205,14 @@
>>  353368 ./tests/data/a-flac.flac
>>  95e54b261530a1bcf6de6fe3b21dc5f6 *./tests/data/flac.vsynth.out.wav
>>  stddev:    0.00 PSNR:999.99 bytes:  1058444/  1058444
>> -4435d87463cd6c5407bd88cca241ca56 *./tests/data/a-wmav1.asf
>> +4cd042a85c9c3f52124d6bcdba8cefdb *./tests/data/a-wmav1.asf
>>  106004 ./tests/data/a-wmav1.asf
>> -stddev:12251.38 PSNR: 14.56 bytes:  1056812/  1058444
>> +stddev:12251.32 PSNR: 14.56 bytes:  1056812/  1058444
>>  stddev: 2105.96 PSNR: 29.85 bytes:  1048620/  1058444
>> -24ae726aef89e5d17e315c64182f4c61 *./tests/data/a-wmav2.asf
>> +36491e6aca4516616e6b0c600330070a *./tests/data/a-wmav2.asf
>>  106044 ./tests/data/a-wmav2.asf
>> -stddev:12255.80 PSNR: 14.55 bytes:  1056812/  1058444
>> -stddev: 2099.27 PSNR: 29.88 bytes:  1048620/  1058444
>> +stddev:12255.59 PSNR: 14.55 bytes:  1056812/  1058444
>> +stddev: 2099.25 PSNR: 29.88 bytes:  1048620/  1058444
>>  89f5b8dd97e0dddbe59af0d44fd229f3 *./tests/data/a-pcm_alaw.wav
>>  529256 ./tests/data/a-pcm_alaw.wav
>>  0568b0b9a72e31559e150e7e09d301cd *./tests/data/pcm.vsynth.out.wav
>> make: *** [codectest] Error 1
>>
>> Diego
>> _______________________________________________
>> ffmpeg-devel mailing list
>> ffmpeg-devel at mplayerhq.hu
>> https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-devel
>>
> Go this on amd geode and gcc 2.95, it should have used 3dnow code for mdct.
>
> +++ tests/data/vsynth.regression        2009-02-12 15:06:43.000000000 +0000
> @@ -205,14 +205,14 @@
>  353368 ./tests/data/a-flac.flac
>  95e54b261530a1bcf6de6fe3b21dc5f6 *./tests/data/flac.vsynth.out.wav
>  stddev:    0.00 PSNR:999.99 bytes:  1058444/  1058444
> -4435d87463cd6c5407bd88cca241ca56 *./tests/data/a-wmav1.asf
> +4cd042a85c9c3f52124d6bcdba8cefdb *./tests/data/a-wmav1.asf
>  106004 ./tests/data/a-wmav1.asf
> -stddev:12251.38 PSNR: 14.56 bytes:  1056812/  1058444
> -stddev: 2105.96 PSNR: 29.85 bytes:  1048620/  1058444
> -24ae726aef89e5d17e315c64182f4c61 *./tests/data/a-wmav2.asf
> +stddev:12251.32 PSNR: 14.56 bytes:  1056812/  1058444
> +stddev: 2105.95 PSNR: 29.85 bytes:  1048620/  1058444
> +36491e6aca4516616e6b0c600330070a *./tests/data/a-wmav2.asf
>  106044 ./tests/data/a-wmav2.asf
> -stddev:12255.80 PSNR: 14.55 bytes:  1056812/  1058444
> -stddev: 2099.27 PSNR: 29.88 bytes:  1048620/  1058444
> +stddev:12255.59 PSNR: 14.55 bytes:  1056812/  1058444
> +stddev: 2099.25 PSNR: 29.88 bytes:  1048620/  1058444
>  89f5b8dd97e0dddbe59af0d44fd229f3 *./tests/data/a-pcm_alaw.wav
>  529256 ./tests/data/a-pcm_alaw.wav
>  0568b0b9a72e31559e150e7e09d301cd *./tests/data/pcm.vsynth.out.wav
> make: *** [codectest] Error 1

Core Duo 1.83GHz (so 32-bit x86) in Mac OS X using: --cc="gcc-4.2"
--enable-gpl --enable-swscale

diff -u -w "/Users/rob/source/ffmpeg-dev"/tests/ffmpeg.regression.ref
 tests/data/vsynth.regression
--- /Users/rob/source/ffmpeg-dev/tests/ffmpeg.regression.ref	2009-02-02
23:05:43.000000000 +0000
+++ tests/data/vsynth.regression	2009-02-12 15:43:43.000000000 +0000
@@ -205,14 +205,14 @@
 353368 ./tests/data/a-flac.flac
 95e54b261530a1bcf6de6fe3b21dc5f6 *./tests/data/flac.vsynth.out.wav
 stddev:    0.00 PSNR:999.99 bytes:  1058444/  1058444
-4435d87463cd6c5407bd88cca241ca56 *./tests/data/a-wmav1.asf
+4cd042a85c9c3f52124d6bcdba8cefdb *./tests/data/a-wmav1.asf
 106004 ./tests/data/a-wmav1.asf
-stddev:12251.38 PSNR: 14.56 bytes:  1056812/  1058444
-stddev: 2105.96 PSNR: 29.85 bytes:  1048620/  1058444
-24ae726aef89e5d17e315c64182f4c61 *./tests/data/a-wmav2.asf
+stddev:12251.32 PSNR: 14.56 bytes:  1056812/  1058444
+stddev: 2105.95 PSNR: 29.85 bytes:  1048620/  1058444
+36491e6aca4516616e6b0c600330070a *./tests/data/a-wmav2.asf
 106044 ./tests/data/a-wmav2.asf
-stddev:12255.80 PSNR: 14.55 bytes:  1056812/  1058444
-stddev: 2099.27 PSNR: 29.88 bytes:  1048620/  1058444
+stddev:12255.59 PSNR: 14.55 bytes:  1056812/  1058444
+stddev: 2099.25 PSNR: 29.88 bytes:  1048620/  1058444
 89f5b8dd97e0dddbe59af0d44fd229f3 *./tests/data/a-pcm_alaw.wav
 529256 ./tests/data/a-pcm_alaw.wav
 0568b0b9a72e31559e150e7e09d301cd *./tests/data/pcm.vsynth.out.wav
make: *** [codectest] Error 1

Regards,
Rob




More information about the ffmpeg-devel mailing list