summaryrefslogtreecommitdiff
path: root/libavcodec/arm
Commit message (Collapse)AuthorAge
* misc typo, style and wording fixesDiego Biurrun2012-12-18
|
* arm: rename ARMVFP config symbol to VFPMans Rullgard2012-12-07
| | | | | | | This is consistent with usual ARM nomenclature as well as with the VFPV3 and NEON symbols which both lack the ARM prefix. Signed-off-by: Mans Rullgard <mans@mansr.com>
* 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: fix use of uninitialised value in ff_fft_fixed_init_arm()Mans Rullgard2012-12-07
| | | | | | | | | When initialising an FFTContext for a plain FFT, mdct_bits is not set and can contain a garbage value. Since nbits is always valid and for MDCT operation is mdct_bits - 2 checking this instead avoids using an uninitialised value while having the same effect. Signed-off-by: Mans Rullgard <mans@mansr.com>
* dsputil: move vector_fmul_scalar() to AVFloatDSPContext in libavutilJustin Ruggles2012-11-26
|
* Use ptrdiff_t instead of int for intra pred "stride" function parameter.Ronald S. Bultje2012-10-29
| | | | | This way, SIMD-optimized functions don't have to sign-extend their stride argument manually to be able to do pointer arithmetic.
* ARM: fix overreads in neon h264 chroma mcMans Rullgard2012-10-20
| | | | | | | | The loops were reading ahead one line, which could end up outside the buffer for reference blocks at the edge of the picture. Removing this readahead has no measurable performance impact. Signed-off-by: Mans Rullgard <mans@mansr.com>
* Move avutil tables only used in libavcodec to libavcodec.Diego Biurrun2012-10-11
|
* arm: call arm-specific rv34dsp init functions under if (ARCH_ARM)Jean-Baptiste Kempf2012-10-10
| | | | | | | Assign NEON specific function pointers after runtime check via av_get_cpu_flags(). Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* build: non-x86: Only compile mpegvideo optimizations when necessaryDiego Biurrun2012-10-09
|
* ARM: set Tag_ABI_align_preserved in all asm filesMans Rullgard2012-10-02
| | | | | | | | All our ARM asm preserves alignment so setting this attribute in a common location is simpler. This removes numerous warnings when linking with armcc. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: swap source operands in some add instructionsMans Rullgard2012-09-20
| | | | | | This allows using a 16-bit opcode when generating Thumb2 code. Signed-off-by: Mans Rullgard <mans@mansr.com>
* flacdsp: arm optimised lpc filterMans Rullgard2012-09-15
|
* Replace all CODEC_ID_* with AV_CODEC_ID_*Anton Khirnov2012-08-07
|
* ARMv6: vp8: fix stack allocation with Apple's assemblerMans Rullgard2012-08-04
| | | | | | | | In the GNU assembler, a relational expression, bizarrely, has the value -1 if true, whereas in Apple's it is +1. This patch makes sure the correct expression is used in both cases. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: vp56: allow inline asm to build with clangMans Rullgard2012-08-04
| | | | | | | | | | | | | | | The clang integrated assembler does not support pre-UAL syntax, while gcc requires pre-UAL syntax for ARM code. A patch[1] for clang to support the old syntax as well has been ignored since January. This patch chooses the syntax appropriate for each compiler, allowing both to build the code. Notably, this change allows building for iphone with the latest Apple Xcode update. [1] http://llvm.org/bugs/show_bug.cgi?id=11855 Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: use =const syntax instead of explicit literal poolsMans Rullgard2012-08-01
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: use standard syntax for all LDRD/STRD instructionsMans Rullgard2012-08-01
| | | | | | | | | The standard syntax requires two destination registers for LDRD/STRD instructions. Some versions of the GNU assembler allow using only one with the second implicit, others are more strict. Signed-off-by: Mans Rullgard <mans@mansr.com>
* vp3: move idct and loop filter pointers to new vp3dsp contextMans Rullgard2012-07-18
| | | | | | | | This moves all VP3-specific function pointers from dsputil to a new vp3dsp context. There is no reason to ever use the VP3 IDCT where an MPEG2 IDCT is expected or vice versa. Signed-off-by: Mans Rullgard <mans@mansr.com>
* build: add CONFIG_VP3DSP, reduce repetition in OBJS listsMans Rullgard2012-07-18
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: generate position independent code to access data symbolsMans Rullgard2012-07-01
| | | | | | | | | | | This creates proper position independent code when accessing data symbols if CONFIG_PIC is set. References to external symbols should now use the movrelx macro. Some additional code changes are required since this macro may need a register to hold the GOT pointer. Signed-off-by: Mans Rullgard <mans@mansr.com>
* float_dsp: Move vector_fmac_scalar() from libavcodec to libavutilJustin Ruggles2012-06-18
|
* Add a float DSP framework to libavutilJustin Ruggles2012-06-08
| | | | Move vector_fmul() from DSPContext to AVFloatDSPContext.
* ARM: Move asm.S from libavcodec to libavutilJustin Ruggles2012-06-08
| | | | | This will allow for easier implementation of ARM-optimized functions in libraries other than libavcodec.
* arm/neon: dsputil: use correct size specifiers on vld1/vst1Mans Rullgard2012-05-10
| | | | | | | | | | Change the size specifiers to match the actual element sizes of the data. This makes no practical difference with strict alignment checking disabled (the default) other than somewhat documenting the code. With strict alignment checking on, it avoids trapping the unaligned loads. Signed-off-by: Mans Rullgard <mans@mansr.com>
* arm: dsputil: prettify some conditional instructions in put_pixels macrosMans Rullgard2012-05-10
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* arm: dsputil: fix overreads in put/avg_pixels functionsMans Rullgard2012-05-10
| | | | | | | | | The vertically interpolating variants of these functions read ahead one line to optimise the loop. On the last line processed, this might be outside the buffer. Fix these invalid reads by processing the last line outside the loop. Signed-off-by: Mans Rullgard <mans@mansr.com>
* aacps: NEON optimisationsMans Rullgard2012-05-05
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* vp8: armv6: fix non-armv6t2 buildMans Rullgard2012-04-25
| | | | | | | | The assembler may fail to place literal pools close enough to instructions referencing them. An explicit .ltorg directive fixes this. Signed-off-by: Mans Rullgard <mans@mansr.com>
* vp8: armv6 optimisationsMans Rullgard2012-04-25
| | | | | | | Based on patch by Ronald S. Bultje <rsbultje@gmail.com>, partially ported from libvpx. Signed-off-by: Mans Rullgard <mans@mansr.com>
* vp8: arm: separate ARMv6 functions from NEONMans Rullgard2012-04-25
| | | | | | This is a preparation for complete ARMv6 optimisations. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: add some compatibility macrosMans Rullgard2012-04-25
| | | | | | This adds some macros simplifying Thumb and pre-v6T2 compatibility. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: allow runtime masking of CPU featuresMans Rullgard2012-04-22
| | | | | | | This allows masking CPU features with the -cpuflags avconv option which is useful for testing different optimisations without rebuilding. Signed-off-by: Mans Rullgard <mans@mansr.com>
* Remove lowres video decodingMans Rullgard2012-04-21
| | | | | | | This feature is complex, of questionable utility, and slows down normal decoding. Signed-off-by: Mans Rullgard <mans@mansr.com>
* build: Consistently handle conditional compilation for all optimization OBJS.Diego Biurrun2012-04-12
|
* rv40dsp: implement prescaled versions for biweight.Christophe GISQUET2012-04-10
| | | | | | | | | | Quite often, the original weights are multiple of 512. By prescaling them by 1/512 when they are computed (once per frame), no intermediate shifting is needed, and no prescaling on each call either. The x86 code already used that trick. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* cosmetics: Consistently place static, inline and av_cold attributes/keywords.Diego Biurrun2012-04-04
|
* remove iwmmxt optimizationsJanne Grunau2012-03-12
| | | | | | The were broken since August of 2010 without anyone noticing until three weeks ago. Nobody cares about it anymore and hopefully Marvell will support NEON like in the PXA978 from now on.
* dsputil: remove shift parameter from scalarproduct_int16Christophe GISQUET2012-03-07
| | | | | | | | | There is only one caller, which does not need the shifting. Other use cases are situations where different roundings would be needed. The x86 and neon versions are modified accordingly. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* vp8: change int stride to ptrdiff_t stride.Ronald S. Bultje2012-03-02
| | | | | On 64bit platforms with 32bit int, this means we won't have to sign- extend the integer anymore.
* SBR DSP: use intptr_t for the ixh parameter.Christophe GISQUET2012-02-23
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* rv34: change most "int stride" into "ptrdiff_t stride".Ronald S. Bultje2012-02-20
| | | | | | This prevents having to sign-extend on 64-bit systems with 32-bit ints, such as x86-64. Also fixes crashes on systems where we don't do it and arguments are not in registers, such as Win64 for all weight functions.
* mpegvideo: Add ff_ prefix to nonstatic functionsMartin Storsjö2012-02-15
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* dsputil: Add ff_ prefix to the dsputil*_init* functionsMartin Storsjö2012-02-15
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* arm: Add missing #include to vp8.h to fix a make checkheaders warning.Diego Biurrun2012-02-09
|
* doxygen: Do not include license boilerplates in Doxygen comment blocks.Diego Biurrun2012-02-06
|
* ARM: ac3: fix ac3_bit_alloc_calc_bap_armv6Mans Rullgard2012-02-02
| | | | | | | This function was broken when the start bin was not at the start of a band. Signed-off-by: Mans Rullgard <mans@mansr.com>
* aacsbr: ARM NEON optimised sbrdsp functionsMans Rullgard2012-01-28
| | | | | | Overall speedup of HE-AAC decoding 2.3x on Cortex-A8, 1.2x on A9. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: fix build with FFT enabled and MDCT disabledFelipe Contreras2012-01-20
| | | | | Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Mans Rullgard <mans@mansr.com>
* rv34: add NEON rv34_idct_addJanne Grunau2012-01-16
| | | | | | | Overall almost 4% faster, idct_add down from 350 to 85 cycles, idct_dc_add down from 83 to 30 cycles. squash: rv34 idct rearrange partial register loads