Another set of definitions for G.729
authorVladimir Voroshilov <voroshil@gmail.com>
Tue, 26 Aug 2008 07:10:38 +0000 (07:10 +0000)
committerVladimir Voroshilov <voroshil@gmail.com>
Tue, 26 Aug 2008 07:10:38 +0000 (07:10 +0000)
Originally committed as revision 14973 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/g729data.h
libavcodec/g729dec.c

index 5334e48..ee140a8 100644 (file)
 /// 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)
index f00e597..f17524a 100644 (file)
 #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)