From a8eb8de4613a3f6bddf3e2a383db5af57813576b Mon Sep 17 00:00:00 2001 From: Vitor Sessak Date: Sat, 19 Dec 2009 14:05:31 +0000 Subject: Add tables used by both AMR-NB and SIPR Originally committed as revision 20897 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/acelp_vectors.c | 29 +++++++++++++++++++++++++++++ libavcodec/acelp_vectors.h | 20 ++++++++++++++++++++ 2 files changed, 49 insertions(+) diff --git a/libavcodec/acelp_vectors.c b/libavcodec/acelp_vectors.c index b83c270190..0b478b787b 100644 --- a/libavcodec/acelp_vectors.c +++ b/libavcodec/acelp_vectors.c @@ -103,6 +103,35 @@ static uint8_t gray_decode[32] = }; #endif +const float ff_pow_0_7[10] = { + 0.700000, 0.490000, 0.343000, 0.240100, 0.168070, + 0.117649, 0.082354, 0.057648, 0.040354, 0.028248 +}; + +const float ff_pow_0_75[10] = { + 0.750000, 0.562500, 0.421875, 0.316406, 0.237305, + 0.177979, 0.133484, 0.100113, 0.075085, 0.056314 +}; + +const float ff_pow_0_55[10] = { + 0.550000, 0.302500, 0.166375, 0.091506, 0.050328, + 0.027681, 0.015224, 0.008373, 0.004605, 0.002533 +}; + +const float ff_b60_sinc[61] = { + 0.898529 , 0.865051 , 0.769257 , 0.624054 , 0.448639 , 0.265289 , + 0.0959167 , -0.0412598 , -0.134338 , -0.178986 , -0.178528 , -0.142609 , +-0.0849304 , -0.0205078 , 0.0369568 , 0.0773926 , 0.0955200 , 0.0912781 , + 0.0689392 , 0.0357056 , 0. , -0.0305481 , -0.0504150 , -0.0570068 , +-0.0508423 , -0.0350037 , -0.0141602 , 0.00665283, 0.0230713 , 0.0323486 , + 0.0335388 , 0.0275879 , 0.0167847 , 0.00411987, -0.00747681, -0.0156860 , +-0.0193481 , -0.0183716 , -0.0137634 , -0.00704956, 0. , 0.00582886 , + 0.00939941, 0.0103760 , 0.00903320, 0.00604248, 0.00238037, -0.00109863 , +-0.00366211, -0.00497437, -0.00503540, -0.00402832, -0.00241089, -0.000579834, + 0.00103760, 0.00222778, 0.00277710, 0.00271606, 0.00213623, 0.00115967 , + 0. +}; + void ff_acelp_fc_pulse_per_track( int16_t* fc_v, const uint8_t *tab1, diff --git a/libavcodec/acelp_vectors.h b/libavcodec/acelp_vectors.h index 10cbc08946..7bbc6b3ddf 100644 --- a/libavcodec/acelp_vectors.h +++ b/libavcodec/acelp_vectors.h @@ -111,6 +111,26 @@ extern const uint8_t ff_fc_2pulses_9bits_track1_gray[16]; */ extern const uint8_t ff_fc_2pulses_9bits_track2_gray[32]; +/** + * b60 hamming windowed sinc function coefficients + */ +extern const float ff_b60_sinc[61]; + +/** + * Table of pow(0.7,n) + */ +extern const float ff_pow_0_7[10]; + +/** + * Table of pow(0.75,n) + */ +extern const float ff_pow_0_75[10]; + +/** + * Table of pow(0.55,n) + */ +extern const float ff_pow_0_55[10]; + /** * Decode fixed-codebook vector (3.8 and D.5.8 of G.729, 5.7.1 of AMR). * @param fc_v [out] decoded fixed codebook vector (2.13) -- cgit v1.2.3