summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/codecs/aacenc/inc/line_pe.h
diff options
context:
space:
mode:
Diffstat (limited to 'media/libstagefright/codecs/aacenc/inc/line_pe.h')
-rw-r--r--media/libstagefright/codecs/aacenc/inc/line_pe.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/media/libstagefright/codecs/aacenc/inc/line_pe.h b/media/libstagefright/codecs/aacenc/inc/line_pe.h
new file mode 100644
index 0000000..116d5a8
--- /dev/null
+++ b/media/libstagefright/codecs/aacenc/inc/line_pe.h
@@ -0,0 +1,75 @@
+/*
+ ** Copyright 2003-2010, VisualOn, Inc.
+ **
+ ** 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.
+ */
+/*******************************************************************************
+ File: line_pe.h
+
+ Content: Perceptual entropie module structure and functions
+
+*******************************************************************************/
+
+#ifndef __LINE_PE_H
+#define __LINE_PE_H
+
+
+#include "psy_const.h"
+#include "interface.h"
+
+
+typedef struct {
+ Word16 sfbLdEnergy[MAX_GROUPED_SFB]; /* 4*log(sfbEnergy)/log(2) */
+ Word16 sfbNLines4[MAX_GROUPED_SFB]; /* 4*number of relevant lines in sfb */
+ Word16 sfbPe[MAX_GROUPED_SFB]; /* pe for each sfb */
+ Word16 sfbConstPart[MAX_GROUPED_SFB]; /* constant part for each sfb */
+ Word16 sfbNActiveLines[MAX_GROUPED_SFB]; /* number of active lines in sfb */
+ Word16 pe; /* sum of sfbPe */
+ Word16 constPart; /* sum of sfbConstPart */
+ Word16 nActiveLines; /* sum of sfbNActiveLines */
+} PE_CHANNEL_DATA; /* size Word16: 303 */
+
+
+typedef struct {
+ PE_CHANNEL_DATA peChannelData[MAX_CHANNELS];
+ Word16 pe;
+ Word16 constPart;
+ Word16 nActiveLines;
+ Word16 offset;
+ Word16 ahFlag[MAX_CHANNELS][MAX_GROUPED_SFB];
+ Word32 thrExp[MAX_CHANNELS][MAX_GROUPED_SFB];
+ Word32 sfbPeFactors[MAX_CHANNELS][MAX_GROUPED_SFB];
+} PE_DATA; /* size Word16: 303 + 4 + 120 + 240 = 667 */
+
+
+
+
+void prepareSfbPe(PE_DATA *peData,
+ PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS],
+ Word16 logSfbEnergy[MAX_CHANNELS][MAX_GROUPED_SFB],
+ Word16 sfbNRelevantLines[MAX_CHANNELS][MAX_GROUPED_SFB],
+ const Word16 nChannels,
+ const Word16 peOffset);
+
+
+
+
+
+void calcSfbPe(PE_DATA *peData,
+ PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS],
+ const Word16 nChannels);
+
+
+
+
+#endif