summaryrefslogtreecommitdiffstats
path: root/libavcodec/arm
Commit message (Collapse)AuthorAgeFilesLines
* ARM: h264dsp_neon cosmeticsMans Rullgard2011-12-021-313/+313
| | | | | | | | - 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-023-61/+65
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: fix indentation in ff_dsputil_init_neon()Mans Rullgard2011-12-011-41/+39
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: NEON put/avg_pixels8/16 cosmeticsMans Rullgard2011-12-011-57/+57
| | | | | | | 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-012-0/+75
|
* ARM: clean up NEON put/avg_pixels macrosMans Rullgard2011-12-011-69/+86
| | | | | | 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-251-0/+55
| | | | | | | | | 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-239-14/+0
| | | | | | | 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-221-0/+16
| | | | | | | | | | | | | 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-081-1/+0
| | | | Filenames are brittle across renames and add no useful information.
* mpegvideo: remove some unused variables from MpegEncContext.Anton Khirnov2011-10-231-6/+6
|
* H264: change weight/biweight functions to take a height argument.Ronald S. Bultje2011-10-212-117/+46
| | | | Neon parts by Mans Rullgard <mans@mansr.com>.
* h264: 4:2:2 intra decoding supportBaptiste Coudurier2011-10-212-7/+8
| | | | | 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-031-1/+1
| | | | | | | | 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-301-0/+49
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: NEON optimised vector_fmac_scalar()Mans Rullgard2011-09-282-0/+51
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* mpeg12enc: add intra_vlc private option.Anton Khirnov2011-08-311-6/+6
| | | | Deprecate CODEC_FLAG2_INTRA_VLC.
* arm: Avoid using the movw instruction needlesslyMåns Rullgård2011-08-031-2/+2
| | | | | | 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-031-6/+6
| | | | | | | 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-272-118/+0
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* dsputil: update per-arch init funcs for non-h264 high bit depthMans Rullgard2011-07-214-4/+4
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* dsputil: template get_pixels() for different bit depthsMans Rullgard2011-07-211-1/+2
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* simple_idct: add 10-bit versionMans Rullgard2011-07-204-6/+8
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* arm: remove disabled function dct_unquantize_h263_inter_iwmmxt()Diego Biurrun2011-07-161-20/+0
|
* ARM: use const macro to define constant data in asmMans Rullgard2011-07-106-25/+20
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: workaround for bug in GNU assemblerMans Rullgard2011-07-051-1/+1
| | | | | | | | 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-041-2/+2
| | | | | | | | | 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-021-6/+1
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: NEON optimised vector_clip_int32()Mans Rullgard2011-07-022-0/+19
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: remove check for PLD instructionMans Rullgard2011-06-291-5/+2
| | | | | | 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-2328-145/+415
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: update ff_h264_idct8_add4_neon for 4:4:4 changesMans Rullgard2011-06-152-19/+25
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: factor some repetitive code into macrosMans Rullgard2011-06-142-174/+69
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* 4:4:4 H.264 decoding supportJason Garrett-Glaser2011-06-131-1/+2
| | | | 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-131-6/+3
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: jrevdct_arm: use push/pop mnemonicsMans Rullgard2011-06-131-8/+8
| | | | | | | 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-131-6/+4
| | | | | | | | - 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-133-0/+179
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: remove MUL64 and MAC64 inline asmMans Rullgard2011-06-061-30/+1
| | | | | | | | | | | | | 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-041-12/+0
| | | | | | 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-013-1/+39
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: fix MUL64 inline asm for pre-armv6Mans Rullgard2011-05-311-3/+11
| | | | | | | | | | | 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-301-8/+5
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: enable UAL syntax in asm.SMans Rullgard2011-05-295-6/+3
| | | | | | | 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-281-1/+0
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ac3enc: modify mantissa bit counting to keep bap counts for all values of bapJustin Ruggles2011-05-282-54/+0
| | | | | | 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-281-75/+78
| | | | | | | 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-282-34/+34
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: add "cc" clobbers to inline asm where neededMans Rullgard2011-05-283-4/+7
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: disable ff_vector_fmul_vfp on VFPv3 systemsMans Rullgard2011-05-271-1/+2
| | | | | | | | | | 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>
OpenPOWER on IntegriCloud