1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
/******************************** MPEG Audio Encoder **************************
(C) Copyright Fraunhofer IIS (1999)
All Rights Reserved
Please be advised that this software and/or program delivery is
Confidential Information of Fraunhofer and subject to and covered by the
Fraunhofer IIS Software Evaluation Agreement
between Google Inc. and Fraunhofer
effective and in full force since March 1, 2012.
You may use this software and/or program only under the terms and
conditions described in the above mentioned Fraunhofer IIS Software
Evaluation Agreement. Any other and/or further use requires a separate agreement.
$Id$
Author(s): M. Werner
Description: Band/Line energy calculation
This software and/or program is protected by copyright law and international
treaties. Any reproduction or distribution of this software and/or program,
or any portion of it, may result in severe civil and criminal penalties, and
will be prosecuted to the maximum extent possible under law.
******************************************************************************/
#ifndef _BAND_NRG_H
#define _BAND_NRG_H
#include "common_fix.h"
void
FDKaacEnc_CalcSfbMaxScaleSpec(
const FIXP_DBL *mdctSpectrum,
const INT *bandOffset,
INT *sfbMaxScaleSpec,
const INT numBands
);
FIXP_DBL
FDKaacEnc_CheckBandEnergyOptim(
const FIXP_DBL *mdctSpectrum,
INT *sfbMaxScaleSpec,
const INT *bandOffset,
const INT numBands,
FIXP_DBL *bandEnergy,
FIXP_DBL *bandEnergyLdData,
INT minSpecShift
);
INT
FDKaacEnc_CalcBandEnergyOptimLong(
const FIXP_DBL *mdctSpectrum,
INT *sfbMaxScaleSpec,
const INT *bandOffset,
const INT numBands,
FIXP_DBL *bandEnergy,
FIXP_DBL *bandEnergyLdData
);
void
FDKaacEnc_CalcBandEnergyOptimShort(
const FIXP_DBL *mdctSpectrum,
INT *sfbMaxScaleSpec,
const INT *bandOffset,
const INT numBands,
FIXP_DBL *bandEnergy
);
void FDKaacEnc_CalcBandNrgMSOpt(
const FIXP_DBL *RESTRICT mdctSpectrumLeft,
const FIXP_DBL *RESTRICT mdctSpectrumRight,
INT *RESTRICT sfbMaxScaleSpecLeft,
INT *RESTRICT sfbMaxScaleSpecRight,
const INT *RESTRICT bandOffset,
const INT numBands,
FIXP_DBL *RESTRICT bandEnergyMid,
FIXP_DBL *RESTRICT bandEnergySide,
INT calcLdData,
FIXP_DBL *RESTRICT bandEnergyMidLdData,
FIXP_DBL *RESTRICT bandEnergySideLdData);
#endif
|