Commit 43918059 authored by Ronald S. Bultje's avatar Ronald S. Bultje Committed by Mans Rullgard

swscale: fix overflows in RGB rounding constants.

Signed-off-by: 's avatarMans Rullgard <mans@mansr.com>
parent 8cfbbd92
...@@ -1456,8 +1456,8 @@ rgb16_32ToY_c_template(uint8_t *dst, const uint8_t *src, ...@@ -1456,8 +1456,8 @@ rgb16_32ToY_c_template(uint8_t *dst, const uint8_t *src,
int maskr, int maskg, int maskb, int maskr, int maskg, int maskb,
int rsh, int gsh, int bsh, int S) int rsh, int gsh, int bsh, int S)
{ {
const int ry = RY << rsh, gy = GY << gsh, by = BY << bsh, const int ry = RY << rsh, gy = GY << gsh, by = BY << bsh;
rnd = 33 << (S - 1); const unsigned rnd = 33u << (S - 1);
int i; int i;
for (i = 0; i < width; i++) { for (i = 0; i < width; i++) {
...@@ -1479,8 +1479,8 @@ rgb16_32ToUV_c_template(uint8_t *dstU, uint8_t *dstV, ...@@ -1479,8 +1479,8 @@ rgb16_32ToUV_c_template(uint8_t *dstU, uint8_t *dstV,
int rsh, int gsh, int bsh, int S) int rsh, int gsh, int bsh, int S)
{ {
const int ru = RU << rsh, gu = GU << gsh, bu = BU << bsh, const int ru = RU << rsh, gu = GU << gsh, bu = BU << bsh,
rv = RV << rsh, gv = GV << gsh, bv = BV << bsh, rv = RV << rsh, gv = GV << gsh, bv = BV << bsh;
rnd = 257 << (S - 1); const unsigned rnd = 257u << (S - 1);
int i; int i;
for (i = 0; i < width; i++) { for (i = 0; i < width; i++) {
...@@ -1504,7 +1504,8 @@ rgb16_32ToUV_half_c_template(uint8_t *dstU, uint8_t *dstV, ...@@ -1504,7 +1504,8 @@ rgb16_32ToUV_half_c_template(uint8_t *dstU, uint8_t *dstV,
{ {
const int ru = RU << rsh, gu = GU << gsh, bu = BU << bsh, const int ru = RU << rsh, gu = GU << gsh, bu = BU << bsh,
rv = RV << rsh, gv = GV << gsh, bv = BV << bsh, rv = RV << rsh, gv = GV << gsh, bv = BV << bsh,
rnd = 257 << S, maskgx = ~(maskr | maskb); maskgx = ~(maskr | maskb);
const unsigned rnd = 257u << S;
int i; int i;
maskr |= maskr << 1; maskb |= maskb << 1; maskg |= maskg << 1; maskr |= maskr << 1; maskb |= maskb << 1; maskg |= maskg << 1;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment