On Sun, Apr 24, 2011 at 11:44:03 (CEST), Vitor Sessak wrote:

> On 04/24/2011 11:40 AM, Vitor Sessak wrote:
>> On 04/24/2011 11:19 AM, Reinhard Tartler wrote:
>>> On Sun, Apr 24, 2011 at 11:16:05 (CEST), Loren Merritt wrote:
>>>
>>>> On Sun, 24 Apr 2011, Reinhard Tartler wrote:
>>>>
>>>>> On Sun, Apr 24, 2011 at 00:18:33 (CEST), Loren Merritt wrote:
>>>>>
>>>>>> sse emulation of vex ops currently uses movdqa, thus making it sse2.
>>>>>
>>>>> Thanks Vitor and Loren,
>>>>>
>>>>> all patches look OK to me, I have prepared them in
>>>>> https://gitorious.org/~siretart/libav/siretarts-libav/commits/avx.20110424
>>>>>
>>>>> and will push to master soon if nobody has additonal comments.
>>>>
>>>> Um, squash my patch. There's no point in commiting something known to
>>>> sigill and then fixing it in a separate commit.
>>>>
>>>> Needs a vzeroupper somewhere. It's sorta like emms, except the penalty
>>>> for omitting it is a bunch of cycles rather than incorrect behaviour.
>>>
>>> done as you say
>>
>> New patch attached. Changes:
>>
>> 1) Add vzeroupper where necessary
>> 2) No more tabs or trailing whitespaces
>> 3) Use "%define movdqa movaps" as suggested by Loren
>>
>> @Reinhard, thanks again for the benchmarks. Could you also try iMDCT
>> ("fft-test -m -i -s")?

sure:
>> avx/libavcodec/fft-test -m -i -s
Scale factor is set to 1.000000
IMDCT 512 test
Checking...
max:0.000003 e:3.4266e-08
Speed test...
time: 0.4 us/transform [total time=1.68 s its=4194304]

>> mmaster/libavcodec/fft-test -m -i -s
[LOTS of errors:]
ERROR   510:  -9.909448  31.259262
ERROR   511:   0.071954  13.964551
max:49.543732 e:0.58001
Speed test...
time: 0.5 us/transform [total time=1.09 s its=2097152]


>
> Now the correct patch attached, I'm still fighting sometimes with git :-p

puhsed to
https://gitorious.org/~siretart/libav/siretarts-libav/commits/avx.20110424b
now.

with avx, I get the following segfault during testing wmv:

