Commit Graph

75 Commits

Author SHA1 Message Date
Gwenole Beauchesne
5716aec3f9 Fix XvMC. XvMCCreateBlocks() may not allocate 16-byte aligned blocks,
so we can't use SSE-optimized routines.

Originally committed as revision 21011 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-04 09:19:32 +00:00
Reimar Döffinger
4a1289450a Reduce number of ASM constraints for ff_lpc_compute_autocorr_sse2 since it
causes no significant speed difference and can avoid compilation issues with
--enable-pic.

Originally committed as revision 21003 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-02 17:48:08 +00:00
Diego Biurrun
4052cbf161 Get rid of pointless CONFIG_ANY_H263 preprocessor definition.
Originally committed as revision 20975 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-30 11:33:59 +00:00
Loren Merritt
758c7455f1 fix a crash in ape decoding on x86_32 sse2
Originally committed as revision 20777 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-08 21:24:01 +00:00
Loren Merritt
a4605efdf5 slightly faster scalarproduct_and_madd_int16_ssse3 on penryn, no change on conroe
Originally committed as revision 20743 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-05 17:53:11 +00:00
Loren Merritt
91e644ff77 r20739 broke compilation on systems without yasm
Originally committed as revision 20742 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-05 17:51:57 +00:00
Loren Merritt
b1159ad928 refactor and optimize scalarproduct
29-105% faster apply_filter, 6-90% faster ape decoding on core2
(Any x86 other than core2 probably gets much less, since this is mostly due to ssse3 cachesplit avoidance and I haven't written the full gamut of other cachesplit modes.)
9-123% faster ape decoding on G4.

Originally committed as revision 20739 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-05 15:09:10 +00:00
Loren Merritt
b10fa1bb8b port ape dsp functions from sse2 to mmx
now requires yasm

Originally committed as revision 20722 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-03 18:53:12 +00:00
Loren Merritt
4521308363 s/movdqa/movaps/ in sse1 fft. (regression in r20293)
Originally committed as revision 20371 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-25 03:09:53 +00:00
Loren Merritt
b07781b6e4 fix linking on systems with a function name prefix (10l in r20287)
Originally committed as revision 20294 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 21:44:03 +00:00
Loren Merritt
29e4edbbe7 sync yasm macros to x264
Originally committed as revision 20293 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 21:42:28 +00:00
Loren Merritt
e17ccf60fe huffyuv: add some const qualifiers
Originally committed as revision 20290 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 20:47:25 +00:00
Loren Merritt
2f77923d72 simd add_hfyu_left_prediction
2.2x faster than C on conroe, 3.6x on penryn.
4-6% faster huffyuv decoding if using left or plane mode and yuv

Originally committed as revision 20287 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 20:10:10 +00:00
Justin Ruggles
f4d608e344 add CONFIG_LPC to the build system for lpc dsputil functions. fixes build
problems when lpc.c is not compiled.

Originally committed as revision 20285 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 19:51:18 +00:00
Justin Ruggles
fde82ca7e4 Move autocorrelation function from flacenc.c to lpc.c. Also rename the
corresponding dsputil functions and remove their dependency on the FLAC
encoder.
Fixes Issue1486.

Originally committed as revision 20266 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-17 21:00:39 +00:00
Reimar Döffinger
ec65675504 Use MANGLE in cavsdsp, the current version using "m" constraints will not
compile on e.g. OpenBSD due to running out of registers.

Originally committed as revision 20123 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-01 15:30:27 +00:00
Reimar Döffinger
003121091e Replace several #ifdef PIC with the more obvious and correct
#if !HAVE_EBX_AVAILABLE, since all it does is avoid using ebx.

Originally committed as revision 20094 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-30 09:49:12 +00:00
Måns Rullgård
35de5d2412 cosmetics: fix indentation after previous commit
Originally committed as revision 20062 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 16:52:00 +00:00
Måns Rullgård
952e872198 Drop unused args from vector_fmul_add_add, simpify code, and rename
The src3 and step arguments to vector_fmul_add_add() are always zero
and one, respectively.  This removes these arguments from the function,
simplifies the code accordingly, and renames the function to better
match the new operation.

Originally committed as revision 20061 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 16:51:54 +00:00
Måns Rullgård
01b2214758 Merge FFTContext and MDCTContext
Originally committed as revision 19931 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-20 17:30:20 +00:00
Måns Rullgård
f486321395 Move per-arch fft init bits into the corresponding subdirs
Originally committed as revision 19864 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-15 21:14:14 +00:00
Måns Rullgård
4e36a5b46f Move declarations of some mmx functions to dsputil_mmx.h
Originally committed as revision 19739 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-29 16:55:50 +00:00
Vitor Sessak
9263a05aab Mark "i" parameter of vector_clipf_sse() as early-clobber
Originally committed as revision 19731 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-27 15:52:44 +00:00
Vitor Sessak
50e23ae9d3 Mark parameter src of vector_clipf() as const
Originally committed as revision 19729 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-27 15:38:59 +00:00
Vitor Sessak
0a68cd876e SSE optimized vector_clipf(). 10% faster TwinVQ decoding.
Originally committed as revision 19728 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-27 14:49:36 +00:00
John Adcock
3f87f39cb8 Update x264 asm code to latest to add support for 64-bit Windows.
Use the new x86inc features to support 64-bit Windows on all non-x264 nasm
assembly code as well.
Patch by John Adcock, dscaler.johnad AT googlemail DOT com.
Win64 changes originally by Anton Mitrofanov.
x86util changes mostly by Holger Lubitz.

Originally committed as revision 19580 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-04 07:42:55 +00:00
Diego Biurrun
9be6f0d2f8 Do not check for both CONFIG_VC1_DECODER and CONFIG_WMV3_DECODER,
the former depends upon the latter.

Originally committed as revision 19533 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-29 09:54:49 +00:00
Diego Biurrun
99e5a9d1ea Do not redundantly check for both CONFIG_THEORA_DECODER and CONFIG_VP3_DECODER.
The Theora decoder depends on the VP3 decoder.

Originally committed as revision 19492 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-22 22:27:10 +00:00
Carl Eugen Hoyos
36904c4c9f Icc 11.1 still does not align the stack pointer, disable some x264 functions.
Originally committed as revision 19454 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-17 09:07:38 +00:00
Jason Garrett-Glaser
73b02e2460 SSE version of clear_blocks
Originally committed as revision 19206 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-16 17:33:57 +00:00
Jason Garrett-Glaser
4f717c69ed idct_dc for VC-1/WMV3 decoder; ~11% faster decoding overall.
Includes mmx2 asm for the various functions.
Note that the actual idct still does not have an x86 SIMD implemtation.
For wmv3 files using regular idct, the decoder just falls back to simple_idct,
since simple_idct_dc doesn't exist (yet).

Originally committed as revision 19204 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-16 09:00:55 +00:00
Ramiro Polla
74a841af8b Replace more uses of __attribute__((aligned)) by DECLARE_ALIGNED.
Originally committed as revision 19089 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-04 23:25:09 +00:00
Ramiro Polla
989b7181ac Use fewer macros in x86-optimized mlpdsp.
Fixes compilation on 32-bit llvm which didn't allow a cast in an m operand.

Originally committed as revision 19086 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-03 23:48:28 +00:00
Alexander Strange
2b9969a945 H264: Fix out of bounds reads in SSSE3 MC
Reading above src[-2] isn't safe, so move loads and palignr ahead
3 pixels to load starting at the first pixel actually used.

Fixes issue941.

Originally committed as revision 18999 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-30 22:19:14 +00:00
Ramiro Polla
7c4c60e520 mlp: Use LABEL_MANGLE() to export label symbols from inside asm block.
Originally committed as revision 18935 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-25 01:52:05 +00:00
Ramiro Polla
5624766d18 MLP DSP functions x86-optimized.
12.59% overall speedup in x86_32
 9.98% overall speedup in x86_64
compared to gcc 4.3.3

Originally committed as revision 18903 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-23 00:23:30 +00:00
David Conrad
c21c835b8d avg_ pixel functions need to use (dst+pix+1)>>1 to average with existing
pixels, not (dst+pix)>>1.
This makes the mmx functions bitexact with the C functions.

Originally committed as revision 18527 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-15 19:10:16 +00:00
David Conrad
9bf0fdf378 VC1: extend MMX qpel MC to include MMX2 avg qpel
Originally committed as revision 18519 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-15 02:25:42 +00:00
David Conrad
8013da7364 VC1: add and use avg_no_rnd chroma MC functions
Originally committed as revision 18518 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-14 23:56:10 +00:00
David Conrad
c374691b28 Rename put_no_rnd_h264_chroma* to reflect its usage in VC1 only
Originally committed as revision 18517 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-14 23:55:39 +00:00
Michael Niedermayer
cfe675269b Do not use SSE2 SAD for snow as it requires more alignment than can be
easily provided.
Fixes issue315.

Originally committed as revision 18404 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-09 21:53:48 +00:00
Stefano Sabatini
6b4343616c Rename FF_MM_MMXEXT to FF_MM_MMX2, for both clarity and consistency
with libswscale.

Originally committed as revision 18330 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-04 13:20:53 +00:00
Reimar Döffinger
0be9e73e38 Mark line_skip3 asm argument as output-only instead of using av_uninit.
Originally committed as revision 18327 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-03 14:03:49 +00:00
Reimar Döffinger
d7460a9cac Mark put_signed_pixels_clamped_mmx output operands as early-clobber because
they are. Hopefully fixes some FATE errors, too.

Originally committed as revision 18326 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-03 14:02:34 +00:00
Reimar Döffinger
531a3d2721 Use DECLARE_ASM_CONST for non-global ff_vector128 constant used via MANGLE
Originally committed as revision 18325 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-03 14:01:24 +00:00
Alex Converse
3dd6531208 Rewrite put_signed_pixels_clamped_mmx() to eliminate mmx.h from dsputil_mmx.c.
Originally committed as revision 18319 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-02 21:02:42 +00:00
David Conrad
710441c2f6 Add SSE4 detection support
Originally committed as revision 18302 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-01 09:11:32 +00:00
Matthieu Castet
ecf05a5971 Remove useless casting in asm "m" operand.
Patch by Matthieu Castet, castet D matthieu A free D fr

Originally committed as revision 18054 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-19 23:29:11 +00:00
Zuxy Meng
d05f808dc9 Remove CPUID availability check on AMD64 as it's architectural.
Originally committed as revision 17543 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-23 15:53:39 +00:00
Jason Garrett-Glaser
e27ad11840 Convert x264 asm files to proper unix line breaks
Originally committed as revision 17524 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-22 11:35:32 +00:00