Commit Graph

201 Commits

Author SHA1 Message Date
Aurelien Jacobs
5a6a9e78ab move draw_edges() into dsputil
Originally committed as revision 12309 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-04 00:07:41 +00:00
Aurelien Jacobs
97d1d009e2 split encoding part of dsputil_mmx into its own file
Originally committed as revision 12223 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-25 23:14:22 +00:00
Reimar Döffinger
78d3d94f14 __asm __volatile -> asm volatile, improves code consistency and works
(as far as that is possible) with the Sun C compiler.

Originally committed as revision 12188 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-24 14:46:22 +00:00
Loren Merritt
4a9ca0a279 simd and unroll png_filter_row
cycles per 1000 pixels on core2:
left: 9211->5170
top: 9283->2138
avg: 12215->7611
paeth: 64024->17360
overall rgb png decoding speed: +45%
overall greyscale png decoding speed: +6%

Originally committed as revision 12164 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-21 07:10:46 +00:00
Loren Merritt
1d67b037f7 sse2 h264 motion compensation. not new code, just separate out the cases that didn't need ssse3.
Originally committed as revision 11877 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-06 12:32:31 +00:00
Loren Merritt
20d565be6d put loop counter in a register if possible. makes some of the qpel functions 3% faster.
Originally committed as revision 11876 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-06 04:44:21 +00:00
Loren Merritt
a2b7bc8e71 constant was excessively aligned
Originally committed as revision 11874 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-06 03:51:53 +00:00
Loren Merritt
ddf969705f ssse3 h264 motion compensation.
25% faster tham mmx on core2, 35% if you discount fullpel, 4% overall decoding.

Originally committed as revision 11871 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-05 11:22:55 +00:00
Loren Merritt
fa9b873e08 clean up an ugliness introduced in r11826. this syntax will require fewer changes when adding future sse2 code.
Originally committed as revision 11868 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-05 01:16:48 +00:00
Loren Merritt
b2f775860b reduce code duplication
Originally committed as revision 11863 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-04 16:20:46 +00:00
Loren Merritt
b313e8159c avg_pixels4_mmx2
Originally committed as revision 11829 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-03 17:04:33 +00:00
Loren Merritt
6c01d0069d use mmx2/3dnow avg functions in avg_qpel*_mc00
Originally committed as revision 11828 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-03 16:19:37 +00:00
Loren Merritt
ed5d7a531c ff_h264_idct8_add_sse2.
compared to mmx, 217->126 cycles on core2, 262->220 on k8.

Originally committed as revision 11826 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-03 07:05:11 +00:00
Baptiste Coudurier
066e0cc50d add parenthesis, fix warning: i386/dsputil_mmx.c:2618: warning: suggest parentheses around arithmetic in operand of |
Originally committed as revision 11673 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-30 23:54:59 +00:00
Baptiste Coudurier
afa4778989 fix prototypes, remove warning: i386/dsputil_mmx.c:3594: warning: assignment from incompatible pointer type
Originally committed as revision 11672 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-30 23:52:42 +00:00
Reimar Döffinger
27215c6bf4 Use DECLARE_ALIGNED
Originally committed as revision 11630 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-27 14:46:56 +00:00
Christophe Gisquet
28748a9128 Factorize some duplicated code from CAVS and H.264 into a common file.
patch by Christophe Gisquet, christophe.gisquet free fr

Originally committed as revision 11504 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-11 08:29:58 +00:00
Christophe Gisquet
9fa3572903 add MMX version for put_no_rnd_h264_chroma_mc8_c, used in VC-1 decoding.
patch by Christophe GISQUET %christophe P gisquet A free P fr%
original thread:
date: Nov 25, 2007 12:35 AM
subject: Re: [FFmpeg-devel] MMX version for put_no_rnd_h264_chroma_mc8_c

Originally committed as revision 11298 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-21 23:11:22 +00:00
Diego Biurrun
9fbd14acb8 Fix typo in macro name: WARPER8_16_SQ --> WRAPPER8_16_SQ.
Originally committed as revision 11296 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-21 12:38:41 +00:00
Aurelien Jacobs
407c50a024 move FLAC mmx dsp to its own file
Originally committed as revision 11244 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-16 22:20:47 +00:00
Diego Biurrun
571bf37f6d typo/clarification
Originally committed as revision 11201 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-11 18:47:04 +00:00
Vitor Sessak
52b541ad79 spelling
Originally committed as revision 11122 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-01 22:21:04 +00:00
Aurelien Jacobs
bb6cc730e5 remove some unused ff_p* vars from dsputil
Originally committed as revision 11106 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-27 22:57:26 +00:00
Aurelien Jacobs
dbb5fdbdc8 remove useless #ifdef around extern declaration
Originally committed as revision 11105 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-27 22:56:15 +00:00
Aurelien Jacobs
7c35b55111 cosmetics: indentation
Originally committed as revision 11104 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-27 22:54:46 +00:00
Aurelien Jacobs
51ac88228a convert some #ifdef CONFIG_ to if(ENABLE_
Originally committed as revision 11103 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-27 22:54:18 +00:00
Aurelien Jacobs
5b67ce2afa build vc1dsp_mmx.c in its own compilation unit
Originally committed as revision 11102 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-27 22:42:55 +00:00
Aurelien Jacobs
43de50659b use ff_ prefix for extern vars
Originally committed as revision 11101 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-27 22:36:15 +00:00
Aurelien Jacobs
182f56cb0c make ff_p* vars extern so that they can be used in various *_mmx.c files
Originally committed as revision 11100 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-27 22:23:34 +00:00
Christophe Gisquet
82821c913b add VC-1 MMX DSP functions, under MIT license.
patch by Christophe GISQUET %christophe P gisquet A free P fr%
original thread:
date: Jul 7, 2007 12:52 PM
subject: [FFmpeg-devel] [PATCH] VC-1 MMX DSP functions

