view libtwamr/sqrt_l.tab @ 477:4c9222d95647

libtwamr encoder: always emit frame->mode = mode; In the original implementation of amr_encode_frame(), the 'mode' member of the output struct was set to 0xFF if the output frame type is TX_NO_DATA. This design was made to mimic the mode field (16-bit word) being set to 0xFFFF (or -1) in 3GPP test sequence format - but nothing actually depends on this struct member being set in any way, and amr_frame_to_tseq() generates the needed 0xFFFF on its own, based on frame->type being equal to TX_NO_DATA. It is simpler and more efficient to always set frame->mode to the actual encoding mode in amr_encode_frame(), and this new behavior has already been documented in doc/AMR-library-API description in anticipation of the present change.
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 18 May 2024 22:30:42 +0000
parents 8dfb7cbe6b59
children
line wrap: on
line source

/*
********************************************************************************
*
*      GSM AMR-NB speech codec   R98   Version 7.6.0   December 12, 2001
*                                R99   Version 3.3.0                
*                                REL-4 Version 4.1.0                
*
********************************************************************************
*
*      File             : sqrt_l.tab
*      Purpose          : Table for routine sqrt_l_exp()
*      $Id $
*
********************************************************************************
*/
/* table[i] = sqrt((i+16)*2^-6) * 2^15, i.e. sqrt(x) scaled Q15 */

static const Word16 table[49] =
{
 16384,
 16888,
 17378,
 17854,
 18318,
 18770,
 19212,
 19644,
 20066,
 20480,
 20886,
 21283,
 21674,
 22058,
 22435,
 22806,
 23170,
 23530,
 23884,
 24232,
 24576,
 24915,
 25249,
 25580,
 25905,
 26227,
 26545,
 26859,
 27170,
 27477,
 27780,
 28081,
 28378,
 28672,
 28963,
 29251,
 29537,
 29819,
 30099,
 30377,
 30652,
 30924,
 31194,
 31462,
 31727,
 31991,
 32252,
 32511,
 32767
};