summaryrefslogtreecommitdiff
path: root/libavcodec/arm
Commit message (Collapse)AuthorAge
* ARM: allow building in Thumb2 modeMans Rullgard2011-06-23
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: update ff_h264_idct8_add4_neon for 4:4:4 changesMans Rullgard2011-06-15
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: factor some repetitive code into macrosMans Rullgard2011-06-14
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* 4:4:4 H.264 decoding supportJason Garrett-Glaser2011-06-13
| | | | Note: this is 4:4:4 from the 2007 spec revision, not the previous (now deprecated) 4:4:4 mode in H.264.
* ARM: jrevdct_arm: simplify stack usageMans Rullgard2011-06-13
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: jrevdct_arm: use push/pop mnemonicsMans Rullgard2011-06-13
| | | | | | | Use push/pop instead of stmdb/ldmia for stack operations. This is the preferred syntax. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: jrevdct_arm: misc cleanupMans Rullgard2011-06-13
| | | | | | | | - use 'const' macro to define coeff table - add missing endfunc - remove superflous directives Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: optimised mpadsp_apply_window_fixedMans Rullgard2011-06-13
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: remove MUL64 and MAC64 inline asmMans Rullgard2011-06-06
| | | | | | | | | | | | | Current GCC versions know how to generate these instructions properly and avoiding inline asm gives better code. The MULH function for ARMv5 uses the same instruction and is also not needed any more. The MLS64 macro remains since negating an input would normally not be allowed as it would fail for INT_MIN. In our uses, the inputs never have this value and thus negating is safe. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: remove MULL inline asmMans Rullgard2011-06-04
| | | | | | Reasonable gcc versions get this one right on their own. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: ac3dsp: optimised update_bap_counts()Mans Rullgard2011-06-01
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: fix MUL64 inline asm for pre-armv6Mans Rullgard2011-05-31
| | | | | | | | | | | Prior to ARMv6, the destination registers of the SMULL instruction must be distinct from the first source register. Marking the output early-clobber ensures it is allocated unique registers. This restriction is dropped in ARMv6 and later, so allowing overlap between input and output registers there might give better code. 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: enable UAL syntax in asm.SMans Rullgard2011-05-29
| | | | | | | This enables UAL syntax for all asm files instead of only those which happen to be incompatible with the old, deprecated syntax. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: unbreak buildMans Rullgard2011-05-28
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ac3enc: modify mantissa bit counting to keep bap counts for all values of bapJustin Ruggles2011-05-28
| | | | | | instead of just 0 to 4. This does all the actual bit counting as a final step.
* ARM: aacdec: fix constraints on inline asmMans Rullgard2011-05-28
| | | | | | | This adds output operands for modified memory allowing the volatile qualifiers to be dropped. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: remove unnecessary volatile from inline asmMans Rullgard2011-05-28
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: add "cc" clobbers to inline asm where neededMans Rullgard2011-05-28
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: disable ff_vector_fmul_vfp on VFPv3 systemsMans Rullgard2011-05-27
| | | | | | | | | | This function uses old-style vector operations deprecated in VFPv3. Some implementations, e.g. Cortex-A9, support them only through slow software emulation. Cortex-A8 does have this functionality in hardware, but as it also has NEON, this function is not used there regardless. Signed-off-by: Mans Rullgard <mans@mansr.com>
* multiple inclusion guard cleanupDiego Biurrun2011-05-21
| | | | | Add missing multiple inclusion guards; clean up #endif comments; add missing library prefixes; keep guard names consistent.
* arm: properly mark external symbol callMartin Aumüller2011-05-14
| | | | | | | | Surround memset and ff_vp8_dct_cat_prob by X() in order to fix iOS build Includes patch by Luca Barbato <lu_zero@gentoo.org>. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* arm/h264pred: add missing argument type.Ronald S. Bultje2011-05-10
|
* Adds 8-, 9- and 10-bit versions of some of the functions used by the h264 ↵Oskar Arvidsson2011-05-10
| | | | | | | | | | | | | | | | | decoder. This patch lets e.g. dsputil_init chose dsp functions with respect to the bit depth to decode. The naming scheme of bit depth dependent functions is <base name>_<bit depth>[_<prefix>] (i.e. the old clear_blocks_c is now named clear_blocks_8_c). Note: Some of the functions for high bit depth is not dependent on the bit depth, but only on the pixel size. This leaves some room for optimizing binary size. Preparatory patch for high bit depth h264 decoding support. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* ac3enc: NEON optimised extract_exponentsMans Rullgard2011-04-05
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: NEON fixed-point forward MDCTMans Rullgard2011-04-03
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: NEON fixed-point FFTMans Rullgard2011-04-03
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ac3enc: ARM optimised ac3_compute_matissa_sizeMans Rullgard2011-04-01
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ac3: armv6 optimised bit_alloc_calc_bapMans Rullgard2011-04-01
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ac3enc: NEON optimised float_to_fixed24Mans Rullgard2011-03-29
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: fix ff_apply_window_int16_neon() prototypeMans Rullgard2011-03-24
| | | | | | The length argument should be unsigned. No change in code. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: NEON optimised apply_window_int16()Mans Rullgard2011-03-24
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ac3enc: NEON optimised shift functionsMans Rullgard2011-03-24
|
* ac3enc: NEON optimised ac3_max_msb_abs_int16 and ac3_exponent_minMans Rullgard2011-03-24
|
* Move dct and rdft definitions to separate filesMans Rullgard2011-03-20
| | | | | | | This leaves fft.h with only the core FFT and MDCT definitions thus making it more managable. 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>
* ARM: VP8: fix build on systems with global symbol prefixMans Rullgard2011-02-27
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: fix vp8 neon with pic enabledMans Rullgard2011-02-27
| | | | | | | The assembler emits literal pools too far from the load instructions, so we must do it explicitly at a suitable location. Signed-off-by: Mans Rullgard <mans@mansr.com>
* FFT: factor a shuffle out of the inner loop and merge it into fft_permute.Loren Merritt2011-02-13
| | | | | | 6% faster SSE FFT on Conroe, 2.5% on Penryn. Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
* VP8: ARM optimised decode_block_coeffs_internalMans Rullgard2011-02-11
| | | | | | Approximately 5% faster on Cortex-A8. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM optimised vp56_rac_get_prob()Mans Rullgard2011-02-11
| | | | | | Approximately 3% faster on Cortex-A8. Signed-off-by: Mans Rullgard <mans@mansr.com>
* VP8: ARM NEON optimisations for dsp functionsMans Rullgard2011-02-07
| | | | | | | This adds NEON optimised versions of all functions in VP8DSPContext. Based on initial work by Rob Clark. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: add helper macro for declaring constant dataMans Rullgard2011-02-02
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Separate format conversion DSP functions from DSPContext.Justin Ruggles2011-02-02
| | | | | | | This will be beneficial for use with the audio conversion API without requiring it to depend on all of dsputil. Signed-off-by: Mans Rullgard <mans@mansr.com>
* Remove unneeded add bias from 3 functions.Justin Ruggles2011-01-31
| | | | | | | | DSPContext.vector_fmul_window() DCADSPContext.lfe_fir() SynthFilterContext.synth_filter_float() Signed-off-by: Mans Rullgard <mans@mansr.com>
* Rearrange MpegEncContext to simplify access from asmMans Rullgard2011-01-29
| | | | | | | | | This moves the fields needed by asm near the top, before any structs or other members which complicate the offset calculation. Modifying other structs will no longer require updating the offsets, and the asm code is slightly simpler due to the smaller offsets. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: update MpegEncContext offsetsMans Rullgard2011-01-29
|
* ARM: NEON: fix overflow in h264 16x16 planar predMans Rullgard2011-01-24
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Change DSPContext.vector_fmul() from dst=dst*src to dest=src0*src1.Justin Ruggles2011-01-22
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Move lpc_compute_autocorr() from DSPContext to a new struct LPCContext.Justin Ruggles2011-01-21
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>