summaryrefslogtreecommitdiff
path: root/libavcodec/arm
Commit message (Collapse)AuthorAge
...
* dsputil: Separate h264 qpelMans Rullgard2013-01-24
| | | | | | | | | | The sh4 optimizations are removed, because the code is 100% identical to the C code, so it is unlikely to provide any real practical benefit. Signed-off-by: Diego Biurrun <diego@biurrun.de> Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* dsputil: remove one array dimension from avg_no_rnd_pixels_tab.Ronald S. Bultje2013-01-22
|
* dsputil: remove avg_no_rnd_pixels8.Ronald S. Bultje2013-01-22
| | | | This is never used.
* Drop DCTELEM typedefDiego Biurrun2013-01-22
| | | | | | It does not help as an abstraction and adds dsputil dependencies. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* arm: Add some missing header #includesDiego Biurrun2013-01-22
|
* floatdsp: move scalarproduct_float from dsputil to avfloatdsp.Ronald S. Bultje2013-01-22
| | | | This makes the aac decoder and all voice codecs independent of dsputil.
* floatdsp: move butterflies_float from dsputil to avfloatdsp.Ronald S. Bultje2013-01-22
| | | | | This makes wmadec/enc, twinvq and mpegaudiodec (i.e. mp2/mp3) independent of dsputil.
* floatdsp: move vector_fmul_reverse from dsputil to avfloatdsp.Ronald S. Bultje2013-01-22
| | | | | | Now, nellymoserenc and aacenc no longer depends on dsputil. Independent of this patch, wmaprodec also does not depend on dsputil, so I removed it from there also.
* floatdsp: move vector_fmul_add from dsputil to avfloatdsp.Ronald S. Bultje2013-01-22
|
* vorbisdsp: change block_size type from int to intptr_t.Ronald S. Bultje2013-01-20
| | | | This saves one instruction in the x86-64 assembly.
* videodsp_armv5te: remove #if HAVE_ARMV5TE_EXTERNALJanne Grunau2013-01-20
| | | | | | | | | | | libavutil/arm/asm.S sets '.arch' depending on HAVE_ARMV5TE so that assembling armv5te code will always succeed even if the default -march flag does not support it. HAVE_ARMV5TE_EXTERNAL tests assembling code with the default arch. Fixes the missing symbol ff_prefetch_arm with --cpu= not including armv5te. CC: libav-stable@libav.org
* Move vorbis_inverse_coupling from dsputil to vorbisdspcontext.Ronald S. Bultje2013-01-19
| | | | | Conveniently (together with Justin's earlier patches), this makes our vorbis decoder entirely independent of dsputil.
* vp3: integrate clear_blocks with idct of previous block.Ronald S. Bultje2013-01-19
| | | | | | | | | This is identical to what e.g. vp8 does, and prevents the function call overhead (plus dependency on dsputil for this particular function). Arm asm updated by Janne Grunau <janne-libav@jannau.net>. Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* lavc: Move vector_fmul_window to AVFloatDSPContextJustin Ruggles2013-01-16
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* lavc: add missing files for armLuca Barbato2012-12-20
| | | | Across the many retouches those did not make the main commit.
* lavc: introduce VideoDSPContextRonald S. Bultje2012-12-20
| | | | | | | | Move some functions from dsputil. The idea is that videodsp contains functions that are useful for a large and varied set of video decoders. Currently, it contains emulated_edge_mc() and prefetch(). Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* 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>