Core was generated by `/home/siretart/libav/libav/avx/ffmpeg -v 0 -threads 1 -y 
-flags +bitexact -dct'.
Program terminated with signal 11, Segmentation fault.
#0  fft16_avx () at /home/siretart/libav/libav/libavcodec/x86/fft_mmx.asm:321
#1  0x00000000007c02e5 in fft32_avx () at 
/home/siretart/libav/libav/libavcodec/x86/fft_mmx.asm:350
#2  0x00000000007c1165 in fft64_avx () at 
/home/siretart/libav/libav/libavcodec/x86/fft_mmx.asm:636
#3  0x00000000007c11a5 in fft128_avx () at 
/home/siretart/libav/libav/libavcodec/x86/fft_mmx.asm:636
#4  0x00000000007c11e5 in fft256_avx () at 
/home/siretart/libav/libav/libavcodec/x86/fft_mmx.asm:636
#5  0x00000000007c1225 in fft512_avx () at 
/home/siretart/libav/libav/libavcodec/x86/fft_mmx.asm:636
#6  0x00000000007c15b5 in fft1024_interleave_avx () at 
/home/siretart/libav/libav/libavcodec/x86/fft_mmx.asm:637
#7  0x00000000007c17ef in ff_fft_dispatch_interleave_avx () at 
/home/siretart/libav/libav/libavcodec/x86/fft_mmx.asm:637
#8  0x0000000000617be7 in ff_mdct_calc_c (s=0x7fb09801d540, out=0x7fb098015540, 
input=<value optimized out>)
    at /home/siretart/libav/libav/libavcodec/mdct.c:185
#9  0x000000000078548a in apply_window_and_mdct (avctx=0x2593220, buf=0x25beea0 
"", buf_size=64584, data=<value optimized out>)
    at /home/siretart/libav/libav/libavcodec/wmaenc.c:93
#10 encode_superframe (avctx=0x2593220, buf=0x25beea0 "", buf_size=64584, 
data=<value optimized out>)
    at /home/siretart/libav/libav/libavcodec/wmaenc.c:338
#11 0x00000000007259b7 in avcodec_encode_audio (avctx=0x2593220, buf=<value 
optimized out>, buf_size=<value optimized out>, 
    samples=<value optimized out>) at 
/home/siretart/libav/libav/libavcodec/utils.c:593
#12 0x0000000000431c38 in do_audio_out (ist=<value optimized out>, ist_index=0, 
ost_table=0x25909c0, nb_ostreams=1, 
    pkt=<value optimized out>) at /home/siretart/libav/libav/ffmpeg.c:894
#13 output_packet (ist=<value optimized out>, ist_index=0, ost_table=0x25909c0, 
nb_ostreams=1, pkt=<value optimized out>)
    at /home/siretart/libav/libav/ffmpeg.c:1606
#14 0x0000000000434b5e in transcode (nb_output_files=1, nb_input_files=1, 
stream_maps=0x0, nb_stream_maps=39389640, input_files=0xc6c040, 
    output_files=0xc6bd20) at /home/siretart/libav/libav/ffmpeg.c:2581
#15 0x00000000004397b1 in main (argc=<value optimized out>, argv=<value 
optimized out>) at /home/siretart/libav/libav/ffmpeg.c:4312

Without avx (--disable-avx), the testsuite fails for me:

TEST    vsynth1-asv1
--- /home/siretart/libav/libav/tests/ref/acodec/wmav1   2011-04-24 
10:00:12.580564802 +0200
+++ tests/data/regression/acodec/wmav1  2011-04-24 23:05:54.140554117 +0200
@@ -1,4 +1,4 @@
 26a7f6b0f0b7181df8df3fa589f6bf81 *./tests/data/acodec/wmav1.asf
 106004 ./tests/data/acodec/wmav1.asf
-stddev:12245.52 PSNR: 14.57 MAXDIFF:65521 bytes:  1064960/  1058400
-stddev: 2095.89 PSNR: 29.90 MAXDIFF:27658 bytes:  1056768/  1058400
+stddev:26354.15 PSNR: 14.22 MAXDIFF:65535 bytes:  1064960/  1058400
+stddev:26342.23 PSNR: 14.26 MAXDIFF:65528 bytes:  1056768/  1058400
--- /home/siretart/libav/libav/tests/ref/acodec/wmav2   2011-04-24 
10:00:12.580564802 +0200
+++ tests/data/regression/acodec/wmav2  2011-04-24 23:05:54.140554117 +0200
@@ -1,4 +1,4 @@
 7c6c0cb692af01b312ae345723674b5f *./tests/data/acodec/wmav2.asf
 106044 ./tests/data/acodec/wmav2.asf
-stddev:12249.93 PSNR: 14.57 MAXDIFF:65521 bytes:  1064960/  1058400
-stddev: 2089.21 PSNR: 29.93 MAXDIFF:27650 bytes:  1056768/  1058400
+stddev:26351.64 PSNR: 14.22 MAXDIFF:65535 bytes:  1064960/  1058400
+stddev:26339.77 PSNR: 14.26 MAXDIFF:65528 bytes:  1056768/  1058400
make: *** [fate-acodec-wmav1] Fehler 1


seems somethings still not entirely correct yet.

-- 
Gruesse/greetings,
Reinhard Tartler, KeyID 945348A4
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to