changeset 2164:cbac56a6244f libavcodec

cleanup
author michael
date Tue, 03 Aug 2004 02:34:50 +0000
parents b25df257eab0
children 5ca07515a309
files snow.c
diffstat 1 files changed, 18 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/snow.c	Tue Aug 03 01:50:52 2004 +0000
+++ b/snow.c	Tue Aug 03 02:34:50 2004 +0000
@@ -1053,11 +1053,11 @@
     }
 }
 
-static void spatial_dwt(SnowContext *s, int *buffer, int width, int height, int stride){
+void ff_spatial_dwt(int *buffer, int width, int height, int stride, int type, int decomposition_count){
     int level;
     
-    for(level=0; level<s->spatial_decomposition_count; level++){
-        switch(s->spatial_decomposition_type){
+    for(level=0; level<decomposition_count; level++){
+        switch(type){
         case 0: spatial_decompose97i(buffer, width>>level, height>>level, stride<<level); break;
         case 1: spatial_decompose53i(buffer, width>>level, height>>level, stride<<level); break;
         case 2: spatial_decomposeX  (buffer, width>>level, height>>level, stride<<level); break;
@@ -1241,11 +1241,11 @@
     }
 }
 
-static void spatial_idwt(SnowContext *s, int *buffer, int width, int height, int stride){
+void ff_spatial_idwt(int *buffer, int width, int height, int stride, int type, int decomposition_count){
     int level;
 
-    for(level=s->spatial_decomposition_count-1; level>=0; level--){
-        switch(s->spatial_decomposition_type){
+    for(level=decomposition_count-1; level>=0; level--){
+        switch(type){
         case 0: spatial_compose97i(buffer, width>>level, height>>level, stride<<level); break;
         case 1: spatial_compose53i(buffer, width>>level, height>>level, stride<<level); break;
         case 2: spatial_composeX  (buffer, width>>level, height>>level, stride<<level); break;
@@ -2574,7 +2574,7 @@
             
             memset(s->spatial_dwt_buffer, 0, sizeof(int)*width*height);
             buf[b->width/2 + b->height/2*b->stride]= 256*256;
-            spatial_idwt(s, s->spatial_dwt_buffer, width, height, width);
+            ff_spatial_idwt(s->spatial_dwt_buffer, width, height, width, s->spatial_decomposition_type, s->spatial_decomposition_count);
             for(y=0; y<height; y++){
                 for(x=0; x<width; x++){
                     int64_t d= s->spatial_dwt_buffer[x + y*width];
@@ -2583,7 +2583,7 @@
             }
 
             b->qlog= (int)(log(352256.0/sqrt(error)) / log(pow(2.0, 1.0/QROOT))+0.5);
-            av_log(NULL, AV_LOG_DEBUG, "%d %d %d\n", level, orientation, b->qlog/*, sqrt(error)*/);
+//            av_log(NULL, AV_LOG_DEBUG, "%d %d %d\n", level, orientation, b->qlog/*, sqrt(error)*/);
         }
     }
 }
@@ -2894,7 +2894,7 @@
             }
         }
  
-        spatial_dwt(s, s->spatial_dwt_buffer, w, h, w);
+        ff_spatial_dwt(s->spatial_dwt_buffer, w, h, w, s->spatial_decomposition_type, s->spatial_decomposition_count);
 
         for(level=0; level<s->spatial_decomposition_count; level++){
             for(orientation=level ? 1 : 0; orientation<4; orientation++){
@@ -2919,7 +2919,7 @@
             }
         }
 
-        spatial_idwt(s, s->spatial_dwt_buffer, w, h, w);
+        ff_spatial_idwt(s->spatial_dwt_buffer, w, h, w, s->spatial_decomposition_type, s->spatial_decomposition_count);
         if(s->qlog == LOSSLESS_QLOG){
             for(y=0; y<h; y++){
                 for(x=0; x<w; x++){
@@ -3063,7 +3063,7 @@
             }
         }
 
-        spatial_idwt(s, s->spatial_dwt_buffer, w, h, w);
+        ff_spatial_idwt(s->spatial_dwt_buffer, w, h, w, s->spatial_decomposition_type, s->spatial_decomposition_count);
         if(s->qlog == LOSSLESS_QLOG){
             for(y=0; y<h; y++){
                 for(x=0; x<w; x++){
@@ -3152,8 +3152,8 @@
     for(i=0; i<width*height; i++)
         buffer[0][i]= buffer[1][i]= random()%54321 - 12345;
     
-    spatial_dwt(&s, buffer[0], width, height, width);
-    spatial_idwt(&s, buffer[0], width, height, width);
+    ff_spatial_dwt(buffer[0], width, height, width, s->spatial_decomposition_type, s->spatial_decomposition_count);
+    ff_spatial_idwt(buffer[0], width, height, width, s->spatial_decomposition_type, s->spatial_decomposition_count);
     
     for(i=0; i<width*height; i++)
         if(buffer[0][i]!= buffer[1][i]) printf("fsck: %d %d %d\n",i, buffer[0][i], buffer[1][i]);
@@ -3163,8 +3163,8 @@
     for(i=0; i<width*height; i++)
         buffer[0][i]= buffer[1][i]= random()%54321 - 12345;
     
-    spatial_dwt(&s, buffer[0], width, height, width);
-    spatial_idwt(&s, buffer[0], width, height, width);
+    ff_spatial_dwt(buffer[0], width, height, width, s->spatial_decomposition_type, s->spatial_decomposition_count);
+    ff_spatial_idwt(buffer[0], width, height, width, s->spatial_decomposition_type, s->spatial_decomposition_count);
     
     for(i=0; i<width*height; i++)
         if(buffer[0][i]!= buffer[1][i]) printf("fsck: %d %d %d\n",i, buffer[0][i], buffer[1][i]);
@@ -3213,7 +3213,7 @@
             
             memset(buffer[0], 0, sizeof(int)*width*height);
             buf[w/2 + h/2*stride]= 256*256;
-            spatial_idwt(&s, buffer[0], width, height, width);
+            ff_spatial_idwt(buffer[0], width, height, width, s->spatial_decomposition_type, s->spatial_decomposition_count);
             for(y=0; y<height; y++){
                 for(x=0; x<width; x++){
                     int64_t d= buffer[0][x + y*width];
@@ -3257,7 +3257,7 @@
                     buffer[0][x+width*y]= 256*256*tab[(x&1) + 2*(y&1)];
                 }
             }
-            spatial_dwt(&s, buffer[0], width, height, width);
+            ff_spatial_dwt(buffer[0], width, height, width, s->spatial_decomposition_type, s->spatial_decomposition_count);
 #else
             for(y=0; y<h; y++){
                 for(x=0; x<w; x++){
@@ -3265,7 +3265,7 @@
                     buf[x + y*stride-w]=64;
                 }
             }
-            spatial_idwt(&s, buffer[0], width, height, width);
+            ff_spatial_idwt(buffer[0], width, height, width, s->spatial_decomposition_type, s->spatial_decomposition_count);
 #endif
             for(y=0; y<height; y++){
                 for(x=0; x<width; x++){