[FFmpeg-cvslog] sws/output: yuv2rgb_write() assert that alpha has the correct value in the tables

Michael Niedermayer git at videolan.org
Sat May 18 15:15:20 CEST 2013


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sat May 18 15:08:55 2013 +0200| [e1efacf60bc8100d5075cf682f7d7a2f8f90f285] | committer: Michael Niedermayer

sws/output: yuv2rgb_write() assert that alpha has the correct value in the tables

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e1efacf60bc8100d5075cf682f7d7a2f8f90f285
---

 libswscale/output.c |    6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/libswscale/output.c b/libswscale/output.c
index c9af23b..6aa3112 100644
--- a/libswscale/output.c
+++ b/libswscale/output.c
@@ -1149,9 +1149,15 @@ yuv2rgb_write(uint8_t *_dest, int i, int Y1, int Y2,
         if (hasAlpha) {
             int sh = (target == AV_PIX_FMT_RGB32_1 || target == AV_PIX_FMT_BGR32_1) ? 0 : 24;
 
+            av_assert2((((r[Y1] + g[Y1] + b[Y1]) >> sh) & 0xFF) == 0);
             dest[i * 2 + 0] = r[Y1] + g[Y1] + b[Y1] + (A1 << sh);
             dest[i * 2 + 1] = r[Y2] + g[Y2] + b[Y2] + (A2 << sh);
         } else {
+#if ASSERT_LEVEL > 1
+            int sh = (target == AV_PIX_FMT_RGB32_1 || target == AV_PIX_FMT_BGR32_1) ? 0 : 24;
+
+            av_assert2((((r[Y1] + g[Y1] + b[Y1]) >> sh) & 0xFF) == 0xFF);
+#endif
             dest[i * 2 + 0] = r[Y1] + g[Y1] + b[Y1];
             dest[i * 2 + 1] = r[Y2] + g[Y2] + b[Y2];
         }



More information about the ffmpeg-cvslog mailing list