Carl Eugen Hoyos
57fdc74c34
Add one forgotten named inline asm operand in libavcodec/x86/motion_est.c.
2014-03-19 03:00:19 +01:00
Matt Oliver
8236747511
Automatically change MANGLE() into named inline asm operands when direct symbol reference in inline asm are not supported.
...
This is part of the patch-set for intel C inline asm on windows support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-18 23:39:30 +01:00
Matt Oliver
b2d3a45598
avcodec/x86/mlpdsp: Only use asm when non-local inline asm lables are supported
...
This is part of the patch-set for intel C inline asm on windows support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-18 23:37:50 +01:00
James Almer
aa1f38015c
x86/synth_filter: improve FMA version
...
Replace mulps+subps with fnmaddps, resulting in two less instructions inside the
inner loops.
About 1% faster FMA3 performance.
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 21:04:15 +01:00
Matt Oliver
b73aae6fe9
avcodec/x86/idct_sse2_xvid: move offsets out of MANGLE()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 04:19:59 +01:00
Matt Oliver
9eb3f11c55
Add missing external declarations.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 00:48:09 +01:00
Matt Oliver
590805b7c3
Fixed 64bit conformance with mvzbl.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 00:13:50 +01:00
Michael Niedermayer
5dd97d5809
Merge commit ' db3f61a04f'
...
* commit 'db3f61a04f ':
x86: dsputil_init: Drop some unnecessary parentheses
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 01:25:57 +01:00
Michael Niedermayer
27cab16ce7
Merge commit ' 441b093915'
...
* commit '441b093915 ':
x86: dsputil_init: K&R formatting cosmetics
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 01:25:36 +01:00
Michael Niedermayer
236874a571
Merge commit ' 4cb4680c10'
...
* commit '4cb4680c10 ':
x86: dsputil_x86.h: K&R formatting cosmetics
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 01:25:19 +01:00
Michael Niedermayer
925ce6faf4
Merge commit ' f8bbebecfd'
...
* commit 'f8bbebecfd ':
x86: motion_est: K&R formatting cosmetics
Conflicts:
libavcodec/x86/motion_est.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 01:20:43 +01:00
Michael Niedermayer
b7a5f5dc66
Merge commit ' a36947c167'
...
* commit 'a36947c167 ':
dsputilenc_mmx: K&R formatting cosmetics
Conflicts:
libavcodec/x86/dsputilenc_mmx.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 01:09:57 +01:00
Michael Niedermayer
d926c4b240
Merge commit ' 38675229a8'
...
* commit '38675229a8 ':
dsputil_mmx: K&R formatting cosmetics
Conflicts:
libavcodec/x86/dsputil_mmx.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 01:01:37 +01:00
Michael Niedermayer
55f53f6c29
Merge commit ' 6a8b35dc88'
...
* commit '6a8b35dc88 ':
dsputilenc_mmx: Merge two assignment blocks with identical conditions
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 00:57:25 +01:00
Michael Niedermayer
4104eb44e6
Merge commit ' 55519926ef'
...
* commit '55519926ef ':
x86: Make function prototype comments in assembly code consistent
Conflicts:
libavcodec/x86/sbrdsp.asm
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 00:01:30 +01:00
Michael Niedermayer
a9b1936a4e
Merge commit ' edd1f833fa'
...
* commit 'edd1f833fa ':
x86: h264_idct_10_bit: Use proper type in function prototype comments
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 00:00:16 +01:00
Michael Niedermayer
1c788eaca9
Merge commit ' 831a118078'
...
* commit '831a118078 ':
Update dsputil- and SIMD-related comments to match reality more closely
Conflicts:
libavcodec/x86/hpeldsp.asm
libavutil/arm/float_dsp_init_arm.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-13 23:59:56 +01:00
Michael Niedermayer
d61e1156be
Merge commit ' 17608f6ee3'
...
* commit '17608f6ee3 ':
x86: Add some more missing headers
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-13 23:41:17 +01:00
Diego Biurrun
db3f61a04f
x86: dsputil_init: Drop some unnecessary parentheses
2014-03-13 08:15:51 -07:00
Diego Biurrun
441b093915
x86: dsputil_init: K&R formatting cosmetics
2014-03-13 08:15:51 -07:00
Diego Biurrun
4cb4680c10
x86: dsputil_x86.h: K&R formatting cosmetics
2014-03-13 08:15:51 -07:00
Diego Biurrun
f8bbebecfd
x86: motion_est: K&R formatting cosmetics
2014-03-13 08:15:51 -07:00
Diego Biurrun
a36947c167
dsputilenc_mmx: K&R formatting cosmetics
2014-03-13 08:15:51 -07:00
Diego Biurrun
38675229a8
dsputil_mmx: K&R formatting cosmetics
2014-03-13 08:15:51 -07:00
Diego Biurrun
6a8b35dc88
dsputilenc_mmx: Merge two assignment blocks with identical conditions
2014-03-13 08:15:51 -07:00
Diego Biurrun
55519926ef
x86: Make function prototype comments in assembly code consistent
...
This helps grepping for functions, among other things.
2014-03-13 05:50:29 -07:00
Diego Biurrun
edd1f833fa
x86: h264_idct_10_bit: Use proper type in function prototype comments
2014-03-13 05:50:29 -07:00
Diego Biurrun
831a118078
Update dsputil- and SIMD-related comments to match reality more closely
2014-03-13 05:50:29 -07:00
Diego Biurrun
17608f6ee3
x86: Add some more missing headers
2014-03-13 05:50:28 -07:00
Diego Biurrun
08dba0e1c3
x86: mpegvideoenc: Remove some remnants of the long-gone libmpeg2 IDCT
2014-03-13 05:50:28 -07:00
James Almer
9e0e1f9067
x86/dsputil: add emms to ff_scalarproduct_int16_mmxext()
...
Also undo the changes to ra144enc.c from previous commits.
Should fix ticket #3429
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-06 18:23:55 +01:00
Michael Niedermayer
2d99de66b7
Merge commit ' 3bfdee00cd'
...
* commit '3bfdee00cd ':
x86: dcadsp: Fix linking with yasm and optimizations disabled
Conflicts:
libavcodec/x86/dcadsp_init.c
See: 206167a295
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-06 14:10:27 +01:00
Diego Biurrun
3bfdee00cd
x86: dcadsp: 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.
2014-03-05 23:16:21 +01:00
Michael Niedermayer
146b476ba0
Merge commit ' 3741aa37c2'
...
* commit '3741aa37c2 ':
x86: cabac: Use correct #includes to make header compile standalone
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-05 21:33:44 +01:00
Diego Biurrun
3741aa37c2
x86: cabac: Use correct #includes to make header compile standalone
2014-03-05 13:32:25 +01:00
James Almer
7fd64e3e36
x86/synth_filter: add synth_filter_fma3
...
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-05 01:58:16 +01:00
James Almer
206167a295
x86/synth_filter: add missing HAVE_YASM guard
...
Should fix compilation failures with --disable-yasm on some compilers
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-04 22:47:28 +01:00
James Almer
884e085d1e
x86/synth_filter: Revert the switch to float ops with SSE2
...
This reverts the changes 6467209836
and 68c3ed936a did to the SSE2 version,
which generated a hit of about 5 cycles.
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-02 11:58:10 +01:00
James Almer
68c3ed936a
x86/synth_filter: add synth_filter_avx
...
Sandy Bridge Win64:
180 cycles on ff_synth_filter_inner_sse2
150 cycles on ff_synth_filter_inner_avx
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-02 01:00:55 +01:00
James Almer
6467209836
x86/synth_filter: add synth_filter_sse
...
Build only on x86_32 targets.
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-01 15:32:40 +01:00
Michael Niedermayer
fb3c33f3cd
Merge commit ' 4cb6964244'
...
* commit '4cb6964244 ':
dcadec: simplify decoding of VQ high frequencies
Conflicts:
configure
libavcodec/dcadec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-28 21:41:19 +01:00
Michael Niedermayer
baf3adc621
Merge commit ' 08e3ea60ff'
...
* commit '08e3ea60ff ':
x86: synth filter float: implement SSE2 version
Conflicts:
libavcodec/x86/dcadsp.asm
libavcodec/x86/dcadsp_init.c
See: 2cdbcc0048
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-28 20:38:39 +01:00
Christophe Gisquet
2cdbcc0048
x86: synth filter float: implement SSE2 version
...
Timings for Arrandale:
C SSE
win32: 2108 334
win64: 1152 322
Factorizing the inner loop with a call/jmp is a >15 cycles cost, even with
the jmp destination being aligned.
Unrolling for ARCH_X86_64 is a 20 cycles gain.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-28 20:34:40 +01:00
Michael Niedermayer
e346a59383
Merge commit ' ad507d7907'
...
* commit 'ad507d7907 ':
x86: dcadsp: implement SSE lfe_dir
Conflicts:
libavcodec/x86/dcadsp.asm
See: 169243112c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-28 19:22:00 +01:00
Christophe Gisquet
169243112c
x86: dcadsp: implement SSE lfe_dir
...
Results for Arrandale/Windows:
32: 1670 -> 316
64: 728 -> 298
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-28 19:20:03 +01:00
Michael Niedermayer
5ba1648318
Merge commit ' b23650491f'
...
* commit 'b23650491f ':
prores: Use consistent names for DSP arch initialization functions
Conflicts:
libavcodec/proresdsp.c
libavcodec/proresdsp.h
libavcodec/x86/proresdsp_init.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-28 17:13:00 +01:00
Christophe Gisquet
4cb6964244
dcadec: simplify decoding of VQ high frequencies
...
The vector dequantization has a test in a loop preventing effective SIMD
implementation. By moving it out of the loop, this loop can be DSPized.
Therefore, modify the current DSP implementation. In particular, the
DSP implementation no longer has to handle null loop sizes.
The decode_hf implementations have following timings:
For x86 Arrandale:
C SSE SSE2 SSE4
win32: 260 162 119 104
win64: 242 N/A 89 72
The arm NEON optimizations follow in a later patch as external asm. The
now unused check for the y modifier in arm inline asm is removed from
configure.
2014-02-28 13:03:22 +01:00
Christophe Gisquet
08e3ea60ff
x86: synth filter float: implement SSE2 version
...
Timings for Arrandale:
C SSE
win32: 2108 334
win64: 1152 322
Factorizing the inner loop with a call/jmp is a >15 cycles cost, even with
the jmp destination being aligned.
Unrolling for ARCH_X86_64 is a 20 cycles gain.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2014-02-28 13:00:48 +01:00
Christophe Gisquet
ad507d7907
x86: dcadsp: implement SSE lfe_dir
...
Results for Arrandale/Windows:
32: 1670 -> 316
64: 728 -> 298
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2014-02-28 13:00:47 +01:00
Diego Biurrun
b23650491f
prores: Use consistent names for DSP arch initialization functions
2014-02-28 10:34:55 +01:00