mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-03-23 04:24:35 +02:00
opusenc: do not signal digital silence
Apparently its only use is to enable comfort noise/error recovery. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
This commit is contained in:
parent
42ffc67208
commit
c39fba703b
@ -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);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user