summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorVladimir Voroshilov <voroshil@gmail.com>2008-08-26 07:10:38 +0000
committerVladimir Voroshilov <voroshil@gmail.com>2008-08-26 07:10:38 +0000
commit7ad909bd59ef97df8ed349c3d0a6a3a3f165542d (patch)
tree7b6941639465b02a1ce1d3c5475b4d589a252aaf /libavcodec
parent274335e76c533f1f56286b56f7273f5e77dc422c (diff)
Another set of definitions for G.729
Originally committed as revision 14973 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/g729data.h9
-rw-r--r--libavcodec/g729dec.c15
2 files changed, 24 insertions, 0 deletions
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
@@ -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)