[FFmpeg-cvslog] Fix alpha overflow when converting from RGBA64 to RGBA.
Michael Niedermayer
git at videolan.org
Sun Mar 4 13:45:53 CET 2012
ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sun Mar 4 13:42:16 2012 +0100| [4a9f466b997e0c44d1e304a7a9c5d5de0b0868c7] | committer: Carl Eugen Hoyos
Fix alpha overflow when converting from RGBA64 to RGBA.
Fixes converting the sample from ticket #503 to 32bit RGB.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=4a9f466b997e0c44d1e304a7a9c5d5de0b0868c7
---
libswscale/output.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/libswscale/output.c b/libswscale/output.c
index cae2c31..de41f77 100644
--- a/libswscale/output.c
+++ b/libswscale/output.c
@@ -1040,8 +1040,8 @@ yuv2rgb_1_c_template(SwsContext *c, const int16_t *buf0,
*b = c->table_bU[U + YUVRGB_TABLE_HEADROOM];
if (hasAlpha) {
- A1 = (abuf0[i * 2 ] + 64) >> 7;
- A2 = (abuf0[i * 2 + 1] + 64) >> 7;
+ A1 = abuf0[i * 2 ] * 255 + 16384 >> 15;
+ A2 = abuf0[i * 2 + 1] * 255 + 16384 >> 15;
}
yuv2rgb_write(dest, i, Y1, Y2, hasAlpha ? A1 : 0, hasAlpha ? A2 : 0,
More information about the ffmpeg-cvslog
mailing list