[SCM] libav/experimental: width % 16 != 0 workaround by (Nicolas Plourde: nicolas plourde, gmail com>) cleanup by me indention fixed second one must be yv12touyvy instead of yv12toyuy2 replace slow modulo by bitwise and move %16!=0 code before the comment saying the code cant handle %16!=0

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 15:44:30 UTC 2013


The following commit has been merged in the experimental branch:
commit d926e8c5c39758fee31e06de4680cd5d15abcf8e
Author: Michael Niedermayer <michaelni at gmx.at>
Date:   Mon Jun 27 07:40:24 2005 +0000

    width % 16 != 0 workaround by (Nicolas Plourde: nicolas plourde, gmail com>)
    cleanup by me
      indention fixed
      second one must be yv12touyvy instead of yv12toyuy2
      replace slow modulo by bitwise and
      move %16!=0 code before the comment saying the code cant handle %16!=0
    
    Originally committed as revision 15825 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc

diff --git a/postproc/swscale_altivec_template.c b/postproc/swscale_altivec_template.c
index f5c7b96..93ae41f 100644
--- a/postproc/swscale_altivec_template.c
+++ b/postproc/swscale_altivec_template.c
@@ -400,6 +400,11 @@ static inline int yv12toyuy2_unscaled_altivec(SwsContext *c, uint8_t* src[], int
   const int vertLumPerChroma = 2;  
   register unsigned int y;
 
+  if(width&15){
+    yv12toyuy2( ysrc, usrc, vsrc, dst,c->srcW,srcSliceH, lumStride, chromStride, dstStride);
+    return srcSliceH;
+  }
+
   /* this code assume:
 
   1) dst is 16 bytes-aligned
@@ -474,6 +479,11 @@ static inline int yv12touyvy_unscaled_altivec(SwsContext *c, uint8_t* src[], int
   const vector unsigned char yperm = vec_lvsl(0, ysrc);
   register unsigned int y;
 
+  if(width&15){
+    yv12touyvy( ysrc, usrc, vsrc, dst,c->srcW,srcSliceH, lumStride, chromStride, dstStride);
+    return srcSliceH;
+  }
+
   /* this code assume:
 
   1) dst is 16 bytes-aligned

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list