summaryrefslogtreecommitdiff
path: root/libavcodec/arm/ac3dsp_init_arm.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2011-04-02 01:51:44 +0200
committerMichael Niedermayer <michaelni@gmx.at>2011-04-02 01:54:27 +0200
commit4defa68fe25eae4d7c27341e3b35811c047dcd3f (patch)
tree9d4d37343ec4c99801c1b76b813b0a5b2b04576b /libavcodec/arm/ac3dsp_init_arm.c
parenta2f5e14a867768019b49b830e29801f1bfb2abb7 (diff)
parentaa05f2126e18d23432bde77e6f44e41691472fef (diff)
downloadffmpeg-4defa68fe25eae4d7c27341e3b35811c047dcd3f.tar.gz
Merge remote branch 'qatar/master'
* qatar/master: ac3enc: ARM optimised ac3_compute_matissa_size ac3: armv6 optimised bit_alloc_calc_bap fate: simplify fft test rules avio: document avio_alloc_context. lavf: make compute_chapters_end less picky. sierravmd: fix Indeo3 videos FFT: simplify fft8() fate: add fixed-point fft/mdct tests Fixed-point support in fft-test ape: check that number of seektable entries is equal to number of frames Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/arm/ac3dsp_init_arm.c')
-rw-r--r--libavcodec/arm/ac3dsp_init_arm.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/libavcodec/arm/ac3dsp_init_arm.c b/libavcodec/arm/ac3dsp_init_arm.c
index 0dfeaa9c80..8534c9b97c 100644
--- a/libavcodec/arm/ac3dsp_init_arm.c
+++ b/libavcodec/arm/ac3dsp_init_arm.c
@@ -29,8 +29,21 @@ void ff_ac3_lshift_int16_neon(int16_t *src, unsigned len, unsigned shift);
void ff_ac3_rshift_int32_neon(int32_t *src, unsigned len, unsigned shift);
void ff_float_to_fixed24_neon(int32_t *dst, const float *src, unsigned int len);
+void ff_ac3_bit_alloc_calc_bap_armv6(int16_t *mask, int16_t *psd,
+ int start, int end,
+ int snr_offset, int floor,
+ const uint8_t *bap_tab, uint8_t *bap);
+
+int ff_ac3_compute_mantissa_size_arm(int cnt[5], uint8_t *bap, int nb_coefs);
+
av_cold void ff_ac3dsp_init_arm(AC3DSPContext *c, int bit_exact)
{
+ c->compute_mantissa_size = ff_ac3_compute_mantissa_size_arm;
+
+ if (HAVE_ARMV6) {
+ c->bit_alloc_calc_bap = ff_ac3_bit_alloc_calc_bap_armv6;
+ }
+
if (HAVE_NEON) {
c->ac3_exponent_min = ff_ac3_exponent_min_neon;
c->ac3_max_msb_abs_int16 = ff_ac3_max_msb_abs_int16_neon;