summaryrefslogtreecommitdiff
path: root/libavcodec/arm
Commit message (Collapse)AuthorAge
* vp3: Use full transpose for all IDCTsRonald S. Bultje2013-04-15
| | | | | | | | | | | This way, the special IDCT permutations are no longer needed. This is similar to how H264 does it, and removes the dsputil dependency imposed by the scantable code. Also remove the unused type == 0 cases from the plain C version of the idct. Signed-off-by: Martin Storsjö <martin@martin.st>
* h264: Integrate clear_blocks calls with IDCTRonald S. Bultje2013-04-10
| | | | | | | | | The non-intra-pcm branch in hl_decode_mb (simple, 8bpp) goes from 700 to 672 cycles, and the complete loop of decode_mb_cabac and hl_decode_mb (in the decode_slice loop) goes from 1759 to 1733 cycles on the clip tested (cathedral), i.e. almost 30 cycles per mb faster. Signed-off-by: Martin Storsjö <martin@martin.st>
* dsputil: convert remaining functions to use ptrdiff_t stridesLuca Barbato2013-03-12
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* Remove unnecessary dsputil.h #includesDiego Biurrun2013-02-26
|
* Fix a number of incorrect intmath.h #includes.Diego Biurrun2013-02-26
|
* arm: vp8: Add missing #includes for header to compile standaloneDiego Biurrun2013-02-20
|
* rv34: Drop now unnecessary dsputil dependenciesDiego Biurrun2013-02-06
|
* dsputil: Separate h264chromaDiego Biurrun2013-02-06
|
* Add av_cold attributes to arch-specific init functionsDiego Biurrun2013-02-05
|
* Use ptrdiff_t instead of int for {avg, put}_pixels line_size parameter.Diego Biurrun2013-02-05
| | | | | This avoids SIMD-optimized functions having to sign-extend their line size argument manually to be able to do pointer arithmetic.
* Use proper "" quotes for local header #includesDiego Biurrun2013-02-01
|
* arm: vp8: Fix the plain-armv6 version of vp8_luma_dc_whtMartin Storsjö2013-01-27
| | | | | | | | | This makes the plain-armv6 version use the same registers as the armv6t2 version above. This fixes fate-vp8 on plain-armv6 devices. Signed-off-by: Martin Storsjö <martin@martin.st>
* arm: Add mathops.h to ARCH_HEADERS listDiego Biurrun2013-01-24
| | | | It is an arch-specific header not suitable for standalone compilation.
* arm: h264qpel: use neon h264 qpel functions only if supportedJanne Grunau2013-01-24
|
* 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>