summaryrefslogtreecommitdiffstats
path: root/libavcodec/opusenc.c
diff options
context:
space:
mode:
authorRostislav Pehlivanov <atomnuker@gmail.com>2017-02-15 22:51:37 +0000
committerRostislav Pehlivanov <atomnuker@gmail.com>2017-02-15 22:51:37 +0000
commit3fc86f0d69d3cb1d8e81f5de3f24a7b4c782fa95 (patch)
tree700a83a8e502c7d4d68ebc49f57b1f34902d094d /libavcodec/opusenc.c
parent1b90e2414df070d4ea7d12f300c4a950d3ecc975 (diff)
downloadffmpeg-streaming-3fc86f0d69d3cb1d8e81f5de3f24a7b4c782fa95.zip
ffmpeg-streaming-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.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavcodec/opusenc.c b/libavcodec/opusenc.c
index 985b41c..1a829ed 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);
OpenPOWER on IntegriCloud