Christophe Gisquet
6b03900382
x86 dsputil: provide SSE2/SSSE3 versions of bswap_buf
...
While pshufb allows emulating bswap on XMM registers for SSSE3, more
shuffling is needed for SSE2. Alignment is critical, so specific codepaths
are provided for this case.
For the huffyuv sequence "angels_480-huffyuvcompress.avi":
C (using bswap instruction): ~ 55k cycles
SSE2: ~ 40k cycles
SSSE3 using unaligned loads: ~ 35k cycles
SSSE3 using aligned loads: ~ 30k cycles
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-01-30 10:19:55 +01:00
Ronald S. Bultje
e92003514d
png: move DSP functions to their own DSP context.
2012-01-29 08:11:18 -08:00
Ronald S. Bultje
c3af52fa8b
dsputil: use vertical component for drawing bottom edge.
...
Current code only writes 8 pixels of vertical edge for YUV422, which
causes MC artifacts when subsequent frames use data from that edge.
2012-01-25 18:06:36 +08:00
Diego Biurrun
88b9735753
build: conditionally compile x86 H.264 chroma optimizations
2011-12-14 11:58:45 +01:00
Justin Ruggles
395f2e70dd
dsputil: use movups instead of movdqu in ff_emu_edge_core_sse()
...
This allows emulated_edge_mc_sse() and gmc_sse() to be used under
AV_CPU_FLAG_SSE.
2011-11-22 15:40:51 -05:00
Justin Ruggles
9d06037d48
twinvq: add SSE/AVX optimized sum/difference stereo interleaving
2011-11-11 14:13:58 -05:00
Justin Ruggles
b8f02f5b4e
dsputil: use cpuflags in x86 versions of vector_clip_int32()
2011-11-06 20:50:06 -05:00
Daniel Kang
ded3e9f054
H.264: Cometics to dsputil_mmx.c
...
Add whitespace.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-10-26 06:41:32 -07:00
Ronald S. Bultje
e3f530feca
prores: idct sse2/sse4 optimizations.
...
~3.0-3.5x as fast as original C version, 1.6x as fast overall.
2011-10-11 07:50:48 -07:00
Alex Converse
48f7163f13
dsputil_mmx: Honor HAVE_AMD3DNOW
2011-08-15 11:20:08 -07:00
Kostya Shishkov
d241f51e0f
Move RV3/4-specific DSP functions into their own context
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-11 16:07:15 -07:00
Jason Garrett-Glaser
a3bf7b864a
H.264: tweak some other x86 asm for Atom
2011-07-29 12:24:15 -07:00
Mans Rullgard
a617c6aaa3
dsputil: update per-arch init funcs for non-h264 high bit depth
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-21 18:10:58 +01:00
Mans Rullgard
e7a972e113
simple_idct: add 10-bit version
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-20 17:49:48 +01:00
Diego Biurrun
65083b4911
dsputil: remove disabled code
2011-07-18 11:48:35 +02:00
Mans Rullgard
710b8df949
dsputil: remove ff_emulated_edge_mc macro used in one place
...
This macro can cause problems in conjunction with the bitdepth
template expansion. It was presumably added to keep source
compatibility when high bitdepth support was added. However,
emulated_edge_mc is a dsputil pointer and should not be called
directly, so there is little reason to keep such a macro.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-10 17:55:58 +01:00
Daniel Kang
c0483d0c7a
H.264: Add x86 assembly for 10-bit H.264 predict functions
...
Mainly ported from 8-bit H.264 predict.
Some code ported from x264. LGPL ok by author.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-07-08 15:59:29 -07:00
Daniel Kang
3c7c16fde3
YASM: Shut up unused variable compiler warning with --disable-yasm.
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-07-04 18:49:09 +02:00
Daniel Kang
58f7aad051
Fix build with --disable-yasm.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-07-03 22:56:09 -07:00
Daniel Kang
9bfa5363da
H.264: Add x86 assembly for 10-bit H.264 qpel functions.
...
Mainly ported from 8-bit H.264 qpel.
Some code ported from x264. LGPL ok by author.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-07-03 07:43:38 -07:00
Justin Ruggles
6054cd25b4
ac3enc: add int32_t array clipping function to DSPUtil, including x86 versions.
2011-07-01 13:02:11 -04:00
Diego Biurrun
d2ee495fb2
configure: Drop check for availability of ten assembler operands.
...
This was done to support gcc 2.95, which is an old legacy compiler
that fails to compile the current codebase anyway.
2011-06-28 13:14:37 +02:00
Ronald S. Bultje
ed63f527f2
Fix build if yasm is not available.
2011-06-18 08:34:14 -04:00
Daniel Kang
f188a1e0ca
H.264: Add x86 assembly for 10-bit MC Chroma H.264 functions.
...
Mainly ported from 8-bit H.264 MC Chroma.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-06-18 07:52:19 -04:00
Jason Garrett-Glaser
c90b94424c
4:4:4 H.264 decoding support
...
Note: this is 4:4:4 from the 2007 spec revision, not the previous (now deprecated) 4:4:4 mode in H.264.
2011-06-13 21:16:30 -07:00
Jason Garrett-Glaser
504811baea
Roll back 4:4:4 H.264 for now
...
Needs some ARM/PPC asm modifications.
2011-06-13 13:38:46 -07:00
Jason Garrett-Glaser
c9c493872c
4:4:4 H.264 decoding support
...
Note: this is 4:4:4 from the 2007 spec revision, not the previous (now deprecated) 4:4:4 mode in H.264.
2011-06-13 12:21:39 -07:00
Jason Garrett-Glaser
9f3d6ca4f1
Port x86 10-bit H.264 deblock asm from x264
2011-05-10 20:02:15 -07:00
Oskar Arvidsson
19a0729b4c
Adds 8-, 9- and 10-bit versions of some of the functions used by the h264 decoder.
...
This patch lets e.g. dsputil_init chose dsp functions with respect to
the bit depth to decode. The naming scheme of bit depth dependent
functions is <base name>_<bit depth>[_<prefix>] (i.e. the old
clear_blocks_c is now named clear_blocks_8_c).
Note: Some of the functions for high bit depth is not dependent on the
bit depth, but only on the pixel size. This leaves some room for
optimizing binary size.
Preparatory patch for high bit depth h264 decoding support.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-05-10 07:24:36 -04:00
Alexander Strange
1500be13f2
dsputil: allow to skip drawing of top/bottom edges.
2011-03-26 17:45:38 -04:00
Justin Ruggles
e6e9823488
Add apply_window_int16() to DSPContext with x86-optimized versions and use it
...
in the ac3_fixed encoder.
2011-03-22 21:08:30 -04:00
Mans Rullgard
2912e87a6c
Replace FFmpeg with Libav in licence headers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Ronald S. Bultje
bf6fa73245
dsputil_mmx.c: remove ff_vector128.
...
Remove ff_vector128, it is identical to ff_pb_80.
2011-02-19 10:51:15 -05:00
Ronald S. Bultje
12802ec060
dsputil: move VC1-specific stuff into VC1DSPContext.
2011-02-17 17:35:35 -05:00
Justin Ruggles
c73d99e672
Separate format conversion DSP functions from DSPContext.
...
This will be beneficial for use with the audio conversion API without
requiring it to depend on all of dsputil.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-02 02:44:53 +00:00
Ronald S. Bultje
81f2a3f4ff
Implement a SIMD version of emulated_edge_mc() for x86.
...
From ~550 cycles (C version) to 170 (SSE/x86-64), 206 (MMX/x86-32)
and 196 (SSE2/x86-32) cycles.
2011-01-31 20:55:56 -05:00
Justin Ruggles
d19b744a36
cosmetics: indentation
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-31 20:30:15 +00:00
Justin Ruggles
80ba1ddb58
Remove unneeded add bias from 3 functions.
...
DSPContext.vector_fmul_window()
DCADSPContext.lfe_fir()
SynthFilterContext.synth_filter_float()
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-31 20:28:42 +00:00
Justin Ruggles
6eabb0d3ad
Change DSPContext.vector_fmul() from dst=dst*src to dest=src0*src1.
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-22 17:53:27 +00:00
Mans Rullgard
ef4a65149d
Replace ASMALIGN() with .p2align
...
This macro has unconditionally used .p2align for a long time and
serves no useful purpose.
2011-01-18 20:48:24 +00:00
Mans Rullgard
ac3c9d0169
x86: remove VLA in ac3_downmix_sse
2011-01-18 20:48:24 +00:00
Ronald S. Bultje
ec3233a855
Fix ff_pw_3 alignment.
...
Originally committed as revision 26344 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-14 23:26:34 +00:00
Jason Garrett-Glaser
19fb234e4a
H.264: split luma dc idct out and implement MMX/SSE2 versions
...
About 2.5x the speed.
NOTE: the way that the asm code handles large qmuls is a bit suboptimal.
If x264-style dequant was used (separate shift and qmul values), it might
be possible to get some extra speed.
Originally committed as revision 26336 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-14 21:34:25 +00:00
Ronald S. Bultje
8d147f1f60
For rounding in chroma MC SSSE3, use 16-byte pw_3/4 instead of reading 8 bytes
...
and then using movlhps to dup it into the higher half of the register.
Originally committed as revision 26086 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-24 17:23:22 +00:00
Baptiste Coudurier
90f1f3bf00
In yadif filter, declare asm constants directly to avoid dependency on libavcodec
...
Originally committed as revision 25895 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-06 00:14:15 +00:00
Baptiste Coudurier
9e95999e2a
10l, add ff_pw_1 to dsputil_mmx for yadif sse2
...
Originally committed as revision 25881 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-04 13:06:06 +00:00
İsmail Dönmez
80e33d2451
dsputil: Use explicit movzbl instead of movzx
...
This fixes compilation with the latest clang trunk version.
Patch by İsmail Dönmez, ismail at namtrac dot org
Originally committed as revision 25628 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-01 19:35:51 +00:00
Ramiro Polla
153ca56b38
xmm_clobbers: list xmm registers first in clobber list
...
suncc does not like the leading commas inside the macro, but it has no problem
with trailing commas.
Originally committed as revision 25615 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-31 18:14:48 +00:00
Ramiro Polla
5d543a3d13
dsputil_mmx: add xmm registers to clobber list
...
Originally committed as revision 25611 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-31 13:57:58 +00:00
Ramiro Polla
559738eff3
dsputil_mmx: prefer xmm registers below xmm6 when they are available
...
Originally committed as revision 25606 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-31 13:13:53 +00:00
Ronald S. Bultje
dd68d4db43
MMX, MMX2, SSE2 and SSSE3 optimizations for pred16x16/8x8_plane H264 intra
...
prediction (plus some with different rounding for svq3/rv40). Speedup (for
SSSE3) about ~6-fold, 3.6% faster overall with cathedral sample.
Originally committed as revision 25361 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-05 22:06:18 +00:00
Eli Friedman
329d689f75
Use sse2 variant of put_pixels16() for no_rnd also. Provides a minor speed
...
increase to e.g. vc1, snow and mpeg decoding.
Patch by Eli Friedman <eli dot friedman gmail com>.
Originally committed as revision 25259 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-29 15:34:43 +00:00
Stefano Sabatini
c6c98d0897
Move mm_support() from libavcodec to libavutil, make it a public
...
function and rename it to av_get_cpu_flags().
Originally committed as revision 25076 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-08 15:07:14 +00:00
Stefano Sabatini
7160bb716b
Rename FF_MM_ symbols related to CPU features flags as AV_CPU_FLAG_
...
symbols, and move them from libavcodec/avcodec.h to libavutil/cpu.h.
Originally committed as revision 25040 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-04 09:59:08 +00:00
Ronald S. Bultje
2c166c3af1
Port latest x264 deblock asm (before they moved to using NV12 as internal
...
format), LGPL'ed with permission from Jason and Loren. This includes mmx2
code, so remove inline asm from h264dsp_mmx.c accordingly.
Originally committed as revision 25031 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-03 16:52:46 +00:00
Ronald S. Bultje
14bc1f2485
Split h264dsp_mmx.c (which was #included in dsputil_mmx.c) in h264_qpel_mmx.c,
...
still #included in dsputil_mmx.c and is part of DSPContext, and h264dsp_mmx.c,
which represents H264DSPContext and is now compiled on its own.
Originally committed as revision 25018 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-01 20:48:59 +00:00
Ronald S. Bultje
79ce0f002e
Fix compilation failure if yasm is disabled (missing vp3 symbols).
...
Originally committed as revision 24992 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-30 20:30:40 +00:00
Ronald S. Bultje
d0eb5a1174
Move H264 chroma MC from inline asm to yasm. This fixes VP3/5/6 and VC-1
...
fate failures on Win64.
Originally committed as revision 24989 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-30 16:31:04 +00:00
Ronald S. Bultje
e9f5f020c6
Move VP3 IDCT functions from inline ASM to YASM. This fixes part of the VP3/5/6
...
issues on Win64.
Originally committed as revision 24988 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-30 16:25:46 +00:00
Ronald S. Bultje
7e7c4b6008
Put ff_ prefix on non-static {put_signed,put,add}_pixels_clamped_mmx()
...
functions.
Originally committed as revision 24987 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-30 16:22:27 +00:00
Ronald S. Bultje
3a0885146c
Move vp6_filter_diag4() from DSPContext to VP56DSPContext.
...
Originally committed as revision 24921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-25 13:42:28 +00:00
Måns Rullgård
c0ec9918b0
Remove global mm_flags variable
...
Originally committed as revision 24909 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-24 17:47:05 +00:00
Eli Friedman
c12d6955e2
H.264: SSE2/SSSE3 weighted prediction asm
...
Patch by Eli Friedman <eli.friedman at gmail dot com>
Originally committed as revision 24702 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-05 00:13:38 +00:00
Måns Rullgård
f079a64aea
Move cavs dsp functions to their own struct
...
Originally committed as revision 24685 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-03 20:59:00 +00:00
Loren Merritt
c7b1d9768c
relicense h264 deblock sse2 to lgpl
...
Originally committed as revision 24408 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 00:39:49 +00:00
David Conrad
c7eec58170
Move ff_pw_* from vc1dsp_mmx.c to dsputil_mmx.c
...
Should fix compilation with icc and should help prevent any future duplicates
Originally committed as revision 24380 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-21 10:02:03 +00:00
Ronald S. Bultje
e9e456d850
VP8 MBedge loopfilter MMX/MMX2/SSE2 functions for both luma (width=16)
...
and chroma (width=8).
Originally committed as revision 24378 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-20 22:58:56 +00:00
Ronald S. Bultje
a711eb4829
VP8 H/V inner loopfilter MMX/MMXEXT/SSE2 optimizations.
...
Originally committed as revision 24250 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-15 23:02:34 +00:00
David Conrad
7af8fbd348
Make ff_pw_4 128 bits
...
Originally committed as revision 24207 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-11 22:52:55 +00:00
Ronald S. Bultje
f2a30bd840
Simple H/V loopfilter for VP8 in MMX, MMX2 and SSE2 (yay for yasm macros).
...
Originally committed as revision 24029 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-03 19:26:30 +00:00
Eli Friedman
b3858964d6
Add const to some pointer parameters.
...
Patch by Eli Friedman, eli D friedman A gmail
Originally committed as revision 23826 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-27 15:11:38 +00:00
Jason Garrett-Glaser
4af8cdfc3f
16x16 and 8x8c x86 SIMD intra pred functions for VP8 and H.264
...
Originally committed as revision 23783 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-25 18:25:49 +00:00
David Conrad
413abbe164
Add bitexact versions of put_no_rnd_pixels8 _x2 and _y2 for vp3/theora
...
Originally committed as revision 23463 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-04 04:46:26 +00:00
David Conrad
eb6a6cd788
vp3: DC-only IDCT
...
2-4% faster overall decode
Originally committed as revision 22896 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-17 02:04:30 +00:00
Måns Rullgård
4693b031a3
Move H264 dsputil functions into their own struct
...
This moves the H264-specific functions from DSPContext to the new
H264DSPContext. The code is made conditional on CONFIG_H264DSP
which is set by the codecs requiring it.
The qpel and chroma MC functions are not moved as these are used by
non-h264 code.
Originally committed as revision 22565 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-16 01:17:00 +00:00
Måns Rullgård
05aec7bb87
Separate DWT from snow and dsputil
...
This moves the DWT functions from snow.c and dsputil.c to a file of
their own. A new struct, DWTContext, holds the function pointers
previously part of DSPContext.
Originally committed as revision 22522 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-14 17:50:12 +00:00
Måns Rullgård
f49747e904
x86: move function prototypes to header files
...
Originally committed as revision 22266 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 22:37:08 +00:00
Måns Rullgård
84dc2d8afa
Remove DECLARE_ALIGNED_{8,16} macros
...
These macros are redundant. All uses are replaced with the generic
DECLARE_ALIGNED macro instead.
Originally committed as revision 22233 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 14:24:59 +00:00
David Conrad
19530266a5
Enable SSE2 (put|avg)_pixels_16_sse2
...
SVQ1 chroma has been special-cased aligned to 16-bytes since at least r15466
Other architectures also assume 16-byte alignment here too but set STRIDE_ALIGN
to 16.
Originally committed as revision 21736 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-10 02:02:06 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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