diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-09-10 22:55:45 +0400 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-09-10 23:04:01 +0400 |
commit | 14de55784dcf0b875dab35896c9e55d5792c6fd4 (patch) | |
tree | b901c0d5eb522b4aacd39088bb5dd87f8dfc3421 /libswscale | |
parent | 17b3251c6c6b6f514e8c2f5202c90686729293a8 (diff) |
sws/output: use unsigned variables where harmless overflows are expected.
signed overflow is undefined in C ...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libswscale')
-rw-r--r-- | libswscale/output.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/libswscale/output.c b/libswscale/output.c index 8955665f66..5039629b79 100644 --- a/libswscale/output.c +++ b/libswscale/output.c @@ -175,7 +175,7 @@ yuv2planeX_16_c_template(const int16_t *filter, int filterSize, * reasonable filterSize), and re-add that at the end. */ val -= 0x40000000; for (j = 0; j < filterSize; j++) - val += src[j][i] * filter[j]; + val += src[j][i] * (unsigned)filter[j]; output_pixel(&dest[i], val, 0x8000, int); } @@ -627,12 +627,12 @@ yuv2rgb48_X_c_template(SwsContext *c, const int16_t *lumFilter, int R, G, B; for (j = 0; j < lumFilterSize; j++) { - Y1 += lumSrc[j][i * 2] * lumFilter[j]; - Y2 += lumSrc[j][i * 2 + 1] * lumFilter[j]; + Y1 += lumSrc[j][i * 2] * (unsigned)lumFilter[j]; + Y2 += lumSrc[j][i * 2 + 1] * (unsigned)lumFilter[j]; } - for (j = 0; j < chrFilterSize; j++) { - U += chrUSrc[j][i] * chrFilter[j]; - V += chrVSrc[j][i] * chrFilter[j]; + for (j = 0; j < chrFilterSize; j++) {; + U += chrUSrc[j][i] * (unsigned)chrFilter[j]; + V += chrVSrc[j][i] * (unsigned)chrFilter[j]; } // 8bit: 12+15=27; 16-bit: 12+19=31 |