Diego Biurrun
aa06d65693
arm: Add missing #include to vp8.h to fix a make checkheaders warning.
13 years ago
Diego Biurrun
32f3c541bc
doxygen: Do not include license boilerplates in Doxygen comment blocks.
13 years ago
Mans Rullgard
cd2f98f365
ARM: ac3: fix ac3_bit_alloc_calc_bap_armv6
...
This function was broken when the start bin was not at the start
of a band.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Mans Rullgard
be822d77b6
aacsbr: ARM NEON optimised sbrdsp functions
...
Overall speedup of HE-AAC decoding 2.3x on Cortex-A8, 1.2x on A9.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Felipe Contreras
c3d5e290ca
ARM: fix build with FFT enabled and MDCT disabled
...
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Janne Grunau
9e12002f11
rv34: add NEON rv34_idct_add
...
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
13 years ago
Christophe GISQUET
9ba9c34024
rv34: 1-pass inter MB reconstruction
...
Implement 1-pass inverse transform and reconstruction for inter blocks.
13 years ago
Mans Rullgard
71b3a63e9c
ARM: fix Thumb-mode simple_idct_arm
...
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>
13 years ago
Mans Rullgard
5c5e1ea3cd
ARM: 4-byte align start of all asm functions
...
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>
13 years ago
Mans Rullgard
81dc6a2a3c
ARM: rv34: fix asm syntax in dc transform functions
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
13 years ago
Janne Grunau
e1e369049e
rv34: NEON optimised dc only inverse transform
...
30-50% faster than the C implementation, 0.5% overall speedup on
bourne.rmvb.
13 years ago
Christophe GISQUET
98f24ecd6c
rv34: joint coefficient decoding and dequantization
...
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>
13 years ago
Mans Rullgard
11b1db2759
rv40: NEON optimised weak loop filter
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Mans Rullgard
b536c7a3e1
ARM: fix external symbol refs in rv40 asm
...
External symbol references need prefixes on some systems.
This should fix build errors on Darwin.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Mans Rullgard
f7de52354f
ARM: dca: disable optimised decode_blockcodes() for old gcc
...
Old gcc versions have trouble compiling this function, and
no simple, targeted test is possible.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Mans Rullgard
71ce76027d
rv40: NEON optimised loop filter strength selection
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Mans Rullgard
4722a03c75
rv34: NEON optimised 4x4 dequant
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Mans Rullgard
392107ad07
rv40: NEON optimised rv40 qpel motion compensation
...
Based on patch by Janne Grunau.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Janne Grunau
6c88988866
rv40: NEON optimised weighted prediction
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Janne Grunau
f5c05b9aa5
rv40: NEON optimised chroma MC
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Mans Rullgard
f054a82727
ARM: move NEON H264 chroma mc to a separate file
...
This allows sharing code with the rv40 version of these functions.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Janne Grunau
42d32cf53c
rv34: NEON optimised inverse transform functions
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Mans Rullgard
59807fee6d
ARM: h264dsp_neon cosmetics
...
- Replace 'ip' with 'r12'.
- Use correct size designators for vld1/vst1.
- Whitespace fixes.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Janne Grunau
a760f530bb
ARM: make some NEON macros reusable
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Mans Rullgard
3adba2de3d
ARM: fix indentation in ff_dsputil_init_neon()
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Mans Rullgard
96fef6cf31
ARM: NEON put/avg_pixels8/16 cosmetics
...
This makes whitespace and register names consistent with
the style used in more recent code.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Mans Rullgard
716f1705e9
ARM: add remaining NEON avg_pixels8/16 functions
13 years ago
Mans Rullgard
94267ddfb2
ARM: clean up NEON put/avg_pixels macros
...
Although this adds a few lines, the macro calls are less convoluted.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Mans Rullgard
00a856e3f9
dca: ARMv6 optimised decode_blockcode()
...
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>
13 years ago
Mans Rullgard
3a0b72dee0
ARM: remove needless .text/.align directives
...
The 'function' macro already includes the appropriate
directives.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Mans Rullgard
8ee2b4672f
ARM: add explicit .arch and .fpu directives to asm.S
...
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>
13 years ago
Diego Biurrun
ce33320b30
Remove redundant filename self-references inside files.
...
Filenames are brittle across renames and add no useful information.
13 years ago
Anton Khirnov
acffe45732
mpegvideo: remove some unused variables from MpegEncContext.
13 years ago
Ronald S. Bultje
c2d337429c
H264: change weight/biweight functions to take a height argument.
...
Neon parts by Mans Rullgard <mans@mansr.com>.
13 years ago
Baptiste Coudurier
76741b0e56
h264: 4:2:2 intra decoding support
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
13 years ago
Mans Rullgard
6308729e68
ARM: check for inline asm 'y' operand modifier support
...
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>
13 years ago
Mans Rullgard
bf5d46d8e6
dca: NEON optimised high freq VQ decoding
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Mans Rullgard
baf6b738f2
ARM: NEON optimised vector_fmac_scalar()
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Anton Khirnov
297d9cb3dc
mpeg12enc: add intra_vlc private option.
...
Deprecate CODEC_FLAG2_INTRA_VLC.
13 years ago
Måns Rullgård
9a83adaf34
arm: Avoid using the movw instruction needlessly
...
This fixes building for ARM11 without Thumb2.
Signed-off-by: Martin Storsjö <martin@martin.st>
13 years ago
Martin Storsjö
d0a2f0af9d
Move an int64_t down in MpegEncContext
...
This allows using the same arm assembler offsets for both EABI
and the mach-o ABI.
Signed-off-by: Martin Storsjö <martin@martin.st>
13 years ago
Mans Rullgard
cbd58a872d
dsputil: remove some unused functions
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Mans Rullgard
a617c6aaa3
dsputil: update per-arch init funcs for non-h264 high bit depth
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Mans Rullgard
874f1a901d
dsputil: template get_pixels() for different bit depths
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Mans Rullgard
e7a972e113
simple_idct: add 10-bit version
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Diego Biurrun
8342a82680
arm: remove disabled function dct_unquantize_h263_inter_iwmmxt()
14 years ago
Mans Rullgard
11043d80f6
ARM: use const macro to define constant data in asm
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Mans Rullgard
fce1e43410
ARM: workaround for bug in GNU assembler
...
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>
14 years ago
Mans Rullgard
3824ef08e0
ARM: allow unaligned buffer in fixed-point NEON FFT4
...
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>
14 years ago
Mans Rullgard
5dd045ebc1
ARM: ac3: update ff_ac3_extract_exponents_neon per 8b7b2d6
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago