Christophe Gisquet
2aef3d66c9
SBR DSP x86: implement SSE sbr_hf_gen
...
Start and end index are multiple of 2, therefore guaranteeing aligned access.
Also, this allows to generate 4 floats per loop, keeping the alignment all
along.
Timing:
- 32 bits: 326c -> 172c
- 64 bits: 323c -> 156c
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-12-07 11:04:26 +01:00
Diego Biurrun
9b15c0a9b3
x86: dsputilenc: port to cpuflags
2012-11-28 16:05:44 +01:00
Diego Biurrun
89145fbbfe
x86: h264dsp: Fix linking with yasm and optimizations disabled
...
Some optimized functions reference optimized symbols, so the functions
must be explicitly disabled when those symbols are unavailable.
2012-11-28 14:45:28 +01:00
Diego Biurrun
2e89aeed65
x86: h264_idct: port to cpuflags
2012-11-28 00:28:09 +01:00
Diego Biurrun
28e1cf19aa
x86: h264_weight: port to cpuflags
2012-11-27 21:10:38 +01:00
Diego Biurrun
7ee4071362
x86: fix build without inline asm
...
The qpel functions referenced here are not related to h264 and should
thus never have been under CONFIG_H264QPEL.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-11-26 01:50:47 +01:00
Justin Ruggles
2d3993ce8c
x86: h264 qpel: use the correct number of utilized xmm regs in cglobal
...
Fixes xmm register clobbering on win64.
2012-11-25 18:48:43 -05:00
Daniel Kang
610e00b359
x86: h264: Convert 8-bit QPEL inline assembly to YASM
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-11-25 20:38:35 +01:00
Daniel Kang
ad01ba6cea
x86: h264: Remove 3dnow QPEL code
...
The only CPUs that have 3dnow and don't have mmxext are 12 years old.
Moreover, AMD has dropped 3dnow extensions from newer CPUs.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-11-25 20:32:55 +01:00
Diego Biurrun
28c8e288fa
x86: h264_chromamc: port to cpuflags
2012-11-25 17:25:10 +01:00
Diego Biurrun
89923fce70
x86: h264_intrapred: Fix C function names in comments
...
Function names changed after switching to declaration with
PRED4x4/8x8/8x8L/16x16 macros in the C code.
2012-11-18 18:34:05 +01:00
Diego Biurrun
87af05c575
x86: SPLATD: port to cpuflags
2012-11-18 18:34:05 +01:00
Diego Biurrun
8c3849bc76
x86: dsputil: port to cpuflags
2012-11-16 10:38:23 +01:00
Diego Biurrun
26301caaa1
x86: mmx2 ---> mmxext in asm constructs
2012-11-14 00:58:51 +01:00
Diego Biurrun
5e9c6ef8f3
x86: h264_weight_10bit: port to cpuflags
2012-11-13 19:07:09 +01:00
Diego Biurrun
2b479bcab0
build: Drop AVX assembly ifdefs
...
An assembler able to cope with AVX instructions is now required.
2012-11-11 20:43:28 +01:00
Diego Biurrun
6cd796049d
x86: h264_qpel_10bit: drop unused parameter from MC10/MC20/MC30 macros
2012-11-10 14:49:09 +01:00
Diego Biurrun
4b60fac419
x86: PALIGNR: port to cpuflags
2012-11-09 21:31:31 +01:00
Diego Biurrun
4d1f69f244
x86: h264_qpel_10bit: port to cpuflags
2012-11-09 21:17:05 +01:00
Diego Biurrun
6ca60d4ddd
x86: h264_intrapred: port to cpuflags
2012-11-08 18:05:23 +01:00
Diego Biurrun
930e26a3ea
x86: h264qpel: Only define mmxext QPEL functions if H264QPEL is enabled
...
This fixes compilation with --disable-everything and components enabled.
2012-11-05 20:48:43 +01:00
Diego Biurrun
dbb37e7711
x86: PABSW: port to cpuflags
2012-11-05 14:51:10 +01:00
Diego Biurrun
6c104826bd
x86: vc1dsp: port to cpuflags
2012-11-05 14:51:10 +01:00
Diego Biurrun
0a7a94f2e5
x86: Refactor PSWAPD fallback implementations and port to cpuflags
2012-11-02 17:05:29 +01:00
Diego Biurrun
26f01bd106
x86: PMINUB: port to cpuflags
2012-11-02 15:38:15 +01:00
Diego Biurrun
9ce02e14f0
x86: ac3dsp: port to cpuflags
2012-11-02 15:24:50 +01:00
Diego Biurrun
c37322e68c
x86: Move optimization suffix to end of function names
...
This simplifies cpuflags porting.
2012-10-31 18:21:55 +01:00
Diego Biurrun
fa8fcab1e0
x86: h264_chromamc_10bit: drop pointless PAVG %define
...
It is only used in one place so there is no need for the abstraction.
2012-10-31 18:21:55 +01:00
Diego Biurrun
d8eda37080
x86: mmx2 ---> mmxext in function names
2012-10-31 17:53:57 +01:00
Diego Biurrun
be2c456e96
x86: fmtconvert: Refactor cvtps2pi emulation through cpuflags
2012-10-31 01:05:03 +01:00
Diego Biurrun
be923ed659
x86: fmtconvert: port to cpuflags
2012-10-31 01:05:03 +01:00
Diego Biurrun
588fafe7f3
x86: MMX2 ---> MMXEXT in macro names
2012-10-31 01:04:55 +01:00
Diego Biurrun
652f518594
x86: mmx2 ---> mmxext in comments and messages
2012-10-31 00:37:42 +01:00
Diego Biurrun
04581c8c77
x86: yasm: Use complete source path for macro helper %includes
...
This is more consistent with the way we handle C #includes and
it simplifies the build system.
2012-10-31 00:37:42 +01:00
Diego Biurrun
6860b4081d
x86: include x86inc.asm in x86util.asm
...
This is necessary to allow refactoring some x86util macros with cpuflags.
2012-10-31 00:37:42 +01:00
Ronald S. Bultje
95c89da36e
Use ptrdiff_t instead of int for intra pred "stride" function parameter.
...
This way, SIMD-optimized functions don't have to sign-extend their
stride argument manually to be able to do pointer arithmetic.
2012-10-29 17:49:13 -07:00
Ronald S. Bultje
bad8e33dc9
x86: use PRED4x4/8x8/8x8L/16x16 macros to declare intrapred prototypes.
2012-10-29 17:48:23 -07:00
Ronald S. Bultje
c285edd06e
Remove usage of INIT_AVX in h264_intrapred_10bit.asm.
...
Replace INIT_AVX by INIT_XMM avx. Port the whole file to use cpuflag
based function declarations. Remove (now unused) cputype argument in
function declaration macros. Change function prototypes to have mmx2
instead of mmxext as suffix, since that's required by cpuflags.
2012-10-29 14:10:51 -07:00
Luca Barbato
2d6caade22
dsputil: split out mlp dsp function
2012-10-11 12:01:08 +02:00
Janne Grunau
7e522859fc
x86: vc1: call ff_vc1dsp_init_x86() under if (ARCH_X86)
2012-10-08 11:54:05 +02:00
Janne Grunau
cb36febcbc
x86: cavs: call ff_cavsdsp_init_x86() under if (ARCH_X86)
2012-10-08 11:54:05 +02:00
Janne Grunau
f101eab1be
x86: call most of the x86 dsp init functions under if (ARCH_X86)
...
Rename the called dsp init functions to *_init_x86.
2012-10-08 11:54:05 +02:00
Diego Biurrun
e4cbf7529b
Give all anonymously typedeffed structs in headers a name
...
Anonymous structs cannot be forward declared and have no benefit.
2012-10-06 09:27:11 +02:00
Mans Rullgard
bcf07a15a0
x86: dsputil: kill VLA in gmc_mmx()
...
Instead of using an evil VLA, fall back to C version when edge
emulation is needed. MPEG4 GMC is a rarely used fringe feature
so the speed loss is an acceptable cost for safer code.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-05 22:33:32 +01:00
Diego Biurrun
9c6cf7f2c9
avcodec: Drop silly and/or broken printf debug output
2012-10-01 10:24:28 +02:00
Michael Niedermayer
791b5954bc
dsputil_mmx: fix reading prior of the src array in sub_hfyu_median_prediction()
...
This should fix the utvideoenc valgrind failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28 12:25:07 -04:00
Diego Biurrun
58139e141b
x86: dsputil: Move Xvid IDCT put/add functions to a more suitable place
2012-09-14 01:59:47 +02:00
Diego Biurrun
2017f0fdb7
x86: Remove some leftover declarations for non-existent functions
2012-09-13 21:38:47 +02:00
Martin Storsjö
91ff4e83ca
x86: ac3dsp: Only refer to the ac3_downmix_sse symbol if it has been declared
...
This fixes building without inline assembly.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-13 13:51:52 +03:00
Mans Rullgard
97cb9236cf
ac3: move ac3_downmix() from dsputil to ac3dsp
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-12 23:39:50 +01:00