[FFmpeg-cvslog] opus_rc: fix CDF encoding of zeroes

Rostislav Pehlivanov git at videolan.org
Thu Jul 20 10:25:21 EEST 2017


ffmpeg | branch: master | Rostislav Pehlivanov <atomnuker at gmail.com> | Thu Jul 20 07:33:33 2017 +0100| [3aca16e857a1e12c566cd416dd14ecee24aba184] | committer: Rostislav Pehlivanov

opus_rc: fix CDF encoding of zeroes

0th CDF value is where probabilities are.

Signed-off-by: Rostislav Pehlivanov <atomnuker at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3aca16e857a1e12c566cd416dd14ecee24aba184
---

 libavcodec/opus_rc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/opus_rc.c b/libavcodec/opus_rc.c
index c5cccd6cd2..3972bb0b02 100644
--- a/libavcodec/opus_rc.c
+++ b/libavcodec/opus_rc.c
@@ -108,7 +108,7 @@ uint32_t ff_opus_rc_dec_cdf(OpusRangeCoder *rc, const uint16_t *cdf)
 
 void ff_opus_rc_enc_cdf(OpusRangeCoder *rc, int val, const uint16_t *cdf)
 {
-    opus_rc_enc_update(rc, cdf[val], cdf[val + 1], cdf[0], 1);
+    opus_rc_enc_update(rc, (!!val)*cdf[val], cdf[val + 1], cdf[0], 1);
 }
 
 uint32_t ff_opus_rc_dec_log(OpusRangeCoder *rc, uint32_t bits)



More information about the ffmpeg-cvslog mailing list