Originally committed as revision 11074 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-21 22:41:31 +00:00
Michael Niedermayer
02d361919a tring to workaround gcc 2.95 bug which causes random failures
Originally committed as revision 11003 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-12 02:04:01 +00:00
Loren Merritt
6810b93a81 sse2 version of compute_autocorr().
4x faster than c (somehow, even though doubles only allow 2x simd).
overal flac encoding: 15-50% faster on core2, 4-11% on k8, 3-13% on p4.

Originally committed as revision 10621 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-29 22:31:18 +00:00
Ramiro Polla
7bcc1d5b66 CONFIG_7REGS has been renamed to HAVE_7REGS
Originally committed as revision 10237 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-26 16:10:53 +00:00
Michael Niedermayer
90e9e94d0f workaround gcc bug, untested as my gcc is not complaining
Originally committed as revision 10236 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-26 12:34:22 +00:00
Michael Niedermayer
629750290f avoid overflow in the 3rd lifting step, this now needs mmx2 at minimum
(patch for plain mmx support is welcome ...)

Originally committed as revision 10226 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-26 01:11:02 +00:00
Michael Niedermayer
3e0f7126b5 update mmx code to latest snow changes
note, the code likely can overflow and thus needs some more changes
sse2 updated too but disabled as it is untested

Originally committed as revision 10223 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-25 15:20:56 +00:00
Michael Niedermayer
d593e32983 use 16bit IDWT (a SIMD implementation of it should be >2x faster then with
the old 32bit code)
disable mmx/sse2 optimizations as they need a rewrite now

Originally committed as revision 10218 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-25 03:00:51 +00:00
Aurelien Jacobs
73f51a4d3e help some gcc version to optimize out those functions
Originally committed as revision 9785 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-24 08:54:56 +00:00
Aurelien Jacobs
674eeb5f57 cosmetics: indentation
Originally committed as revision 9582 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-10 20:27:50 +00:00
Aurelien Jacobs
eb75a69818 Avoid linking with h263.c functions when the relevant codecs
are not compiled in.

Originally committed as revision 9581 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-10 20:23:08 +00:00
Måns Rullgård
a00177a952 make arguments to ssd_int8_vs_int16() const
Originally committed as revision 9548 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-08 23:15:00 +00:00
Zuxy Meng
663deb54af Remove incorrect comment; MMX2 is preferred over 3DNow! on Athlon
Originally committed as revision 9079 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-20 05:07:44 +00:00
Zuxy Meng
038bfcf9d6 3DNow! and SSSE3 optimization to QNS DSP functions; use pmulhrw/pmulhrsw instead of pmulhw
Originally committed as revision 9053 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-18 08:18:56 +00:00
Aurelien Jacobs
5b0b7054b4 better separation of vp3dsp functions from dsputil_mmx.c
Originally committed as revision 9039 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-16 23:23:45 +00:00
Ronald S. Bultje
b550bfaa61 Add libavcodec to compiler include flags in order to simplify header
include paths in the source files.
mostly from a patch by Ronald S. Bultje, rbultje ronald.bitfreak net

Originally committed as revision 9034 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-16 09:51:45 +00:00
Panagiotis Issaris
9b5dc86746 Make vp3dsp*.c compilation optional.
Originally committed as revision 9025 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-14 14:28:13 +00:00
Loren Merritt
1edbfe1994 factor sum_abs_dctelem out of dct_sad, and simd it.
sum_abs_dctelem_* alone:
core2: c=186 mmx2=39 sse2=21 ssse3=13 (cycles)
k8: c=163 mmx2=33 sse2=31
p4: c=370 mmx2=60 sse2=60
 dct_sad including sum_abs_dctelem_*:
core2: c=405 mmx2=258 sse2=240 ssse3=232
k8: c=624 mmx2=394 sse2=392
p4: c=849 mmx2=556 sse2=556

Originally committed as revision 9001 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-12 02:41:25 +00:00
Loren Merritt
561f940c03 sse2 & ssse3 versions of hadamard. unroll and inline diff_pixels.
core2: before mmx2=193 cycles. after mmx2=174 sse2=122 ssse3=115 (cycles).
k8: before mmx2=205. after mmx2=184 sse2=180.
p4: before mmx2=342. after mmx2=314 sse2=309.

Originally committed as revision 9000 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-12 01:16:06 +00:00
Loren Merritt
5adf43e47e cosmetics: remove code duplication in hadamard8_diff_mmx
Originally committed as revision 8946 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-09 01:46:33 +00:00
Loren Merritt
bba5293bb7 cosmetics: remove duplicate transpose macro
Originally committed as revision 8939 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-08 17:55:56 +00:00