Commit Graph

56 Commits

Author SHA1 Message Date
Diego Pettenò
be449fca79 Convert asm keyword into __asm__.
Neither the asm() nor the __asm__() keyword is part of the C99
standard, but while GCC accepts the former in C89 syntax, it is not
accepted in C99 unless GNU extensions are turned on (with -fasm). The
latter form is accepted in any syntax as an extension (without
requiring further command-line options).

Sun Studio C99 compiler also does not accept asm() while accepting
__asm__(), albeit reporting warnings that it's not valid C99 syntax.

Originally committed as revision 15627 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-16 13:34:09 +00:00
Michael Niedermayer
4f20b45fbe Fix h264_loop_filter_strength_mmx2() so it works with PAFF.
fixed at least:
CVFI1_Sony_D.jsv
CVFI1_SVA_C.264
MR6_BT_B.h264

Originally committed as revision 14310 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-19 21:53:54 +00:00
Ramiro Polla
40d0e665d0 Do not misuse long as the size of a register in x86.
typedef x86_reg as the appropriate size and use it instead.

Originally committed as revision 13081 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-08 21:11:24 +00:00
Loren Merritt
ce53144bac h264 chroma mc ssse3
width8: 180->92, width4: 78->63 cycles (core2)

Originally committed as revision 12661 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-01 04:51:28 +00:00
Loren Merritt
ec199cc94c asm argument that might be in memory needs a size
Originally committed as revision 11890 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-10 01:45:42 +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
7080ec2937 fix aliasing warnings. simpler too.
Originally committed as revision 11875 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-06 04:14:07 +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
b64dfbb8d2 add qpel rounder once during hv rather than twice during hv and whatever it's averaged with
Originally committed as revision 11870 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-05 03:58:13 +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
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
Loren Merritt
51f0ac65df remove some movq in ff_h264_idct8_add_mmx. 225->217 cycles on core2.
Originally committed as revision 11825 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-03 03:21:47 +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
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
Shane
bdb273564c Fix intended order of operations for 4 assert() checks.
Patch by Shane, gnome42 T gmail O com

Originally committed as revision 10711 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-11 22:18:38 +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
Reimar Döffinger
a1ce61108b Fix parts missed in clip -> av_clip rename
Originally committed as revision 8760 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-19 16:12:06 +00:00
Michael Niedermayer
2a115873af add a few asserts to ensure alignment
Originally committed as revision 7994 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-16 21:22:53 +00:00
Michael Niedermayer
00e210ddbb prevent h.264 MC related functions from being inlined (yes this is much faster the code just doesnt fit in the code cache otherwise)
Originally committed as revision 7993 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-16 21:21:07 +00:00
Michael Niedermayer
079e61db5d ensure alignment (no speed change)
Originally committed as revision 6891 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-03 16:54:05 +00:00
Michael Niedermayer
f5a9e8f33d merging mov & and (no speedchange)
Originally committed as revision 6889 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-03 16:02:18 +00:00
Michael Niedermayer
e80cf125a7 2 instructions less (same speed)
Originally committed as revision 6888 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-03 15:40:57 +00:00
Michael Niedermayer
9347118237 comment about failed optimization
Originally committed as revision 6887 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-03 15:17:36 +00:00
Michael Niedermayer
38cfdc83f0 move luma tc0 related init into asm
5% faster filter_mb_fast() on P3

Originally committed as revision 6884 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-03 14:28:30 +00:00
Michael Niedermayer
25225c3773 2 instructions less in h264_loop_filter_luma_mmx2()
Originally committed as revision 6882 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-03 12:07:53 +00:00
Michael Niedermayer
bda2203d56 preempt possible overflow
Originally committed as revision 6881 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-03 11:07:35 +00:00
Michael Niedermayer
5a1553dee3 1 instruction less
Originally committed as revision 6880 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-03 09:59:15 +00:00
Michael Niedermayer
e9f1885c21 optimize H264_DEBLOCK_P0_Q0
2.5% faster filter_mb_fast() on P3

Originally committed as revision 6877 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-03 02:03:56 +00:00
Diego Biurrun
b78e7197a8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
and fix GPL/LGPL version mismatches.

Originally committed as revision 6577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-07 15:30:46 +00:00
Loren Merritt
3e20143ee7 mmx implementation of deblocking strength decision.
2-3% faster h264.

Originally committed as revision 6113 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-28 09:33:01 +00:00
Måns Rullgård
3f8674a902 remove redundant macro definitions
Originally committed as revision 5589 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-02 22:01:31 +00:00
Loren Merritt
fdd3057981 added mmx implementation of h264_chroma_mc2
Originally committed as revision 5200 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-22 22:05:00 +00:00
Loren Merritt
548a1c8a35 h264_idct8_add_mmx
Originally committed as revision 5123 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-07 22:45:56 +00:00
Loren Merritt
6da971f160 h264_idct_add only needs mmx1
Originally committed as revision 5122 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-07 22:33:32 +00:00
Loren Merritt
d84f7c61ee gcc2.95 workaround
Originally committed as revision 5111 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-05 19:02:35 +00:00
Loren Merritt
7a5b2fa812 remove some useless instructions
Originally committed as revision 5109 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-04 19:56:01 +00:00
Loren Merritt
6a8eb0f45a 4% faster h264_qpel_mc
Originally committed as revision 5094 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-02 08:21:08 +00:00
Loren Merritt
ef9d1d1575 h264: special case dc-only idct. ~1% faster overall
Originally committed as revision 4971 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-10 06:55:25 +00:00
Loren Merritt
4e295993ba 10l in 1.12
Originally committed as revision 4965 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-09 02:43:23 +00:00
Loren Merritt
6ee669732d 10l (x86_64)
Originally committed as revision 4952 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-07 16:10:48 +00:00
Loren Merritt
e545f37527 18% faster put_h264_qpel16_mc[13]2_mmx2
Originally committed as revision 4951 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-07 10:52:25 +00:00
Loren Merritt
c03ce51dfb 11% faster put_h264_qpel16_v_lowpass_mmx2
Originally committed as revision 4950 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-07 07:35:03 +00:00
Loren Merritt
0331f09237 15% faster put_h264_qpel16_hv_lowpass_mmx2
Originally committed as revision 4949 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-07 06:25:14 +00:00
Diego Biurrun
5509bffa88 Update licensing information: The FSF changed postal address.
Originally committed as revision 4842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-12 22:43:26 +00:00
Loren Merritt
e8b562087d tweak h264_biweight
Originally committed as revision 4835 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-09 03:38:37 +00:00
Loren Merritt
cec9395977 fix some potential arithmetic overflows in pred_direct_motion() and
ff_h264_weight_WxH_mmx2().

Originally committed as revision 4795 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-30 23:47:41 +00:00