[FFmpeg-cvslog] opusenc: do not signal digital silence
Rostislav Pehlivanov
git at videolan.org
Sat Apr 8 02:57:26 EEST 2017
ffmpeg | branch: master | Rostislav Pehlivanov <atomnuker at gmail.com> | Sat Apr 8 00:48:28 2017 +0100| [c39fba703bf35da0b4b894b2b33978c205507341] | committer: Rostislav Pehlivanov
opusenc: do not signal digital silence
Apparently its only use is to enable comfort noise/error recovery.
Signed-off-by: Rostislav Pehlivanov <atomnuker at gmail.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c39fba703bf35da0b4b894b2b33978c205507341
---
libavcodec/opusenc.c | 12 +++---------
1 file changed, 3 insertions(+), 9 deletions(-)
diff --git a/libavcodec/opusenc.c b/libavcodec/opusenc.c
index d80ae7a..4e0781b 100644
--- a/libavcodec/opusenc.c
+++ b/libavcodec/opusenc.c
@@ -249,9 +249,9 @@ static void celt_frame_mdct(OpusEncContext *s, CeltFrame *f)
}
/* Fills the bands and normalizes them */
-static int celt_frame_map_norm_bands(OpusEncContext *s, CeltFrame *f)
+static void celt_frame_map_norm_bands(OpusEncContext *s, CeltFrame *f)
{
- int i, j, ch, noise = 0;
+ int i, j, ch;
for (ch = 0; ch < f->channels; ch++) {
CeltBlock *block = &f->block[ch];
@@ -274,10 +274,8 @@ static int celt_frame_map_norm_bands(OpusEncContext *s, CeltFrame *f)
/* CELT_ENERGY_SILENCE is what the decoder uses and its not -infinity */
block->energy[i] = FFMAX(block->energy[i], CELT_ENERGY_SILENCE);
- noise |= block->energy[i] > CELT_ENERGY_SILENCE;
}
}
- return !noise;
}
static void celt_enc_tf(OpusRangeCoder *rc, CeltFrame *f)
@@ -811,11 +809,7 @@ static void celt_encode_frame(OpusEncContext *s, OpusRangeCoder *rc, CeltFrame *
/* Not implemented */
}
celt_frame_mdct(s, f);
- f->silence = celt_frame_map_norm_bands(s, f);
- if (f->silence) {
- f->framebits = 1;
- return;
- }
+ celt_frame_map_norm_bands(s, f);
ff_opus_rc_enc_log(rc, f->silence, 15);
More information about the ffmpeg-cvslog
mailing list