[FFmpeg-cvslog] avcodec/apedec: properly calculate and store absolute value

Paul B Mahol git at videolan.org
Mon Oct 12 13:22:50 EEST 2020


ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Tue Oct  6 01:24:42 2020 +0200| [ea0972f6dd3ad51451b8acb9797364eddfecada5] | committer: Paul B Mahol

avcodec/apedec: properly calculate and store absolute value

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

 libavcodec/apedec.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavcodec/apedec.c b/libavcodec/apedec.c
index 273abe2490..aa4d8fa524 100644
--- a/libavcodec/apedec.c
+++ b/libavcodec/apedec.c
@@ -1311,7 +1311,7 @@ static void do_apply_filter(APEContext *ctx, int version, APEFilter *f,
                             int32_t *data, int count, int order, int fracbits)
 {
     int res;
-    int absres;
+    unsigned absres;
 
     while (count--) {
         /* round fixedpoint scalar product */
@@ -1335,7 +1335,7 @@ static void do_apply_filter(APEContext *ctx, int version, APEFilter *f,
             /* Version 3.98 and later files */
 
             /* Update the adaption coefficients */
-            absres = res < 0 ? -(unsigned)res : res;
+            absres = FFABS(res);
             if (absres)
                 *f->adaptcoeffs = APESIGN(res) *
                                   (8 << ((absres > f->avg * 3) + (absres > f->avg * 4 / 3)));



More information about the ffmpeg-cvslog mailing list