[FFmpeg-devel] [PATCH 1/2] dirac_dwt: Don't pass information in context as arguments

Timothy Gu timothygu99 at gmail.com
Sat Feb 6 04:37:50 CET 2016


---
 libavcodec/dirac_dwt.c          | 13 ++++++++++---
 libavcodec/dirac_dwt_template.c | 25 +++++++++----------------
 2 files changed, 19 insertions(+), 19 deletions(-)

diff --git a/libavcodec/dirac_dwt.c b/libavcodec/dirac_dwt.c
index 732615c..7ccb310 100644
--- a/libavcodec/dirac_dwt.c
+++ b/libavcodec/dirac_dwt.c
@@ -39,12 +39,19 @@ int ff_spatial_idwt_init2(DWTContext *d, uint8_t *buffer, int width, int height,
 {
     int ret = 0;
 
+    d->buffer = buffer;
+    d->width  = width;
+    d->height = height;
+    d->stride = stride;
+    d->decomposition_count = decomposition_count;
+    d->temp   = temp;
+
     if (bit_depth == 8)
-        ret = ff_spatial_idwt_init2_8bit(d, buffer, width, height, stride, type, decomposition_count, temp);
+        ret = ff_spatial_idwt_init2_8bit(d, type);
     else if (bit_depth == 10)
-        ret = ff_spatial_idwt_init2_10bit(d, buffer, width, height, stride, type, decomposition_count, temp);
+        ret = ff_spatial_idwt_init2_10bit(d, type);
     else if (bit_depth == 12)
-        ret = ff_spatial_idwt_init2_12bit(d, buffer, width, height, stride, type, decomposition_count, temp);
+        ret = ff_spatial_idwt_init2_12bit(d, type);
     else
         av_log(NULL, AV_LOG_WARNING, "Unsupported bit depth = %i\n", bit_depth);
 
diff --git a/libavcodec/dirac_dwt_template.c b/libavcodec/dirac_dwt_template.c
index dfcf1de..de17a2d 100644
--- a/libavcodec/dirac_dwt_template.c
+++ b/libavcodec/dirac_dwt_template.c
@@ -516,39 +516,32 @@ static void RENAME(spatial_compose_dd137i_init)(DWTCompose *cs, uint8_t *buffer,
     cs->y = -5;
 }
 
-static int RENAME(ff_spatial_idwt_init2)(DWTContext *d, uint8_t *buffer, int width, int height,
-                                         int stride, enum dwt_type type, int decomposition_count,
-                                         uint8_t *temp)
+static int RENAME(ff_spatial_idwt_init2)(DWTContext *d, enum dwt_type type)
 {
     int level;
 
-    d->buffer = buffer;
-    d->width  = width;
-    d->height = height;
-    d->stride = stride;
-    d->decomposition_count = decomposition_count;
-    d->temp = (uint8_t *)(((TYPE *)temp) + 8);
+    d->temp = (uint8_t *)(((TYPE *)d->temp) + 8);
 
-    for(level=decomposition_count-1; level>=0; level--){
-        int hl = height >> level;
-        int stride_l = stride << level;
+    for (level = d->decomposition_count - 1; level >= 0; level--){
+        int hl = d->height >> level;
+        int stride_l = d->stride << level;
 
         switch(type){
             case DWT_DIRAC_DD9_7:
-                RENAME(spatial_compose_dd97i_init)(d->cs+level, buffer, hl, stride_l);
+                RENAME(spatial_compose_dd97i_init)(d->cs+level, d->buffer, hl, stride_l);
                 break;
             case DWT_DIRAC_LEGALL5_3:
-                RENAME(spatial_compose53i_init2)(d->cs+level, buffer, hl, stride_l);
+                RENAME(spatial_compose53i_init2)(d->cs+level, d->buffer, hl, stride_l);
                 break;
             case DWT_DIRAC_DD13_7:
-                RENAME(spatial_compose_dd137i_init)(d->cs+level, buffer, hl, stride_l);
+                RENAME(spatial_compose_dd137i_init)(d->cs+level, d->buffer, hl, stride_l);
                 break;
             case DWT_DIRAC_HAAR0:
             case DWT_DIRAC_HAAR1:
                 d->cs[level].y = 1;
                 break;
             case DWT_DIRAC_DAUB9_7:
-                RENAME(spatial_compose97i_init2)(d->cs+level, buffer, hl, stride_l);
+                RENAME(spatial_compose97i_init2)(d->cs+level, d->buffer, hl, stride_l);
                 break;
             default:
                 d->cs[level].y = 0;
-- 
2.1.4



More information about the ffmpeg-devel mailing list