[SCM] libav/experimental: Fix braindead and broken way to calculate abase, fixes regression tests on big-endian systems.

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 16:39:57 UTC 2013


The following commit has been merged in the experimental branch:
commit f78b9c06565a684871402a12b1da6425268c23b9
Author: Reimar Döffinger <Reimar.Doeffinger at gmx.de>
Date:   Sun Mar 1 11:33:10 2009 +0000

    Fix braindead and broken way to calculate abase, fixes regression tests on
    big-endian systems.
    
    Originally committed as revision 28773 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale

diff --git a/libswscale/yuv2rgb.c b/libswscale/yuv2rgb.c
index 0a8cd99..65af412 100644
--- a/libswscale/yuv2rgb.c
+++ b/libswscale/yuv2rgb.c
@@ -659,7 +659,7 @@ av_cold int sws_yuv2rgb_c_init_tables(SwsContext *c, const int inv_table[4], int
         rbase = base + (isRgb ? 16 : 0);
         gbase = base + 8;
         bbase = base + (isRgb ? 0 : 16);
-        abase = (c->dstFormat == PIX_FMT_RGBA || c->dstFormat == PIX_FMT_BGRA) ? 24 : 0;
+        abase = (base + 24) & 31;
         c->yuvTable = av_malloc(1024*3*4);
         y_table32 = c->yuvTable;
         yb = -(384<<16) - oy;

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list