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
Diego Biurrun
1648a508fa
x86: dsputil: Move specific optimization settings out of global init function
...
They belong in the init functions specific to each CPU capability.
2012-09-11 10:12:17 +02:00
Diego Biurrun
a84edbacaf
x86: dsputil: Only compile motion_est code when encoders are enabled
2012-09-10 08:31:47 +02:00
Diego Biurrun
e0c6cce447
x86: Replace checks for CPU extensions and flags by convenience macros
...
This separates code relying on inline from that relying on external
assembly and fixes instances where the coalesced check was incorrect.
2012-09-08 18:18:34 +02:00
Hendrik Leppkes
fb4e983e0c
x86: mlpdsp: mlp_filter_channel_x86 requires inline asm
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-08 15:41:44 +03:00
Diego Biurrun
1169f0d0af
x86: more specific checks for availability of required assembly capabilities
2012-09-07 18:16:04 +02:00
Diego Biurrun
8cb7ed5562
x86: avcodec: Drop silly "_mmx" suffix from dsputil template names
2012-09-07 13:50:52 +02:00
Mans Rullgard
6efb698883
cavsdsp: set idct permutation independently of dsputil
...
CAVS uses its own idct so using dsputil to set the permutation
is fragile.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-07 11:42:35 +01:00
Mans Rullgard
5fe64d88f6
x86: allow using add_hfyu_median_prediction_cmov on any cpu with cmov
...
For some reason add_hfyu_median_prediction_cmov is only selected
on 3Dnow-capable CPUs, even though it uses no 3Dnow instructions.
This patch allows it to be selected on any cpu with cmov with the
possibility of being overridden by the mmxext version.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-07 11:42:35 +01:00
Diego Biurrun
ef6ba1f237
x86: dsputil: Do not redundantly check for CPU caps before calling init funcs
...
The init functions check for CPU capabilities on their own already.
2012-09-06 09:05:52 +02:00
Hendrik Leppkes
d914ea6fd8
x86: vp56: cmov version of vp56_rac_get_prob requires inline asm
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-09-05 21:30:46 +02:00
Diego Biurrun
a84ac7a860
x86: h264dsp: drop some unnecessary ifdefs around prototype declarations
2012-09-04 01:44:59 +02:00
Diego Biurrun
17337f54c0
x86: Split inline and external assembly #ifdefs
2012-08-31 01:53:25 +02:00
Diego Biurrun
ec36aa6944
x86: Fix linking with some or all of yasm, mmx, optimizations disabled
...
Some optimized template functions reference optimized symbols, so they
must be explicitly disabled when those symbols are unavailable.
2012-08-30 19:37:32 +02:00
Diego Biurrun
a886b279a0
x86: cosmetics: Comment some #endifs for better readability
2012-08-30 18:50:33 +02:00
Diego Biurrun
2e6f93a284
x86: Always compile files with functions that are called unconditionally
2012-08-29 00:27:06 +02:00
Diego Biurrun
2f2aa2e542
x86: mpegvideoenc: fix linking with --disable-mmx
...
The optimized dct_quantize template functions reference optimized
fdct symbols, so these functions must only be enabled if the relevant
optimizations have been enabled by configure.
2012-08-29 00:26:56 +02:00
Diego Biurrun
d39791bf39
x86: mpegvideoenc: Do not abuse HAVE_ variables for template instantiation
...
This avoids trouble if HAVE_ variables are used elsewhere in the file.
2012-08-29 00:14:52 +02:00
Diego Biurrun
bcc45d6348
x86: avcodec: Drop silly "_mmx" suffixes from filenames
2012-08-28 18:37:34 +02:00
Diego Biurrun
efbd04c332
x86: avcodec: Drop silly "_sse" suffixes from filenames
2012-08-28 18:37:33 +02:00
Diego Biurrun
3f02c533f3
build: fft: x86: Drop unused YASM-OBJS-FFT- variable
2012-08-27 03:10:58 +02:00
Mans Rullgard
db70730291
x86: fft: remove unused fft_dispatch* functions
...
These functions are not used since the yasm conversion.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-25 23:58:26 +01:00
Diego Biurrun
dc40285427
x86: mpegvideo: more sensible names for optimization file and init function
2012-08-24 02:23:16 +02:00
Diego Biurrun
d211547ddd
x86: mpegvideoenc: Split optimizations off into a separate file
2012-08-24 02:23:16 +02:00
Diego Biurrun
26ce9aec03
dnxhdenc: x86: more sensible names for optimization file and init function
2012-08-24 02:23:15 +02:00
Diego Biurrun
6fa488678f
build: x86: Only compile mpegvideo optimizations when necessary
2012-08-22 01:06:33 +02:00
Diego Biurrun
6961bdface
x86: avcodec: Consistently name all init files
2012-08-16 11:05:38 +02:00
Martin Storsjö
1d9c2dc89a
Don't include common.h from avutil.h
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-15 22:32:06 +03:00
Diego Biurrun
29cfdd3767
x86: avcodec: Appropriately name files containing only init functions
2012-08-15 03:24:08 +02:00
Diego Biurrun
be12958937
mpegvideo_mmx_template: drop some commented-out cruft
2012-08-15 03:24:07 +02:00
Mans Rullgard
8ec0204ee4
x86: cabac: allow building with suncc
...
This fixes two issues preventing suncc from building this code.
The undocumented 'a' operand modifier, causing gcc to omit a $ in
front of immediate operands (as required in addresses), is not
supported by suncc. Luckily, the also undocumented 'c' modifer
has the same effect and is supported.
On some asm statements with a large number of operands, suncc for no
obvious reason fails to correctly substitute some of the operands.
Fortunately, some of the operands in these statements are plain
numbers which can be inserted directly into the code block instead
of passed as operands.
With these changes, the code builds correctly with both gcc and
suncc.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-13 14:51:52 +01:00
Mans Rullgard
c8252e80eb
x86: mlpdsp: avoid taking address of void
...
This code contains a C array of addresses of labels defined in
inline asm. To do this, the names must be declared as external
in C. The declared type does not matter since only the address is
used, and for some reason, the author of the code used the 'void'
type despite taking the address of a void expression being invalid.
Changing the type to char, a reasonable choice since the alignment
of the code labels cannot be known or guaranteed, eliminates gcc
warnings and allows building with suncc.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-13 14:51:52 +01:00
Diego Biurrun
3b9e832e17
x86: Drop silly "_yasm" suffixes from filenames
2012-08-12 17:13:05 +02:00