[FFmpeg-cvslog] swscale: Fix rounding in yuv2mono_1_c_template()
Michael Niedermayer
git at videolan.org
Tue Feb 14 21:36:55 CET 2012
ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Tue Feb 14 19:34:17 2012 +0100| [ef96bf294d8dd7064dbc01e81fc5dc9c9e7c6d86] | committer: Michael Niedermayer
swscale: Fix rounding in yuv2mono_1_c_template()
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ef96bf294d8dd7064dbc01e81fc5dc9c9e7c6d86
---
libswscale/output.c | 16 ++++++++--------
1 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/libswscale/output.c b/libswscale/output.c
index 90e284e..658ee2c 100644
--- a/libswscale/output.c
+++ b/libswscale/output.c
@@ -378,14 +378,14 @@ yuv2mono_1_c_template(SwsContext *c, const int16_t *buf0,
int i;
for (i = 0; i < dstW - 7; i += 8) {
- int acc = g[(buf0[i ] >> 7) + d128[0]];
- acc += acc + g[(buf0[i + 1] >> 7) + d128[1]];
- acc += acc + g[(buf0[i + 2] >> 7) + d128[2]];
- acc += acc + g[(buf0[i + 3] >> 7) + d128[3]];
- acc += acc + g[(buf0[i + 4] >> 7) + d128[4]];
- acc += acc + g[(buf0[i + 5] >> 7) + d128[5]];
- acc += acc + g[(buf0[i + 6] >> 7) + d128[6]];
- acc += acc + g[(buf0[i + 7] >> 7) + d128[7]];
+ int acc = g[((buf0[i ] + 64) >> 7) + d128[0]];
+ acc += acc + g[((buf0[i + 1] + 64) >> 7) + d128[1]];
+ acc += acc + g[((buf0[i + 2] + 64) >> 7) + d128[2]];
+ acc += acc + g[((buf0[i + 3] + 64) >> 7) + d128[3]];
+ acc += acc + g[((buf0[i + 4] + 64) >> 7) + d128[4]];
+ acc += acc + g[((buf0[i + 5] + 64) >> 7) + d128[5]];
+ acc += acc + g[((buf0[i + 6] + 64) >> 7) + d128[6]];
+ acc += acc + g[((buf0[i + 7] + 64) >> 7) + d128[7]];
output_pixel(*dest++, acc);
}
}
More information about the ffmpeg-cvslog
mailing list