Reimar Döffinger
3d05c1fbec
Make the jump-table section-relative for x86_64 with PIC enabled.
...
This allows to get rid of the macho64 specific hack that moves them
to rodata (with worse cache behaviour) and avoids textrels which
e.g. Gentoo does not allow for x86_64 libraries.
Originally committed as revision 21551 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 19:26:47 +00:00
Loren Merritt
900479bb74
optimize h264_loop_filter_strength_mmx2
...
244->160 cycles on core2
Originally committed as revision 21462 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 17:17:48 +00:00
Alex Converse
3deb53849e
Implement an sse version of scalarproduct_float().
...
Originally committed as revision 21386 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-22 23:07:58 +00:00
Måns Rullgård
c67278098d
Move array specifiers outside DECLARE_ALIGNED() invocations
...
Originally committed as revision 21377 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-22 03:25:11 +00:00
David Conrad
1f630b9717
Use two separate memory arguments since 8+() is invalid gas syntax
...
Originally committed as revision 21360 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-21 09:46:57 +00:00
Michael Niedermayer
b4c2ada528
Attempt to fix asm compilation failure.
...
Only tested on gcc 4 & x86_64.
Originally committed as revision 21355 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 19:23:19 +00:00
Måns Rullgård
5e7dfb7de1
Move COPY3_IF_LT to lavc/mathops.h
...
This obscure macro is only used in motion_est.c so having it in lavc
makes more sense. See discussion here:
http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2008-November/056561.html
Originally committed as revision 21346 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 06:01:54 +00:00
David Conrad
c4f2b6dce3
Use constant offsets for memory operands since gcc is unable to
...
This fixes gcc failing to fit 6 memory locations into 7 registers on x86-32
Originally committed as revision 21337 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 00:34:10 +00:00
Michael Niedermayer
9ac4548ff7
Fix h264_loop_filter_strength_mmx2() so it works with b frames.
...
Originally committed as revision 21327 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 16:40:36 +00:00
Michael Niedermayer
ebddd2e253
Remove -2 -> -1 remapping, its not needed anymore as we must remap all
...
references per LUT anyway.
Originally committed as revision 21323 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 14:28:19 +00:00
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
Jason Garrett-Glaser
9bd5f59b33
Remove (incorrect) filenames from x264 asm files, add descriptions.
...
Originally committed as revision 17523 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-22 11:33:09 +00:00
Alexander Strange
b6188c5a55
Put dispatch_tab in the rodata section for macho64.
...
This fixes linking shared libavcodec, since the linker doesn't allow
text relocations in shared libraries under Darwin/x86_64.
Based on a patch by Art Clarke (aclarke xuggle com)
Originally committed as revision 17197 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-13 00:57:22 +00:00
Zuxy Meng
ecb24904fe
add SSE2 version of vp6_filter_diag
...
original patch by Zuxy Meng zuxy.meng _at_ gmail _dot_ com
Originally committed as revision 17195 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-13 00:02:33 +00:00
Sebastien Lucas
6af3c226c3
add MMX version of vp6_filter_diag
...
original patch by Sebastien Lucas sebastien.lucas _at_ gmail _dot_ com
Originally committed as revision 17194 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-12 23:52:52 +00:00
Aurelien Jacobs
5110b25e1e
convert ff_pw_64 into an xmm_reg for future use in vp6 sse code
...
Originally committed as revision 17192 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-12 23:48:07 +00:00
Diego Biurrun
15c13dde98
Fix wrong file name in header, noticed by David DeHaven, dave sagetv com.
...
Originally committed as revision 17158 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-11 16:12:04 +00:00
Diego Biurrun
d3a4b4e09c
Add check whether the compiler/assembler supports 10 or more operands.
...
thanks to Loren for some help with the asm statements
Originally committed as revision 17151 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-11 11:16:00 +00:00
Stefan Gehrer
e090c70f2f
avoid duplicating dsputil's clear_block
...
Originally committed as revision 17135 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-10 16:45:02 +00:00
Diego Biurrun
ea399a87b2
Remove svn:executable property from source file.
...
Originally committed as revision 17098 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-09 11:32:29 +00:00
Loren Merritt
3daa434a40
ff_add_hfyu_median_prediction_mmx2
...
overall ffvhuff decoding speedup: 28% on core2, 25% on k8.
Originally committed as revision 17059 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-08 17:45:30 +00:00
Loren Merritt
6166516d1f
re-enable mid_pred asm on x86_64. (broke in r16681)
...
Originally committed as revision 17058 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-08 17:44:04 +00:00
Baptiste Coudurier
353f87b8d4
fix typo in h264dsp_mmx (no effect currently as the function is not used), approved by Dark Shikari on IRC
...
Originally committed as revision 17046 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-08 06:35:21 +00:00
Diego Biurrun
bad5537e2c
Use full internal pathname in doxygen @file directives.
...
Otherwise doxygen complains about ambiguous filenames when files exist
under the same name in different subdirectories.
Originally committed as revision 16912 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-01 02:00:19 +00:00
David Conrad
137ae32760
Workaround for gcc 3.4 to align sh properly
...
Originally committed as revision 16797 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-26 03:40:48 +00:00
Diego Biurrun
406792e7b0
cosmetics: Remove pointless period after copyright statement non-sentences.
...
Originally committed as revision 16684 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-19 15:46:40 +00:00
Aurelien Jacobs
199436b952
moves mid_pred() into mathops.h (with arch specific code split by directory)
...
Originally committed as revision 16681 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-18 22:57:40 +00:00
Aurelien Jacobs
49fb20cb8a
replace all occurrence of ENABLE_ by the corresponding CONFIG_, HAVE_ or ARCH_
...
and remove all ENABLE_ definitions.
Originally committed as revision 16600 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-14 17:19:17 +00:00
Aurelien Jacobs
b250f9c66d
Change semantic of CONFIG_*, HAVE_* and ARCH_*.
...
They are now always defined to either 0 or 1.
Originally committed as revision 16590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-13 23:44:16 +00:00
Ramiro Polla
1bb04d5a44
configure: allow to disable sse code.
...
Based on patch by Michael Kostylev <mik at it-1 dot ru>
Originally committed as revision 16490 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-07 23:38:54 +00:00
Diego Biurrun
c47d146be8
Add missing 'void' keyword to parameterless function declarations.
...
Originally committed as revision 16436 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-05 13:57:43 +00:00
Mathieu Velten
21ff7689da
Use H264 MMX chroma functions to accelerate RV40 decoding.
...
Patch by Mathieu Velten (matmaul A gmail)
Originally committed as revision 16419 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-04 01:36:11 +00:00
Jason Garrett-Glaser
37fed10087
Add x264 SSE2 iDCT functions to H.264 decoder.
...
Originally committed as revision 16409 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-03 00:46:17 +00:00
Carl Eugen Hoyos
2c67c65963
Fix h264 decoding on SSE2 cores with icc compilation.
...
Originally committed as revision 16373 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-28 19:40:13 +00:00
Jason Garrett-Glaser
c1fc70362f
Fix compilation without optimization under 64-bit with x264 deblock asm enabled.
...
Originally committed as revision 16313 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-26 00:19:08 +00:00
Diego Biurrun
a6493a8fbd
Rename libavcodec/i386/ --> libavcodec/x86/.
...
It contains optimizations that are not specific to i386 and
libavutil uses this naming scheme already.
Originally committed as revision 16270 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-22 09:12:42 +00:00