diff options
author | Rostislav Pehlivanov <atomnuker@gmail.com> | 2017-02-15 22:51:37 +0000 |
---|---|---|
committer | Rostislav Pehlivanov <atomnuker@gmail.com> | 2017-02-15 22:51:37 +0000 |
commit | 3fc86f0d69d3cb1d8e81f5de3f24a7b4c782fa95 (patch) | |
tree | 700a83a8e502c7d4d68ebc49f57b1f34902d094d /libavcodec/opusenc.c | |
parent | 1b90e2414df070d4ea7d12f300c4a950d3ecc975 (diff) | |
download | ffmpeg-3fc86f0d69d3cb1d8e81f5de3f24a7b4c782fa95.tar.gz |
opusenc: fix coarse energy quantization with 2 bits left
Fixes CID1400584
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Diffstat (limited to 'libavcodec/opusenc.c')
-rw-r--r-- | libavcodec/opusenc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libavcodec/opusenc.c b/libavcodec/opusenc.c index 985b41ccc0..1a829ed11a 100644 --- a/libavcodec/opusenc.c +++ b/libavcodec/opusenc.c @@ -667,7 +667,7 @@ static void celt_quant_coarse(OpusEncContext *s, OpusRangeCoder *rc, CeltFrame * ff_opus_rc_enc_laplace(rc, &q_en, pmod[i << 1] << 7, pmod[(i << 1) + 1] << 6); } else if (left >= 2) { q_en = av_clip(q_en, -1, 1); - ff_opus_rc_enc_cdf(rc, ((q_en & 1) << 1) | (q_en < 0), ff_celt_model_energy_small); + ff_opus_rc_enc_cdf(rc, 2*q_en + 3*(q_en < 0), ff_celt_model_energy_small); } else if (left >= 1) { q_en = av_clip(q_en, -1, 0); ff_opus_rc_enc_log(rc, (q_en & 1), 1); |