diff --git a/libavcodec/g729data.h b/libavcodec/g729data.h index 5334e48093..ee140a81b5 100644 --- a/libavcodec/g729data.h +++ b/libavcodec/g729data.h @@ -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 --git a/libavcodec/g729dec.c b/libavcodec/g729dec.c index f00e597865..f17524aa5c 100644 --- a/libavcodec/g729dec.c +++ b/libavcodec/g729dec.c @@ -48,6 +48,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 */