summaryrefslogtreecommitdiff
path: root/libavcodec/arm/dca.h
Commit message (Collapse)AuthorAge
* dcadec: simplify decoding of VQ high frequenciesChristophe Gisquet2014-02-28
| | | | | | | | | | | | | | | | | | | 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.
* dca: include dcadsp.h in {arm,x86}/dca.h for checkheadersJanne Grunau2014-02-08
|
* dcadsp: add int8x8_fmul_int32 to dsp contextChristophe Gisquet2014-02-07
| | | | | | | | | | | | | | It is currently declared as a macro who is set to inlinable functions, among which a Neon and a default C implementations. Add a DSP parameter to each inline function, unused except by the default C implementation which calls a function from the DSP context. On an Arrandale CPU, gain for an inlined SSE2 function vs. a call: - Win32: 29 to 26 cycles - Win64: 25 to 23 cycles Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* fmtconvert: Explicitly use int32_t instead of intChristophe Gisquet2013-07-17
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* Fix a number of incorrect intmath.h #includes.Diego Biurrun2013-02-26
|
* arm: use HAVE*_INLINE/EXTERNAL macros for conditional compilationMans Rullgard2012-12-07
| | | | | | These macros reflect the actual capabilities required here. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: dca: disable optimised decode_blockcodes() for old gccMans Rullgard2011-12-15
| | | | | | | Old gcc versions have trouble compiling this function, and no simple, targeted test is possible. Signed-off-by: Mans Rullgard <mans@mansr.com>
* dca: ARMv6 optimised decode_blockcode()Mans Rullgard2011-11-25
| | | | | | | | | This is a hand-tuned version of the code with impossible parts of the FASTDIV function ommitted. 2-5% faster overall on Cortex-A8. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: check for inline asm 'y' operand modifier supportMans Rullgard2011-10-03
| | | | | | | | The inline asm added in bf5d46d uses the 'y' modifier which is only supported from gcc 4.5. This check allows building with older compilers. Signed-off-by: Mans Rullgard <mans@mansr.com>
* dca: NEON optimised high freq VQ decodingMans Rullgard2011-09-30
Signed-off-by: Mans Rullgard <mans@mansr.com>