summaryrefslogtreecommitdiff
path: root/libavutil/arm
Commit message (Collapse)AuthorAge
* 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
|
* lavc: Move vector_fmul_window to AVFloatDSPContextJustin Ruggles2013-01-16
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* arm: detect cpu features at runtime on LinuxMans Rullgard2012-12-07
| | | | | | | | This allows compiling optimised functions for features not enabled in the core build and selecting these at runtime if the system has the necessary support. Signed-off-by: Mans Rullgard <mans@mansr.com>
* 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>
* dsputil: move vector_fmul_scalar() to AVFloatDSPContext in libavutilJustin Ruggles2012-11-26
|
* Move avutil tables only used in libavcodec to libavcodec.Diego Biurrun2012-10-11
|
* ARM: use numeric ID for Tag_ABI_align_preservedMans Rullgard2012-10-03
| | | | | | Some old assemblers still in use do not support named tags. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: bswap: drop armcc version of av_bswap16()Mans Rullgard2012-10-02
| | | | | | | This function causes several versions of armcc to miscompile code, and the performance impact is small. Signed-off-by: Mans Rullgard <mans@mansr.com>
* 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: fix Thumb PIC on AppleMans Rullgard2012-10-02
| | | | | | | LDR with register offset and PC as base register is not available in the Thumb instruction set so the addition must be done separately. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: use 2-operand syntax for ADD Rd, PC in Apple PIC codeMans Rullgard2012-09-21
| | | | | | | The Apple assembler refuses to assemble the 3-operand form in Thumb2 even though it is valid syntax. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: align PIC offset pools to 4 bytesMans Rullgard2012-09-21
| | | | | | | | | When building Thumb2 code, the end of a function, where the PIC offsets are placed, need not be aligned. Although the values are only accessed with instructions allowing unaligned addresses, keeping them aligned is preferable. 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
|
* ARM: intmath: use native-size return types for clipping functionsMans Rullgard2012-08-13
| | | | | | | This avoids having the compiler redundantly mask the values to the smaller size. Signed-off-by: Mans Rullgard <mans@mansr.com>
* libavutil: add saturating addition functionsMans Rullgard2012-08-13
| | | | | | | Fixed-point audio codecs often use saturating arithmetic, and special instructions for these operations are common. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: add missing "cc" clobber in av_clipl_int32_arm()Mans Rullgard2012-08-10
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: use Q/R inline asm operand modifiers only if supportedMans Rullgard2012-08-07
| | | | | | | | | | Some compilers do not support the Q/R modifiers used to access the low/high parts of a 64-bit register pair. Check for this and disable all uses of it when not supported. Fixes bug #337. 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>
* cosmetics: do not use full path for local headersDiego Biurrun2012-06-22
|
* float_dsp: Move vector_fmac_scalar() from libavcodec to libavutilJustin Ruggles2012-06-18
|
* ARM: fix float_dsp breakage from d5a7229Mans Rullgard2012-06-08
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* 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.
* build: cosmetics: Add missing end-of-line backslashes to item lists.Diego Biurrun2012-05-07
|
* arm: intreadwrite: revert 16-bit load asm to old version for gcc < 4.6Mans Rullgard2012-05-03
| | | | | | | | Commit adebad0 "arm: intreadwrite: fix inline asm constraints for gcc 4.6 and later" caused some older gcc versions to miscompile code. This reverts to the old version of the code for these compilers. Signed-off-by: Mans Rullgard <mans@mansr.com>
* arm: intreadwrite: disable inline asm for gcc 4.7 and laterMans Rullgard2012-05-02
| | | | | | | | Starting with version 4.7, gcc properly supports unaligned memory accesses on ARM. Not using the inline asm with these compilers results in better code. Signed-off-by: Mans Rullgard <mans@mansr.com>
* arm: intreadwrite: fix inline asm constraints for gcc 4.6 and laterMans Rullgard2012-05-02
| | | | | | | | | | | | | | | | | | | | With a dereferenced type-cast pointer as memory operand, gcc 4.6 and later will sometimes copy the data to a temporary location, the address of which is used as the operand value, if it thinks the target address might be misaligned. Using a pointer to a packed struct type instead does the right thing. The 16-bit case is special since the ldrh instruction addressing modes are limited compared to ldr. The "Uq" constraint produces a memory reference suitable for an ldrsb instruction, which supports the same addressing modes as ldrh. However, the restrictions appear to apply only when the operand addresses a single byte. The memory reference must thus be split into two operands each targeting one byte. Finally, the "Uq" constraint is only available in ARM mode. The Thumb-2 ldrh instruction supports most addressing modes so the normal "m" constraint can be used there. 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 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.
* bswap: make generic implementation more compiler-friendlyMans Rullgard2011-12-12
| | | | | | | | With these changes, gcc 4.5 and later recognise it as a bswap and use the proper instructions on ARM and x86. On x86, the 16-bit bswap is recognised from gcc 4.1. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: allow building in Thumb2 modeMans Rullgard2011-06-23
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: simplify inline asm with 64-bit operandsMans Rullgard2011-05-30
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: improve FASTDIV asmMans Rullgard2011-05-28
| | | | | | This uses one register less. Also add missing "cc" clobber. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: add ARMv6 optimised av_clip_uintp2Mans Rullgard2011-05-26
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: remove volatile from asm statements in libavutil/intmathMans Rullgard2011-05-26
| | | | | | | The volatile qualifiers are not needed on these statements as their effects are fully specified by constraints. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: fix av_clipl_int32_arm()Mans Rullgard2011-05-26
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Force inlining of avutil common routinesJason Garrett-Glaser2011-02-17
| | | | | | On some versions of gcc, these weren't always getting inlined due to hitting the inline cap limit in some files. This is generally bad, as most of these functions are smaller inlined than not.
* consolidate .gitignore patters into a single fileJanne Grunau2011-01-18
| | | | Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
* convert svn:ignore properties to .gitignore filesJanne Grunau2011-01-17
| | | | Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
* ARM: change return type of AV_RN16() to unsignedMåns Rullgård2010-09-26
| | | | | | | This prevents gcc inserting useless UXTH instructions, at least in some cases. Originally committed as revision 25212 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Clean up av_get_cpu_flag()Måns Rullgård2010-09-09
| | | | | | | | Instead of defining functions in per-arch header files included by the main cpu.c, define them normally and call them from the generic one. Originally committed as revision 25084 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Move mm_support() from libavcodec to libavutil, make it a publicStefano Sabatini2010-09-08
| | | | | | function and rename it to av_get_cpu_flags(). Originally committed as revision 25076 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add av_ prefix to bswap macrosMåns Rullgård2010-07-10
| | | | Originally committed as revision 24170 to svn://svn.ffmpeg.org/ffmpeg/trunk
* ARM: optimised integer clip functionsMåns Rullgård2010-07-07
| | | | Originally committed as revision 24089 to svn://svn.ffmpeg.org/ffmpeg/trunk
* ARM: intmath.h cosmeticsMåns Rullgård2010-07-07
| | | | Originally committed as revision 24088 to svn://svn.ffmpeg.org/ffmpeg/trunk