summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/codecs/aacdec/ltp_common_internal.h
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2009-12-07 09:56:32 -0800
committerAndreas Huber <andih@google.com>2009-12-07 11:02:28 -0800
commitf44de515d3b6098a0b585865c1a0c7b20d3075a6 (patch)
tree028b1d81643bbb332464b42b50a0f79ba5359142 /media/libstagefright/codecs/aacdec/ltp_common_internal.h
parentbf697e37550d9e8376089b0b5e498613bede798c (diff)
downloadframeworks_av-f44de515d3b6098a0b585865c1a0c7b20d3075a6.zip
frameworks_av-f44de515d3b6098a0b585865c1a0c7b20d3075a6.tar.gz
frameworks_av-f44de515d3b6098a0b585865c1a0c7b20d3075a6.tar.bz2
Initial check in of stagefright software AAC decoder based on PV source code.
Diffstat (limited to 'media/libstagefright/codecs/aacdec/ltp_common_internal.h')
-rw-r--r--media/libstagefright/codecs/aacdec/ltp_common_internal.h115
1 files changed, 115 insertions, 0 deletions
diff --git a/media/libstagefright/codecs/aacdec/ltp_common_internal.h b/media/libstagefright/codecs/aacdec/ltp_common_internal.h
new file mode 100644
index 0000000..d76ac75
--- /dev/null
+++ b/media/libstagefright/codecs/aacdec/ltp_common_internal.h
@@ -0,0 +1,115 @@
+/* ------------------------------------------------------------------
+ * Copyright (C) 1998-2009 PacketVideo
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ * -------------------------------------------------------------------
+ */
+/**************************************************************************
+
+This software module was originally developed by
+
+Mikko Suonio (Nokia)
+
+in the course of development of the MPEG-2 NBC/MPEG-4 Audio standard
+ISO/IEC 13818-7, 14496-1,2 and 3. This software module is an
+implementation of a part of one or more MPEG-2 NBC/MPEG-4 Audio tools
+as specified by the MPEG-2 NBC/MPEG-4 Audio standard. ISO/IEC gives
+users of the MPEG-2 NBC/MPEG-4 Audio standards free license to this
+software module or modifications thereof for use in hardware or
+software products claiming conformance to the MPEG-2 NBC/ MPEG-4 Audio
+standards. Those intending to use this software module in hardware or
+software products are advised that this use may infringe existing
+patents. The original developer of this software module and his/her
+company, the subsequent editors and their companies, and ISO/IEC have
+no liability for use of this software module or modifications thereof
+in an implementation. Copyright is not released for non MPEG-2
+NBC/MPEG-4 Audio conforming products. The original developer retains
+full right to use the code for his/her own purpose, assign or donate
+the code to a third party and to inhibit third party from using the
+code for non MPEG-2 NBC/MPEG-4 Audio conforming products. This
+copyright notice must be included in all copies or derivative works.
+
+Copyright (c) 1997.
+
+***************************************************************************/
+
+#ifndef _LTP_COMMON_INTERNAL_H
+#define _LTP_COMMON_INTERNAL_H
+
+
+/*
+ Purpose: Number of LTP coefficients. */
+#define LPC 1
+
+/*
+ Purpose: Maximum LTP lag. */
+#define DELAY 2048
+
+/*
+ Purpose: Length of the bitstream element ltp_data_present. */
+#define LEN_LTP_DATA_PRESENT 1
+
+/*
+ Purpose: Length of the bitstream element ltp_lag. */
+#define LEN_LTP_LAG 11
+
+/*
+ Purpose: Length of the bitstream element ltp_coef. */
+#define LEN_LTP_COEF 3
+
+/*
+ Purpose: Length of the bitstream element ltp_short_used. */
+#define LEN_LTP_SHORT_USED 1
+
+/*
+ Purpose: Length of the bitstream element ltp_short_lag_present. */
+#define LEN_LTP_SHORT_LAG_PRESENT 1
+
+/*
+ Purpose: Length of the bitstream element ltp_short_lag. */
+#define LEN_LTP_SHORT_LAG 5
+
+/*
+ Purpose: Offset of the lags written in the bitstream. */
+#define LTP_LAG_OFFSET 16
+
+/*
+ Purpose: Length of the bitstream element ltp_long_used. */
+#define LEN_LTP_LONG_USED 1
+
+/*
+ Purpose: Upper limit for the number of scalefactor bands
+ which can use lt prediction with long windows.
+ Explanation: Bands 0..MAX_LT_PRED_SFB-1 can use lt prediction. */
+#define MAX_LT_PRED_LONG_SFB 40
+
+/*
+ Purpose: Upper limit for the number of scalefactor bands
+ which can use lt prediction with short windows.
+ Explanation: Bands 0..MAX_LT_PRED_SFB-1 can use lt prediction. */
+#define MAX_LT_PRED_SHORT_SFB 13
+
+/*
+ Purpose: Buffer offset to maintain block alignment.
+ Explanation: This is only used for a short window sequence. */
+#define SHORT_SQ_OFFSET (BLOCK_LEN_LONG-(BLOCK_LEN_SHORT*4+BLOCK_LEN_SHORT/2))
+
+/*
+ Purpose: Number of codes for LTP weight. */
+#define CODESIZE 8
+
+/* number of scalefactor bands used for reconstruction for short windows */
+#define NUM_RECONSTRUCTED_SFB (8)
+
+#endif /* _LTP_COMMON_INTERNAL_H */