summaryrefslogtreecommitdiff
path: root/libavcodec/arm/dca.h
Commit message (Collapse)AuthorAge
* Merge commit '4cb6964244fd6c099383d8b7e99731e72cc844b9'Michael Niedermayer2014-02-28
|\ | | | | | | | | | | | | | | | | | | | | * commit '4cb6964244fd6c099383d8b7e99731e72cc844b9': dcadec: simplify decoding of VQ high frequencies Conflicts: configure libavcodec/dcadec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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.
* | Merge commit '5c1c6e82261b856214499b9fef3a08bf3ff6e0ae'Michael Niedermayer2014-02-08
|\| | | | | | | | | | | | | * commit '5c1c6e82261b856214499b9fef3a08bf3ff6e0ae': dca: include dcadsp.h in {arm,x86}/dca.h for checkheaders Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | dcadsp: add int8x8_fmul_int32 to DSP contextChristophe Gisquet2014-02-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Michael Niedermayer <michaelni@gmx.at>
* | Reinstate proper FFmpeg license for all files.Thilo Borgmann2013-08-30
| |
* | fmtconvert: int32_t input to int32_to_float_fmul_scalarChristophe Gisquet2013-05-18
| | | | | | | | | | | | | | | | | | | | | | It was previously declared as int. Does not change fate results for x86. Conflicts: libavcodec/ppc/fmtconvert_altivec.c Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Fix compilation on ARM with android gcc 4.7Reimar Döffinger2013-04-15
| | | | | | | | | | | | | | | | | | | | With the current code it fails due to running out of registers. So code the store offsets manually into the assembler instead. Passes "make fate-dts". Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* | Merge commit '76b19a3984359b3be44d4f7e4e69b7b86729a622'Michael Niedermayer2013-02-26
|\| | | | | | | | | | | | | | | * commit '76b19a3984359b3be44d4f7e4e69b7b86729a622': Fix a number of incorrect intmath.h #includes. avconv: remove an unused variable Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Fix a number of incorrect intmath.h #includes.Diego Biurrun2013-02-26
| |
* | Merge commit '637606de2d2e0af0a9fa2f23f943765d7d7c5cd5'Michael Niedermayer2012-12-08
|\| | | | | | | | | | | | | | | | | | | | | | | * commit '637606de2d2e0af0a9fa2f23f943765d7d7c5cd5': configure: arm: make _inline arch ext symbols depend on inline_asm arm: use HAVE*_INLINE/EXTERNAL macros for conditional compilation Conflicts: configure libavcodec/arm/dca.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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: Fix compilation of decode_blockcodes() with --enable-thumbMichael Niedermayer2012-09-16
|/ | | | | Fix Suggested-by: Reimar Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* 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>