Commit Graph

531 Commits

Author SHA1 Message Date
Diego Biurrun
9686df2be5 Delete unnecessary 'extern' keywords.
Originally committed as revision 15990 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-03 15:23:30 +00:00
Reimar Döffinger
35d0c2173c Replace pushf/popf by explicit pushfl/popfl (32 bit) or pushfq/popfq (x86_64),
to fix generated code on ICC 11.0.

Originally committed as revision 15935 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-25 07:34:20 +00:00
Måns Rullgård
4deaa94639 Add shift argument to MULL() macro
This replaces use of FRAC_BITS in the MULL() definition with a third
argument specifying the shift amount.  All uses of this macro are
updated to pass FRAC_BITS as third argument.

Originally committed as revision 15921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-24 09:28:55 +00:00
Baptiste Coudurier
d45be17855 convert fdct_mmx to plain asm
Originally committed as revision 15819 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-14 02:44:15 +00:00
Dominik Mierzejewski
82d1605fe7 Remove duplicated MM_* macros for CPU capabilities from dsputil.h.
Add missing one for FF_MM_ALTIVEC to avcodec.h.
Rename all the occurences of MM_* to the corresponding FF_MM_*.

Originally committed as revision 15770 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-03 18:08:00 +00:00
Diego Biurrun
1fcb9be39a asm() --> __asm__() in #warning comment
Originally committed as revision 15746 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-29 23:44:40 +00:00
Diego Biurrun
01f54021dc Add missing headers to pass 'make checkheaders'.
Originally committed as revision 15745 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-29 23:43:55 +00:00
Diego Pettenò
782fc0c36f Rename template included sources from .h to _template.c.
There are multiple source files that are #include'd rather than
compiled, as they are used as template for generation of similar code,
like asm-optimised code. Some of these files are right now named with
a .h extension, although they are not header in any reasonable sense.

Rename them so that instead of being named with .h extension they are
named with _template.c as final part.

Originally committed as revision 15730 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-27 14:35:58 +00:00
Reimar Döffinger
31c4f07017 Use x86_reg type instead of long in float_to_int16 MMX/SSE functions.
Fixes compilation on MinGW64.

Originally committed as revision 15655 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-20 16:05:29 +00:00
David Conrad
0dba1995bc Cosmetics: reindent
Originally committed as revision 15644 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-19 04:44:24 +00:00
David Conrad
ca4a4ac1b3 Combine non-bitexact sections
Originally committed as revision 15643 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-19 04:43:35 +00:00
David Conrad
daa1ea049a VP3 loop filter is mmx2 not mmx
Originally committed as revision 15642 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-19 04:40:24 +00:00
David Conrad
357f45d9bc MMX VP3 Loop Filter
Originally committed as revision 15630 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-17 03:18:08 +00:00
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
Baptiste Coudurier
f76543c9b9 get_pixels_sse2, ~+12% performance compared to mmx
Originally committed as revision 15591 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-09 18:36:49 +00:00
Diego Biurrun
098b4169f1 Add a bunch of const qualifiers to function arguments.
Taken from the upstream libmpeg2 version of the file.

Originally committed as revision 15585 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-07 21:41:25 +00:00
Diego Biurrun
8f271177b0 Sync cosmetics from upstream.
Originally committed as revision 15576 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-07 08:37:20 +00:00
Diego Pettenò
8539d8b573 Declare ff_pw_53 and ff_pw_18 as assembler constants.
Patch by Diego 'Flameeyes' Petten

Originally committed as revision 15553 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-04 16:48:07 +00:00
David Conrad
f7e5b0cc8f Remove duplication of TRANSPOSE8 macro, also removing some redundant load/stores
Originally committed as revision 15355 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-18 03:08:33 +00:00
David Conrad
7b16a97969 Make a separate macro for writing an entire block from registers to memory
Originally committed as revision 15354 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-18 03:08:13 +00:00
David Conrad
3f429d11da Factorize SSE2_(Row|Column)_IDCT into one macro
Originally committed as revision 15353 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-18 03:07:41 +00:00
David Conrad
3c1ebfd56d Cosmetics: remove excessive blank lines
Originally committed as revision 15351 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-17 20:52:54 +00:00
David Conrad
8cfd78ce8f Ensure MMX/SSE2 VP3 IDCT selection isn't disabled when only Theora is enabled
Originally committed as revision 15350 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-17 19:49:31 +00:00
David Conrad
c3c5bba1e2 Cosmetics: reindent
Originally committed as revision 15349 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-17 19:38:44 +00:00
David Conrad
f7fc9e499c Rewrite SSE2 VP3 IDCT in inline asm
Originally committed as revision 15347 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-17 19:30:51 +00:00
David Conrad
437e3f4dbc Rewrite MMX VP3 IDCT in inline asm
Originally committed as revision 15346 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-17 19:30:33 +00:00
David Conrad
ccd3ec82b8 MMX/SSE2 VP3 IDCT are bitexact now that the dequantization matrices are permutated correctly
Originally committed as revision 15345 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-17 19:30:03 +00:00
Stefano Sabatini
987903826b Globally rename the header inclusion guard names.
Consistently apply this rule: the guard name is obtained from the
filename by stripping the leading "lib", converting '/' and '.'  to
'_' and uppercasing the resulting name. Guard names in the root
directory have to be prefixed by "FFMPEG_".

