diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2015-07-25 22:07:41 +0200 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2015-07-25 22:07:41 +0200 |
commit | c105e0f077fb988d5c19e1a1beadf839f01e1a3e (patch) | |
tree | 08d7c2f73917397a83ab8b5608ff28f82d31cdee /libavcodec/aacps_fixed_tablegen.h | |
parent | e171309756cb0e407632b163ce588ea8262bc50e (diff) | |
download | ffmpeg-c105e0f077fb988d5c19e1a1beadf839f01e1a3e.tar.gz |
avcodec/aacps_fixed_tablegen: change f_center to 64bit to avoid overflow
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/aacps_fixed_tablegen.h')
-rw-r--r-- | libavcodec/aacps_fixed_tablegen.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libavcodec/aacps_fixed_tablegen.h b/libavcodec/aacps_fixed_tablegen.h index 701a9d2b2b..01f2eced64 100644 --- a/libavcodec/aacps_fixed_tablegen.h +++ b/libavcodec/aacps_fixed_tablegen.h @@ -349,7 +349,8 @@ static void ps_tableinit(void) } for (k = 0; k < NR_ALLPASS_BANDS20; k++) { - int theta, f_center; + int theta; + int64_t f_center; int c, s; if (k < FF_ARRAY_ELEMS(f_center_20)) @@ -377,7 +378,7 @@ static void ps_tableinit(void) if (k < FF_ARRAY_ELEMS(f_center_34)) f_center = f_center_34[k]; else - f_center = (k << 26) - (53 << 25); + f_center = ((int64_t)k << 26) - (53 << 25); for (m = 0; m < PS_AP_LINKS; m++) { theta = (int)(((int64_t)fractional_delay_links[m] * f_center + 0x10000000) >> 27); |