# HG changeset patch # User voroshil # Date 1219734638 0 # Node ID dc309e45a671e7cf7a2ef1af93afea78add00ad3 # Parent 3ced4fb2334227cb9ced08f04f26e3e01f0dca1e Another set of definitions for G.729 diff -r 3ced4fb23342 -r dc309e45a671 g729data.h --- a/g729data.h Mon Aug 25 22:51:47 2008 +0000 +++ b/g729data.h Tue Aug 26 07:10:38 2008 +0000 @@ -27,6 +27,15 @@ /// Moving Average (MA) prediction order #define MA_NP 4 +#define VQ_1ST_BITS 7 ///< first stage vector of quantizer (size in bits) +#define VQ_2ND_BITS 5 ///< second stage vector of quantizer (size in bits) + +#define GC_1ST_IDX_BITS_8K 3 ///< gain codebook (first stage) index, 8k mode (size in bits) +#define GC_2ND_IDX_BITS_8K 4 ///< gain codebook (second stage) index, 8k mode (size in bits) + +#define GC_1ST_IDX_BITS_6K4 3 ///< gain codebook (first stage) index, 6.4k mode (size in bits) +#define GC_2ND_IDX_BITS_6K4 3 ///< gain codebook (second stage) index, 6.4k mode (size in bits) + /** * first stage LSP codebook * (10-dimensional, with 128 entries (3.24 of G.729) diff -r 3ced4fb23342 -r dc309e45a671 g729dec.c --- a/g729dec.c Mon Aug 25 22:51:47 2008 +0000 +++ b/g729dec.c Tue Aug 26 07:10:38 2008 +0000 @@ -49,6 +49,21 @@ #define LSFQ_DIFF_MIN 321 /** + * minimum gain pitch value (3.8, Equation 47) + * 0.2 in (1.14) + */ +#define SHARP_MIN 3277 + +/** + * maximum gain pitch value (3.8, Equation 47) + * (EE) This does not comply with the specification. + * Specification says about 0.8, which should be + * 13107 in (1.14), but reference C code uses + * 13017 (equals to 0.7945) instead of it. + */ +#define SHARP_MAX 13017 + +/** * \brief pseudo random number generator */ static inline uint16_t g729_random(uint16_t value)