Originally committed as revision 15120 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-31 07:39:47 +00:00
David Conrad
b4c3d83584 Use ff_vp3_idct_data in vp3dsp_mmx.c rather than duplicating it
Originally committed as revision 15118 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-31 07:05:55 +00:00
David Conrad
43410eaf7c Declare ff_vp3_idct_data to be uint16_t
Originally committed as revision 15117 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-31 07:05:29 +00:00
David Conrad
587ae47aa7 Don't declare SSE vp3 idct data static, so it can be used in the mmx version
Originally committed as revision 15116 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-31 07:05:08 +00:00
David Conrad
c979fa030f Remove unused dequantization code from SSE VP3 IDCT
Originally committed as revision 15054 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-30 19:47:47 +00:00
David Conrad
167029a73a Use ff_pw_8 in MMX/SSE VP3 IDCT
Originally committed as revision 15053 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-30 19:41:42 +00:00
David Conrad
21383da8c4 Let ff_pw_8 be used as an SSE constant
Originally committed as revision 15052 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-30 19:40:21 +00:00
Vladimir Voroshilov
2ccddc0211 Add explicit (int) cast to i386 optimized MUL* macros.
Wrong result is returned when 16-bit value is passed as value.
Also fixes "Warning: using `%edx' instead of `%dx' due to `l' suffix".

Originally committed as revision 14981 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-26 19:38:17 +00:00
Alexis Ballier
dad6afb4cb stricter constraints of asm() blocks
All these variables are used as left operands of a movd instruction,
which does accept only memory or register operands while the "g"
constraint also allows immediates. Use "rm" instead.
Patch by Alexis Ballier %alexis P ballier A gmail P com%

Originally committed as revision 14941 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-24 08:41:20 +00:00
Loren Merritt
7ca7d5fae0 file which should have been added in r14749
Originally committed as revision 14751 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-14 05:00:25 +00:00
Loren Merritt
75ac287517 missing prototype
Originally committed as revision 14750 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-14 04:41:02 +00:00
Loren Merritt
ebceaa1cd5 gcc chokes on the 7 registers needed for float_to_int16_interleave6 (even inside HAVE_7REGS), so write it in yasm
Originally committed as revision 14749 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-14 04:40:46 +00:00
Loren Merritt
ee46753739 gcc chokes on xmm constraints, so pessimize int32_to_float_fmul_scalar_sse a little
Originally committed as revision 14748 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-14 04:39:59 +00:00
Loren Merritt
675872382f special case 6 channel version of float_to_int16_interleave
5% faster ac3

Originally committed as revision 14744 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-13 23:36:37 +00:00
Loren Merritt
911e21a306 simd int->float
20% faster ac3 if downmixing, 15% if not

Originally committed as revision 14743 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-13 23:35:40 +00:00
Loren Merritt
ac2e556456 simd downmix
13% faster ac3 if downmixing

Originally committed as revision 14742 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-13 23:33:48 +00:00
Loren Merritt
862b98d42c cosmetics in dsp init
Originally committed as revision 14704 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-12 00:51:45 +00:00
Loren Merritt
0a570e826d remove mdct tmp buffer
Originally committed as revision 14702 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-12 00:36:36 +00:00
Loren Merritt
46803f4f67 optimize imdct_half:
remove tmp buffer.
skip fft reinterleave pass, leaving data in a format more convenient for simd.
merge post-rotate with post-reorder.

Originally committed as revision 14700 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-12 00:33:34 +00:00
Loren Merritt
5d0ddd1a9f split-radix FFT
c is 1.9x faster than previous c (on various x86 cpus), sse is 1.6x faster than previous sse.

Originally committed as revision 14698 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-12 00:26:58 +00:00
Loren Merritt
bafad220a7 import yasm macros from x264
Originally committed as revision 14697 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-11 23:54:09 +00:00
Uoti Urpala
f769b746aa Mark add_png_paeth_prediction_* functions which are only used within this file
as static. patch by Uoti Urpala, uoti.urpala pp1.inet fi

Originally committed as revision 14509 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-02 17:32:55 +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