summaryrefslogtreecommitdiff
path: root/libavfilter/vf_hqx.c
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2019-09-28 04:25:57 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2019-09-28 17:24:32 +0200
commitfa211943265ca991548a4cc2f85a6df9cedcd092 (patch)
tree423f67b7989e160fd36ab3715f38b98c20f7f581 /libavfilter/vf_hqx.c
parent5cf593adcd79a7c9502dc2725e1f0681ada36aef (diff)
downloadffmpeg-fa211943265ca991548a4cc2f85a6df9cedcd092.tar.gz
avfilter/vf_hqx: Fix undefined left shifts of negative numbers
Affected every usage of this filter; in particular, it affected the FATE-tests filter-2xbr, filter-3xbr and filter-4xbr. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavfilter/vf_hqx.c')
-rw-r--r--libavfilter/vf_hqx.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavfilter/vf_hqx.c b/libavfilter/vf_hqx.c
index 16a1be7bd4..4f768c7a13 100644
--- a/libavfilter/vf_hqx.c
+++ b/libavfilter/vf_hqx.c
@@ -523,7 +523,7 @@ static av_cold int init(AVFilterContext *ctx)
int startg = FFMAX3(-bg, -rg, 0);
int endg = FFMIN3(255-bg, 255-rg, 255);
uint32_t y = (uint32_t)(( 299*rg + 1000*startg + 114*bg)/1000);
- c = bg + (rg<<16) + 0x010101 * startg;
+ c = bg + rg * (1 << 16) + 0x010101 * startg;
for (g = startg; g <= endg; g++) {
hqx->rgbtoyuv[c] = ((y++) << 16) + (u << 8) + v;
c+= 0x010101;