summaryrefslogtreecommitdiff
path: root/libavcodec/arm
Commit message (Collapse)AuthorAge
* 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
* rv34: 1-pass inter MB reconstructionChristophe GISQUET2012-01-16
| | | | Implement 1-pass inverse transform and reconstruction for inter blocks.
* ARM: fix Thumb-mode simple_idct_armMans Rullgard2012-01-13
| | | | | | | | The alignment directive must obviously precede the label. This was never noticed in ARM mode since the location is already aligned there. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: 4-byte align start of all asm functionsMans Rullgard2012-01-13
| | | | | | | | | | | Due to apprent bugs in the GNU assembler and/or linker, relocations can be incorrectly processed if the alignment of a Thumb instruction is changed in the output file compared to the input object. This fixes crashes in h264 decoding with Thumb enabled. No effect in ARM mode since everything is 4-byte aligned there. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: rv34: fix asm syntax in dc transform functionsMans Rullgard2012-01-12
| | | | | Signed-off-by: Mans Rullgard <mans@mansr.com> Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* rv34: NEON optimised dc only inverse transformJanne Grunau2012-01-12
| | | | | 30-50% faster than the C implementation, 0.5% overall speedup on bourne.rmvb.
* rv34: joint coefficient decoding and dequantizationChristophe GISQUET2012-01-04
| | | | | | | | | | | Perform dequantization while decoding coefficients instead of performing it on the entire coefficients buffer. Since quantized coefficients are very sparse, this usually causes a small speedup. Speedup of around 1% on Panda board compared to the removed here neon code. Global speedup is probably around 3%. Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
* rv40: NEON optimised weak loop filterMans Rullgard2011-12-16
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: fix external symbol refs in rv40 asmMans Rullgard2011-12-15
| | | | | | | External symbol references need prefixes on some systems. This should fix build errors on Darwin. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: dca: disable optimised decode_blockcodes() for old gccMans Rullgard2011-12-15
| | | | | | | Old gcc versions have trouble compiling this function, and no simple, targeted test is possible. Signed-off-by: Mans Rullgard <mans@mansr.com>
* rv40: NEON optimised loop filter strength selectionMans Rullgard2011-12-14
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* rv34: NEON optimised 4x4 dequantMans Rullgard2011-12-13
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* rv40: NEON optimised rv40 qpel motion compensationMans Rullgard2011-12-07
| | | | | | Based on patch by Janne Grunau. Signed-off-by: Mans Rullgard <mans@mansr.com>
* rv40: NEON optimised weighted predictionJanne Grunau2011-12-06
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* rv40: NEON optimised chroma MCJanne Grunau2011-12-06
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: move NEON H264 chroma mc to a separate fileMans Rullgard2011-12-06
| | | | | | This allows sharing code with the rv40 version of these functions. Signed-off-by: Mans Rullgard <mans@mansr.com>
* rv34: NEON optimised inverse transform functionsJanne Grunau2011-12-06
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: h264dsp_neon cosmeticsMans Rullgard2011-12-02
| | | | | | | | - Replace 'ip' with 'r12'. - Use correct size designators for vld1/vst1. - Whitespace fixes. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: make some NEON macros reusableJanne Grunau2011-12-02
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: fix indentation in ff_dsputil_init_neon()Mans Rullgard2011-12-01
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: NEON put/avg_pixels8/16 cosmeticsMans Rullgard2011-12-01
| | | | | | | This makes whitespace and register names consistent with the style used in more recent code. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: add remaining NEON avg_pixels8/16 functionsMans Rullgard2011-12-01
|
* ARM: clean up NEON put/avg_pixels macrosMans Rullgard2011-12-01
| | | | | | Although this adds a few lines, the macro calls are less convoluted. Signed-off-by: Mans Rullgard <mans@mansr.com>
* dca: ARMv6 optimised decode_blockcode()Mans Rullgard2011-11-25
| | | | | | | | | This is a hand-tuned version of the code with impossible parts of the FASTDIV function ommitted. 2-5% faster overall on Cortex-A8. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: remove needless .text/.align directivesMans Rullgard2011-11-23
| | | | | | | The 'function' macro already includes the appropriate directives. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: add explicit .arch and .fpu directives to asm.SMans Rullgard2011-11-22
| | | | | | | | | | | | | This prevents build errors when compiler and assembler default targets differ. Ideally each file would declare the highest level it requires. This is however not easily possible as it complicates assembling pre-armv6t2 code in Thumb-2 mode. HAVE_NEON is used as indicator for ARMv7-A since no other symbol exists for this and NEON is only available in this variant. Signed-off-by: Mans Rullgard <mans@mansr.com>
* Remove redundant filename self-references inside files.Diego Biurrun2011-11-08
| | | | Filenames are brittle across renames and add no useful information.
* mpegvideo: remove some unused variables from MpegEncContext.Anton Khirnov2011-10-23
|
* H264: change weight/biweight functions to take a height argument.Ronald S. Bultje2011-10-21
| | | | Neon parts by Mans Rullgard <mans@mansr.com>.
* h264: 4:2:2 intra decoding supportBaptiste Coudurier2011-10-21
| | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de> Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* ARM: check for inline asm 'y' operand modifier supportMans Rullgard2011-10-03
| | | | | | | | The inline asm added in bf5d46d uses the 'y' modifier which is only supported from gcc 4.5. This check allows building with older compilers. Signed-off-by: Mans Rullgard <mans@mansr.com>
* dca: NEON optimised high freq VQ decodingMans Rullgard2011-09-30
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: NEON optimised vector_fmac_scalar()Mans Rullgard2011-09-28
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* mpeg12enc: add intra_vlc private option.Anton Khirnov2011-08-31
| | | | Deprecate CODEC_FLAG2_INTRA_VLC.
* arm: Avoid using the movw instruction needlesslyMåns Rullgård2011-08-03
| | | | | | This fixes building for ARM11 without Thumb2. Signed-off-by: Martin Storsjö <martin@martin.st>
* Move an int64_t down in MpegEncContextMartin Storsjö2011-08-03
| | | | | | | This allows using the same arm assembler offsets for both EABI and the mach-o ABI. Signed-off-by: Martin Storsjö <martin@martin.st>
* dsputil: remove some unused functionsMans Rullgard2011-07-27
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* dsputil: update per-arch init funcs for non-h264 high bit depthMans Rullgard2011-07-21
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* dsputil: template get_pixels() for different bit depthsMans Rullgard2011-07-21
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* simple_idct: add 10-bit versionMans Rullgard2011-07-20
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* arm: remove disabled function dct_unquantize_h263_inter_iwmmxt()Diego Biurrun2011-07-16
|
* ARM: use const macro to define constant data in asmMans Rullgard2011-07-10
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: workaround for bug in GNU assemblerMans Rullgard2011-07-05
| | | | | | | | Some versions of the GNU assembler do not handle 64-bit immediate operands containing arithmetic. Writing the value out in full works correctly. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: allow unaligned buffer in fixed-point NEON FFT4Mans Rullgard2011-07-04
| | | | | | | | | This function is called with only 8-byte alignment from imdct for size 16. The fft4 function is not called for the larger FFT or MDCT sizes, so this has no impact on typical uses. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: ac3: update ff_ac3_extract_exponents_neon per 8b7b2d6Mans Rullgard2011-07-02
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: NEON optimised vector_clip_int32()Mans Rullgard2011-07-02
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: remove check for PLD instructionMans Rullgard2011-06-29
| | | | | | PLD is present in ARMv5TE and later, which is checked for separately. 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: 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>