[SCM] libav/experimental: Merge vertical_compose53iL0*() 8% faster C 5/3 wavelet at the decoder side.

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


The following commit has been merged in the experimental branch:
commit 233a8b3d6bb19fd80dd7760389051fcde766f06c
Author: Michael Niedermayer <michaelni at gmx.at>
Date:   Mon Jan 11 01:00:50 2010 +0000

    Merge vertical_compose53iL0*()
    8% faster C 5/3 wavelet at the decoder side.
    
    Originally committed as revision 21131 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/snow.c b/libavcodec/snow.c
index a82c07b..a9aa2eb 100644
--- a/libavcodec/snow.c
+++ b/libavcodec/snow.c
@@ -1070,8 +1070,17 @@ static void spatial_compose53i_dy_buffered(DWTCompose *cs, slice_buffer * sb, in
     IDWTELEM *b2= slice_buffer_get_line(sb, mirror(y+1, height-1) * stride_line);
     IDWTELEM *b3= slice_buffer_get_line(sb, mirror(y+2, height-1) * stride_line);
 
+    if(y+1<(unsigned)height && y<(unsigned)height){
+        int x;
+
+        for(x=0; x<width; x++){
+            b2[x] -= (b1[x] + b3[x] + 2)>>2;
+            b1[x] += (b0[x] + b2[x])>>1;
+        }
+    }else{
         if(y+1<(unsigned)height) vertical_compose53iL0(b1, b2, b3, width);
         if(y+0<(unsigned)height) vertical_compose53iH0(b0, b1, b2, width);
+    }
 
         if(y-1<(unsigned)height) horizontal_compose53i(b0, width);
         if(y+0<(unsigned)height) horizontal_compose53i(b1, width);

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list