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
