Alexandra Hájková
2008f76054
dca: remove unused decode_hf function and quant_d tables
...
They were superseded with their integer equivalents. Rename integer
decode_hf to decode_hf.
2015-12-24 13:58:18 +01:00
Janne Grunau
cc29d96d5a
arm64: fix inverted register order in transpose_4x4H
...
Fix related register order issue in ff_h264_idct_add_neon.
Found-by: zjh8890 <243186085@qq.com>
2015-12-21 13:44:20 +01:00
Janne Grunau
a0fc780a20
arm64: int32_to_float_fmul neon asm
...
3% faster dts decoding on a cortex-a57.
cortex-a57 cortex-a53
int32_to_float_fmul_array8_c: 1270.9 4475.6
int32_to_float_fmul_array8_neon: 328.6 569.2
int32_to_float_fmul_scalar_c: 928.5 4119.6
int32_to_float_fmul_scalar_neon: 309.1 524.1
2015-12-14 16:45:02 +01:00
Janne Grunau
705f5e5e15
arm64: port synth_filter_float_neon from arm
...
~25% faster dts decoding overall. The checkasm CPU cycles numbers are
not that useful since synth_filter_float() calls FFTContext.imdct_half().
cortex-a57 cortex-a53
synth_filter_float_c: 1866.2 3490.9
synth_filter_float_neon: 915.0 1531.5
With fftc.imdct_half forced to imdct_half_neon:
cortex-a57 cortex-a53
synth_filter_float_c: 1718.4 3025.3
synth_filter_float_neon: 926.2 1530.1
2015-12-14 16:45:01 +01:00
Janne Grunau
c33c1fa8af
arm64: convert dcadsp neon asm from arm
...
~2% faster dts decoding overall.
cortex-a57 cortex-a53
dca_decode_hf_c: 474.8 1659.9
dca_decode_hf_neon: 225.2 301.1
dca_lfe_fir0_c: 913.2 1537.7
dca_lfe_fir0_neon: 286.8 451.9
dca_lfe_fir1_c: 848.7 1711.5
dca_lfe_fir1_neon: 387.1 506.4
2015-12-14 16:45:01 +01:00
Janne Grunau
f56d8d8dd7
h264: aarch64: intra prediction optimisations
2015-07-20 23:10:29 +02:00
Janne Grunau
c2de2cf0d2
arm64: constify src in h264qpel dsp function definitions
2015-06-24 08:41:32 +02:00
Diego Biurrun
3d5d46233c
opus: Factor out imdct15 into a standalone component
...
It will be reused by the AAC decoder.
2015-02-02 16:07:33 +01:00
Martin Storsjö
780cd20b00
aarch64: Use .data.rel.ro for const data with relocations
...
This reverts commit c00365b46d
in addition to using a different section.
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-09 11:43:31 +02:00
Martin Storsjö
c00365b46d
aarch64: Make the function pointer tables position independent
...
This allows running the code on android, where 64 bit binaries with
text relocations aren't allowed to be loaded.
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-16 01:07:24 +02:00
Janne Grunau
ac6b95dbc0
aarch64: add ',' between assembler macro arguments where missing
...
llvm's integrated assembler does not accept spaces as macro argument
delimiter when targeting darwin. Using a explicit delimiter is a good
idea in principle since it makes case like 'macro 4 -2' vs 'macro 4 - 2'
clear.
2014-08-04 00:17:21 +02:00
Janne Grunau
f23d26a686
h264: avoid using uninitialized memory in NEON chroma mc
...
Adapt commit 982b596ea6
for the arm and
aarch64 NEON asm. 5-10% faster on Cortex-A9.
2014-06-23 16:32:15 +02:00
Janne Grunau
d3f5b94762
aarch64: opus NEON iMDCT and FFT
...
Opus celt decoding 11% faster and the iMDCT over 2.5 times faster on
Apple's A7.
2014-05-15 18:17:02 +02:00
Janne Grunau
9aa4592076
aarch64: assembler in clang-3.4 ignores the division by two
...
Values are positive powers of two, so just replace it with right shift.
2014-05-13 19:44:09 +02:00
Janne Grunau
3956a5e0ea
aarch64: NEON vorbis_inverse_coupling
...
From the ARMv7 NEON version. 16 times faster as the C version, overall
more than 12% faster vorbis decoding on Apple's A7.
2014-04-22 22:01:45 +02:00
Janne Grunau
8f9fe6ae34
aarch64: NEON fixed/floating point MPADSP apply_window
...
30%/25% (fixed/float) faster mp3 decoding on Apple's A7. The floating
point decoder is approximately 7% faster.
2014-04-22 22:01:45 +02:00
Janne Grunau
ee2bc5974f
aarch64: NEON float (i)MDCT
...
Approximately as fast as the ARM NEON version on Apple's A7.
2014-04-22 19:35:41 +02:00
Janne Grunau
650c4300d9
aarch64: NEON float FFT
...
Approximately as fast as the ARM NEON version on Apple's A7.
2014-04-22 19:35:40 +02:00
Janne Grunau
d3789eeeed
aarch64: implement videodsp.prefetch
...
8% faster h264 decoding on Apple A7.
2014-04-06 21:18:49 +02:00
Diego Biurrun
0e083d7e43
build: Group general components separate from de/encoders in arch Makefiles
...
This is in line with how the top-level libavcodec Makefile is structured.
2014-03-20 05:03:23 -07:00
Janne Grunau
dfe224f377
aarch64: get_cabac inline asm
...
Based on the x86 branchless get_cabac asm. get_cabac_noinline() gets
approximately 20% faster (no cycle counts available) compared to clang
from Xcode 5.1 beta5. More than 6% faster overall. A part of the overall
speedup might be explained by additional inlining of get_cabac().
2014-03-09 00:45:33 +01:00
Janne Grunau
9c029f67ca
aarch64: use EXTERN_ASM consistently for exported symbols
...
Based on e3fec3f095
for arm.
2014-02-20 15:24:35 +01:00
Janne Grunau
fe96769bed
aarch64: port neon clobber test from arm
2014-01-15 12:31:07 +01:00
Janne Grunau
f896bca03f
aarch64: h264 (bi)weight NEON optimizations
...
Ported from ARMv7 NEON.
2014-01-15 12:31:07 +01:00
Janne Grunau
36e3b1f2fd
aarch64: h264 loop filter NEON optimizations
...
Ported from ARMv7 NEON.
2014-01-15 12:31:04 +01:00
Janne Grunau
c65d67ef50
aarch64: hpeldsp NEON optimizations
...
Ported from ARMv7 NEON.
2014-01-15 12:30:24 +01:00
Janne Grunau
d5dd8c7bf0
aarch64: h264 qpel NEON optimizations
...
Ported from ARMv7 NEON.
2014-01-15 12:17:49 +01:00
Janne Grunau
8438b3f09f
aarch64: h264 idct NEON assembler optimizations
...
Ported from ARMv7 NEON.
2014-01-15 12:13:41 +01:00
Janne Grunau
71617884a2
aarch64: h264 chroma motion compensation NEON optimizations
...
Since RV40 and VC-1 use almost the same algorithm so optimizations for
those two decoders are easy to do and included.
2014-01-15 12:07:18 +01:00