aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRostislav Pehlivanov <atomnuker@gmail.com>2015-04-14 00:33:51 +0100
committerMichael Niedermayer <michaelni@gmx.at>2015-04-14 03:42:57 +0200
commit013498ba15ae15e7cd0353dec97fe92ddc8dbdfc (patch)
treea17ced72f6e2d68b42fb3c647b3207f5bfdd1224
parent42a144f2c8a45baa6ae54adca7a41a179a3cc9d1 (diff)
downloadffmpeg-013498ba15ae15e7cd0353dec97fe92ddc8dbdfc.tar.gz
aacenc: Adjust the initial offset for PNS values
This commit adjusts the intial offset for PNS values, introduced with commit f7f71b5795d708763eb0c55fe5e2cb051b2b69f4 earlier. This commit shifts the value in such a way that no further offsets are required in the aaccoder.c file. Earlier version of the PNS patch had 2 offsets in both the aaccoder and aacenc. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/aac.h1
-rw-r--r--libavcodec/aacenc.c2
2 files changed, 2 insertions, 1 deletions
diff --git a/libavcodec/aac.h b/libavcodec/aac.h
index 2701386376..23ec085d8e 100644
--- a/libavcodec/aac.h
+++ b/libavcodec/aac.h
@@ -143,6 +143,7 @@ typedef struct PredictorState {
#define NOISE_PRE 256 ///< preamble for NOISE_BT, put in bitstream with the first noise band
#define NOISE_PRE_BITS 9 ///< length of preamble
+#define NOISE_OFFSET 90 ///< subtracted from global gain, used as offset for the preamble
/**
* Long Term Prediction
diff --git a/libavcodec/aacenc.c b/libavcodec/aacenc.c
index 5288afb4a2..7f6f4b923d 100644
--- a/libavcodec/aacenc.c
+++ b/libavcodec/aacenc.c
@@ -388,7 +388,7 @@ static void encode_band_info(AACEncContext *s, SingleChannelElement *sce)
static void encode_scale_factors(AVCodecContext *avctx, AACEncContext *s,
SingleChannelElement *sce)
{
- int diff, off_sf = sce->sf_idx[0], off_pns = sce->sf_idx[0];
+ int diff, off_sf = sce->sf_idx[0], off_pns = sce->sf_idx[0] - NOISE_OFFSET;
int noise_flag = 1;
int i, w;