Daniel Kang
b3f2a3fe3f
x86: mpeg4qpel: Make movsxifnidn do the right thing
...
Fixes an instruction that does nothing by changing the
source to dword.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-02-11 20:17:15 +01:00
Diego Biurrun
5d3d39c72e
dsputil: Move fdct function declarations to dct.h
2013-02-09 00:08:28 +01:00
Diego Biurrun
218aefce44
dsputil: Move LOCAL_ALIGNED macros to libavutil
2013-02-08 23:13:37 +01:00
Daniel Kang
a1d3673034
dsputil: x86: Fix compile error
...
Accidentally prefixed ff_ with cextern.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-07 11:06:16 +02:00
Daniel Kang
659d4ba5af
dsputil: x86: Convert h263 loop filter to yasm
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-02-06 15:38:27 -08:00
Martin Storsjö
a846dccb29
h264chroma: x86: Fix building with yasm disabled
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-06 17:05:33 +02:00
Diego Biurrun
82bd04b170
rv34: Drop now unnecessary dsputil dependencies
2013-02-06 11:30:54 +01:00
Diego Biurrun
79dad2a932
dsputil: Separate h264chroma
2013-02-06 11:30:53 +01:00
Diego Biurrun
c9f933b5b6
Add av_cold attributes to arch-specific init functions
2013-02-05 17:01:05 +01:00
Diego Biurrun
25841dfe80
Use ptrdiff_t instead of int for {avg, put}_pixels line_size parameter.
...
This avoids SIMD-optimized functions having to sign-extend their
line size argument manually to be able to do pointer arithmetic.
2013-02-05 12:59:12 +01:00
Diego Biurrun
52acd79165
x86: hpel: Move {avg,put}_pixels16_sse2 to hpeldsp
2013-01-31 11:19:23 +01:00
Diego Biurrun
c59211b437
x86: Simplify some arch conditionals
2013-01-29 00:10:53 +01:00
Michael Niedermayer
834e9fb056
x86: hpeldsp: Fix a typo, use the right register
...
This makes the code actually work.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-28 12:49:37 +02:00
Daniel Kang
05b0998f51
dsputil: Fix error by not using redzone and register name
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-28 07:23:20 +01:00
Daniel Kang
96753bd00d
dsputil: x86: Correct the number of registers used in put_no_rnd_pixels16_l2
...
put_no_rnd_pixels16_l2 allocated 5 instead of 6 registers.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-27 08:41:48 +01:00
Daniel Kang
0eedf5d74d
dsputil: add missing HAVE_YASM guard
...
Fix compile error under
"--disable-optimizations --disable-yasm --disable-inline-asm"
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-27 08:41:46 +01:00
Daniel Kang
71155d7b41
dsputil: x86: Convert mpeg4 qpel and dsputil avg to yasm
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-27 06:45:31 +01:00
Ronald S. Bultje
f90ff772e7
Move H264/QPEL specific asm from dsputil.asm to h264_qpel_*.asm.
2013-01-26 20:35:42 -08:00
Diego Biurrun
033a86f9bb
x86: h264qpel: Move stray comment to the right spot and clarify it
2013-01-26 11:19:22 +01:00
Janne Grunau
c5c2060cf5
x86: h264qpel: add cpu flag checks for init function
...
The code was copied from per cpu extension init function so the checks
for supported extensions was overlooked.
2013-01-24 19:03:59 +01:00
Mans Rullgard
e9d817351b
dsputil: Separate h264 qpel
...
The sh4 optimizations are removed, because the code is
100% identical to the C code, so it is unlikely to
provide any real practical benefit.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-24 10:44:43 +01:00
Ronald S. Bultje
baf35bb4bc
dsputil: remove one array dimension from avg_no_rnd_pixels_tab.
2013-01-22 18:41:36 -08:00
Ronald S. Bultje
32ff643228
dsputil: remove avg_no_rnd_pixels8.
...
This is never used.
2013-01-22 18:41:36 -08:00
Diego Biurrun
88bd7fdc82
Drop DCTELEM typedef
...
It does not help as an abstraction and adds dsputil dependencies.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2013-01-22 18:32:56 -08:00
Ronald S. Bultje
2e4bb99f4d
vorbisdsp: convert x86 simd functions from inline asm to yasm.
2013-01-22 18:02:24 -08:00
Ronald S. Bultje
d56668bd80
floatdsp: move scalarproduct_float from dsputil to avfloatdsp.
...
This makes the aac decoder and all voice codecs independent of dsputil.
2013-01-22 11:55:42 -08:00
Ronald S. Bultje
42d3246948
floatdsp: move vector_fmul_reverse from dsputil to avfloatdsp.
...
Now, nellymoserenc and aacenc no longer depends on dsputil. Independent
of this patch, wmaprodec also does not depend on dsputil, so I removed
it from there also.
2013-01-22 11:55:42 -08:00
Ronald S. Bultje
55aa03b9f8
floatdsp: move vector_fmul_add from dsputil to avfloatdsp.
2013-01-22 11:55:42 -08:00
Diego Biurrun
4f56e773fe
x86: ac3: Fix HAVE_MMXEXT condition to only refer to external assembly
...
CC: libav-stable@libav.org
2013-01-21 23:54:32 +01:00
Daniel Kang
9f00b1cbab
dsputilenc: x86: Convert pixel inline asm to yasm
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-21 09:54:10 +01:00
Ronald S. Bultje
1768e43ceb
vorbisdsp: change block_size type from int to intptr_t.
...
This saves one instruction in the x86-64 assembly.
2013-01-20 22:26:42 -08:00
Ronald S. Bultje
8a4f26206d
dsputil: remove butterflies_float_interleave.
...
The function is unused.
2013-01-20 21:57:35 -08:00
Mans Rullgard
0b711ca3f3
dsputil: drop non-compliant "fast" qpel mc functions
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-20 14:50:42 +01:00
Ronald S. Bultje
fef906c77c
Move vorbis_inverse_coupling from dsputil to vorbisdspcontext.
...
Conveniently (together with Justin's earlier patches), this makes
our vorbis decoder entirely independent of dsputil.
2013-01-19 22:21:10 -08:00
Ronald S. Bultje
aeaf268e52
vp3: integrate clear_blocks with idct of previous block.
...
This is identical to what e.g. vp8 does, and prevents the function call
overhead (plus dependency on dsputil for this particular function).
Arm asm updated by Janne Grunau <janne-libav@jannau.net>.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2013-01-19 22:04:55 -08:00
Diego Biurrun
822b0728f0
x86: dsputil: Drop some unused macro definitions
2013-01-18 22:24:58 +01:00
Justin Ruggles
e034cc6c60
lavc: Move vector_fmul_window to AVFloatDSPContext
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-16 10:45:45 +01:00
Diego Biurrun
dae1d507af
x86: Add PAVGB macro to abstract pavgb/pavgusb instruction via cpuflags
2013-01-15 17:29:43 +01:00
Diego Biurrun
51969a652c
x86: ABS2: port to cpuflags
2013-01-14 21:56:55 +01:00
Diego Biurrun
a0c5917f86
Drop Snow codec
...
Snow is a toy codec with no real-world use and horrible code.
2013-01-06 16:30:02 +01:00
Christophe Gisquet
4f50646697
x86: sbrdsp: Implement SSE qmf_post_shuffle
...
255 to 174 cycles on Arrandale / Win64. Unrolling yields no gain.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-06 13:57:01 +01:00
Christophe Gisquet
44a0036d10
x86: sbrdsp: Implement SSE sum64x5
...
698 to 174 cycles on Arrandale. Unrolling is a 6 cycles gain.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-06 13:57:01 +01:00
Diego Biurrun
5b4dfbffc2
x86: ABS1: port to cpuflags
2013-01-06 13:57:01 +01:00
Ronald S. Bultje
8c53d39e7f
lavc: introduce VideoDSPContext
...
Move some functions from dsputil. The idea is that videodsp contains
functions that are useful for a large and varied set of video decoders.
Currently, it contains emulated_edge_mc() and prefetch().
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-12-20 13:40:45 +01:00
Ronald S. Bultje
6f40e9f070
x86inc: support stack mem allocation and re-alignment in PROLOGUE
...
Use this in VP8/H264-8bit loopfilter functions so they can be used if
there is no aligned stack (e.g. MSVC 32bit or ICC 10.x).
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-12-12 05:23:46 +01:00
Mans Rullgard
30b3916425
ac3dec: make downmix() take array of pointers to channel data
2012-12-09 15:52:01 +00:00
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