summaryrefslogtreecommitdiff
path: root/libavcodec/aacps_fixed_tablegen.h
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2015-07-25 22:07:41 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2015-07-25 22:07:41 +0200
commitc105e0f077fb988d5c19e1a1beadf839f01e1a3e (patch)
tree08d7c2f73917397a83ab8b5608ff28f82d31cdee /libavcodec/aacps_fixed_tablegen.h
parente171309756cb0e407632b163ce588ea8262bc50e (diff)
downloadffmpeg-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.h5
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);