Michael Niedermayer
b1b870fbd7
Merge commit '55aa03b9f8f11ebb7535424cc0e5635558590f49'
...
* commit '55aa03b9f8f11ebb7535424cc0e5635558590f49':
floatdsp: move vector_fmul_add from dsputil to avfloatdsp.
Conflicts:
libavcodec/dsputil.c
libavcodec/x86/dsputil.asm
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-23 13:54:34 +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
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
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
Michael Niedermayer
26345acb0e
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
proresdec: support mixed interlaced/non-interlaced content
vp3/5: move put_no_rnd_pixels_l2 from dsputil to VP3DSPContext.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-22 15:33:23 +01:00
Michael Niedermayer
b3ab281027
avcodec/x86/cabac: workaround llvm 4.2.1 bug
...
x86_64 is affected by this too
Fixes Ticket2156
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-22 03:43:29 +01: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
Michael Niedermayer
f6a80d6e63
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
dsputilenc: x86: Convert pixel inline asm to yasm
libgsm: detect libgsm header path
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 16:34:37 +01:00
Michael Niedermayer
cf4515ecd9
Merge commit 'ce378f0dd0c4e5350b3280e6b3e8d6b46fe4b0a3'
...
* commit 'ce378f0dd0c4e5350b3280e6b3e8d6b46fe4b0a3':
fate: Use wmv2 IDCT for wmv2 tests
vorbisdsp: change block_size type from int to intptr_t.
Conflicts:
tests/fate-run.sh
tests/fate/vcodec.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 16:28:04 +01:00
Michael Niedermayer
2cf9ab6555
Merge commit '8a4f26206d7914eaf2903954ce97cb7686933382'
...
* commit '8a4f26206d7914eaf2903954ce97cb7686933382':
dsputil: remove butterflies_float_interleave.
srtp: Move a variable to a local scope
srtp: Add tests for the crypto suite with 32/80 bit HMAC
Conflicts:
libavcodec/x86/dsputil.asm
libavcodec/x86/dsputil_mmx.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 15:18:57 +01:00
Michael Niedermayer
a85311ef84
Merge commit '68f18f03519ae550e25cf12661172641e9f0eaca'
...
* commit '68f18f03519ae550e25cf12661172641e9f0eaca':
videodsp_armv5te: remove #if HAVE_ARMV5TE_EXTERNAL
dsputil: drop non-compliant "fast" qpel mc functions
get_bits: change the failure condition in init_get_bits
Conflicts:
libavcodec/get_bits.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 13:38:57 +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
Michael Niedermayer
28245fb466
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
Remove put_no_rnd_pixels_l2 function pointer for w=16 from dsputil.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-20 14:25:27 +01:00
Michael Niedermayer
c62cb1112f
Merge commit 'fef906c77c09940a2fdad155b2adc05080e17eda'
...
* commit 'fef906c77c09940a2fdad155b2adc05080e17eda':
Move vorbis_inverse_coupling from dsputil to vorbisdspcontext.
Conflicts:
libavcodec/dsputil.c
libavcodec/x86/dsputil_mmx.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-20 14:13:16 +01:00
Michael Niedermayer
cf061a9c3b
Merge commit 'aeaf268e52fc11c1f64914a319e0edddf1346d6a'
...
* commit 'aeaf268e52fc11c1f64914a319e0edddf1346d6a':
vp3: integrate clear_blocks with idct of previous block.
mpegvideo: fix loop condition in draw_line()
dvdsubdec: parse the size from the extradata
Conflicts:
libavcodec/dvdsubdec.c
libavcodec/mpegvideo.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-20 13:57:10 +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
Michael Niedermayer
ed8ff70d9e
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
x86: dsputil: Drop some unused macro definitions
x86: Add a Yasm-based emms() replacement
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-19 13:20:25 +01:00
Diego Biurrun
822b0728f0
x86: dsputil: Drop some unused macro definitions
2013-01-18 22:24:58 +01:00
Michael Niedermayer
5c7e9e16c9
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
lavc: Move vector_fmul_window to AVFloatDSPContext
rtpdec_mpeg4: Check the remaining amount of data before reading
Conflicts:
libavcodec/dsputil.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-16 12:38:41 +01:00
Michael Niedermayer
68f92a70f1
Merge commit 'dae1d507af94261bafd3b11549884e5d1eca590e'
...
* commit 'dae1d507af94261bafd3b11549884e5d1eca590e':
x86: Add PAVGB macro to abstract pavgb/pavgusb instruction via cpuflags
vf_fps: add final flushed frames to the dropped frame count
rv34_parser: Adjust #if for disabling individual parsers
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-16 11:44:45 +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
Michael Niedermayer
cfc40a6aff
Merge commit 'd8c772de53d29afb1bada88afa859fce8489c668'
...
* commit 'd8c772de53d29afb1bada88afa859fce8489c668':
nutdec: Always return a value from nut_read_timestamp()
configure: Make warnings from -Wreturn-type fatal errors
x86: ABS2: port to cpuflags
vdpau: Remove av_unused attribute from function declaration
h264: fix ff_generate_sliding_window_mmcos() prototype.
Conflicts:
configure
libavformat/nutdec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15 15:23:20 +01:00
Michael Niedermayer
274e48d8ac
x86/Makefile: move dirac_dwt to right type
...
Fix build failure without yasm
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 23:40:26 +01:00
Michael Niedermayer
9cb3c1a4d9
x86/dirac: fix asm on win64
...
This could also be fixed by changing the argument type if
someone prefers that and wants to change it ...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 23:28:01 +01:00
Michael Niedermayer
30981a966f
lavc: split snow and dirac DWTs
...
There is only about 4 lines of common code, so it alot cleaner
when seperated.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 22:59:05 +01:00
Diego Biurrun
51969a652c
x86: ABS2: port to cpuflags
2013-01-14 21:56:55 +01:00
Carl Eugen Hoyos
f023003ce6
Fix compilation with --disable-everything.
2013-01-10 10:04:46 +01:00
Michael Niedermayer
c526a01c91
Merge commit '4f50646697606df39317b93c2a427603b77636ee'
...
* commit '4f50646697606df39317b93c2a427603b77636ee':
x86: sbrdsp: Implement SSE qmf_post_shuffle
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 01:51:10 +01:00
Michael Niedermayer
8429320313
Merge commit '44a0036d10579ed91e48df24859e54b08a582742'
...
* commit '44a0036d10579ed91e48df24859e54b08a582742':
x86: sbrdsp: Implement SSE sum64x5
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 01:40:05 +01:00
Michael Niedermayer
ea93ccf079
Merge commit '5b4dfbffc258f90a7d2540d21209ac23afcf7cd0'
...
* commit '5b4dfbffc258f90a7d2540d21209ac23afcf7cd0':
x86: ABS1: port to cpuflags
v210x: cosmetics, reformat
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 01:35:18 +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
Michael Niedermayer
9cb887ed37
dsputil_mmx: fix pointer type for emulated_edge_mc_func()
...
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-25 02:04:31 +01:00
Michael Niedermayer
3e15775333
x86/ac3dsp_init: try to workaround ICC failure.
...
The asm code is not valid for older compilers as it uses too many
operands, ICC on x86_32 seems affected by this.
This patch disables the affected code for ICC on x86_32 and should
make it compileable again.
A better fix would be to use fewer operands or to change this code
to yasm, later is being worked on AFAIK so this is a temporary
solution.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-23 19:27:19 +01:00
Michael Niedermayer
e16bac7b33
videodsp: Fix project name
...
These are all part of splited out dsp utils from FFmpeg
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-22 00:58:08 +01:00
Michael Niedermayer
90eaa989f1
x86/videodsp_init: Add back lost author attribution
...
Code originates from:
910b9f30 libavcodec/dsputil.c (David Conrad 2010-05-27 04:39:27 +0000 334) void ff_emulated_edge_mc(uint8_t *buf, const uint8_t *src, int linesize, int block_w, int block_h,
93a21abd libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-14 18:37:35 +0000 335) int src_x, int src_y, int w, int h){
93a21abd libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-14 18:37:35 +0000 336) int x, y;
93a21abd libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-14 18:37:35 +0000 337) int start_y, start_x, end_y, end_x;
b5a093b3 libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-25 20:22:36 +0000 338)
93a21abd libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-14 18:37:35 +0000 339) if(src_y>= h){
93a21abd libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-14 18:37:35 +0000 340) src+= (h-1-src_y)*linesize;
93a21abd libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-14 18:37:35 +0000 341) src_y=h-1;
225f9c44 libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-15 00:25:53 +0000 342) }else if(src_y<=-block_h){
225f9c44 libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-15 00:25:53 +0000 343) src+= (1-block_h-src_y)*linesize;
225f9c44 libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-15 00:25:53 +0000 344) src_y=1-block_h;
93a21abd libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-14 18:37:35 +0000 345) }
93a21abd libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-14 18:37:35 +0000 346) if(src_x>= w){
93a21abd libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-14 18:37:35 +0000 347) src+= (w-1-src_x);
93a21abd libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-14 18:37:35 +0000 348) src_x=w-1;
225f9c44 libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-15 00:25:53 +0000 349) }else if(src_x<=-block_w){
225f9c44 libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-15 00:25:53 +0000 350) src+= (1-block_w-src_x);
225f9c44 libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-15 00:25:53 +0000 351) src_x=1-block_w;
93a21abd libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-14 18:37:35 +0000 352) }
93a21abd libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-14 18:37:35 +0000 353)
b8a78f41 libavcodec/mpegvideo.c (Michael Niedermayer 2002-11-10 11:46:59 +0000 354) start_y= FFMAX(0, -src_y);
b8a78f41 libavcodec/mpegvideo.c (Michael Niedermayer 2002-11-10 11:46:59 +0000 355) start_x= FFMAX(0, -src_x);
b8a78f41 libavcodec/mpegvideo.c (Michael Niedermayer 2002-11-10 11:46:59 +0000 356) end_y= FFMIN(block_h, h-src_y);
b8a78f41 libavcodec/mpegvideo.c (Michael Niedermayer 2002-11-10 11:46:59 +0000 357) end_x= FFMIN(block_w, w-src_x);
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-22 00:58:08 +01:00
Michael Niedermayer
a41bf09d9c
Merge commit '6906b19346ae8a330bfaa1c16ce535be10789723'
...
* commit '6906b19346ae8a330bfaa1c16ce535be10789723':
lavc: add missing files for arm
lavc: introduce VideoDSPContext
Conflicts:
configure
libavcodec/arm/dsputil_init_armv5te.c
libavcodec/dsputil.c
libavcodec/dsputil.h
libavcodec/dsputil_template.c
libavcodec/h264.c
libavcodec/mpegvideo.h
libavcodec/mpegvideo_enc.c
libavcodec/x86/dsputil_mmx.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-21 17:18:43 +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
ce58642ed0
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: Michael Niedermayer <michaelni@gmx.at>
2012-12-12 10:37:52 +01:00