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
Loren Merritt
5eb0f2a425
float_to_int16_interleave: change src to an array of pointers instead of assuming it's contiguous.
...
this has no immediate effect, but will allow it to be used in more codecs.
Originally committed as revision 14252 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-16 00:50:12 +00:00
Loren Merritt
4342a7f30b
10l, float_to_int16_interleave_sse/3dnow wrote the wrong samples
...
Originally committed as revision 14236 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-15 04:11:30 +00:00
Loren Merritt
b9fa32082c
exploit mdct symmetry
...
2% faster vorbis on conroe, k8. 7% on celeron.
Originally committed as revision 14207 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-13 15:03:58 +00:00