Commit Graph

534 Commits

Author SHA1 Message Date
Aurelien Jacobs d08ea32c23 Get rid of mmx_t.
Originally committed as revision 16116 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-14 00:46:27 +00:00
Baptiste Coudurier 193ce3ab78 dnxhd get_pixels_8x4_sym sse2
Originally committed as revision 16072 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-12 00:19:14 +00:00
Loren Merritt 5fecfb7d58 clear_block mmx
Originally committed as revision 16045 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-10 21:35:17 +00:00
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