summaryrefslogtreecommitdiff
path: root/libavcodec/arm/ac3dsp_init_arm.c
diff options
context:
space:
mode:
authorMans Rullgard <mans@mansr.com>2011-03-11 02:50:57 +0000
committerMans Rullgard <mans@mansr.com>2011-04-01 22:46:05 +0100
commit182826c8846f2f7f0538c4b2a09e882e29881804 (patch)
tree7d57981dbab0d12887f63d164edaaa9c563a5db0 /libavcodec/arm/ac3dsp_init_arm.c
parent5085a1a068d85cf68501d8efe09acfbd42ff3860 (diff)
ac3: armv6 optimised bit_alloc_calc_bap
Signed-off-by: Mans Rullgard <mans@mansr.com>
Diffstat (limited to 'libavcodec/arm/ac3dsp_init_arm.c')
-rw-r--r--libavcodec/arm/ac3dsp_init_arm.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/libavcodec/arm/ac3dsp_init_arm.c b/libavcodec/arm/ac3dsp_init_arm.c
index 03200e64cd..c1e96e2d1b 100644
--- a/libavcodec/arm/ac3dsp_init_arm.c
+++ b/libavcodec/arm/ac3dsp_init_arm.c
@@ -29,8 +29,17 @@ 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);
+
av_cold void ff_ac3dsp_init_arm(AC3DSPContext *c, int bit_exact)
{
+ 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;