avfilter/vf_hflip : move context func init in ff_hflip_init
authorMartin Vignali <martin.vignali@gmail.com>
Mon, 11 Dec 2017 10:22:56 +0000 (11:22 +0100)
committerMartin Vignali <martin.vignali@gmail.com>
Wed, 13 Dec 2017 10:34:24 +0000 (11:34 +0100)
libavfilter/hflip.h
libavfilter/vf_hflip.c

index cbe1fb3..204090d 100644 (file)
@@ -33,6 +33,7 @@ typedef struct FlipContext {
     void (*flip_line[4])(const uint8_t *src, uint8_t *dst, int w);
 } FlipContext;
 
+int ff_hflip_init(FlipContext *s, int step[4], int nb_planes);
 void ff_hflip_init_x86(FlipContext *s, int step[4], int nb_planes);
 
 #endif /* AVFILTER_HFLIP_H */
index 957ddd9..b77afc7 100644 (file)
@@ -131,7 +131,7 @@ static int config_props(AVFilterLink *inlink)
     const AVPixFmtDescriptor *pix_desc = av_pix_fmt_desc_get(inlink->format);
     const int hsub = pix_desc->log2_chroma_w;
     const int vsub = pix_desc->log2_chroma_h;
-    int nb_planes, i;
+    int nb_planes;
 
     av_image_fill_max_pixsteps(s->max_step, NULL, pix_desc);
     s->planewidth[0]  = s->planewidth[3]  = inlink->w;
@@ -141,8 +141,15 @@ static int config_props(AVFilterLink *inlink)
 
     nb_planes = av_pix_fmt_count_planes(inlink->format);
 
+    return ff_hflip_init(s, s->max_step, nb_planes);
+}
+
+int ff_hflip_init(FlipContext *s, int step[4], int nb_planes)
+{
+    int i;
+
     for (i = 0; i < nb_planes; i++) {
-        switch (s->max_step[i]) {
+        switch (step[i]) {
         case 1: s->flip_line[i] = hflip_byte_c;  break;
         case 2: s->flip_line[i] = hflip_short_c; break;
         case 3: s->flip_line[i] = hflip_b24_c;   break;
@@ -153,9 +160,8 @@ static int config_props(AVFilterLink *inlink)
             return AVERROR_BUG;
         }
     }
-
     if (ARCH_X86)
-        ff_hflip_init_x86(s, s->max_step, nb_planes);
+        ff_hflip_init_x86(s, step, nb_planes);
 
     return 0;
 }