[FFmpeg-cvslog] vf_idet: move statistic variables into the context

Michael Niedermayer git at videolan.org
Wed Apr 4 16:26:23 CEST 2012


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Wed Apr  4 16:19:36 2012 +0200| [5d9cfd872615d906eab2ebc3b89ccd7ff41374e4] | committer: Michael Niedermayer

vf_idet: move statistic variables into the context

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=5d9cfd872615d906eab2ebc3b89ccd7ff41374e4
---

 libavfilter/vf_idet.c |   14 +++++++++-----
 1 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/libavfilter/vf_idet.c b/libavfilter/vf_idet.c
index bd74dad6..6cdaab0 100644
--- a/libavfilter/vf_idet.c
+++ b/libavfilter/vf_idet.c
@@ -30,6 +30,11 @@ typedef struct {
     float interlace_threshold;
     float progressive_threshold;
 
+    int stat_tff;
+    int stat_bff;
+    int stat_progressive;
+    int stat_undetermined;
+
     AVFilterBufferRef *cur;
     AVFilterBufferRef *next;
     AVFilterBufferRef *prev;
@@ -70,7 +75,6 @@ static void filter(AVFilterContext *ctx)
     int y, i;
     int64_t alpha[2]={0};
     int64_t delta=0;
-    static int p=0, t=0, b=0, u=0;
 
     for (i = 0; i < idet->csp->nb_components; i++) {
         int w = idet->cur->video->w;
@@ -98,16 +102,16 @@ static void filter(AVFilterContext *ctx)
 
     if      (alpha[0] / (float)alpha[1] > idet->interlace_threshold){
         av_log(ctx, AV_LOG_INFO, "Interlaced, top field first\n");
-        t++;
+        idet->stat_tff++;
     }else if(alpha[1] / (float)alpha[0] > idet->interlace_threshold){
         av_log(ctx, AV_LOG_INFO, "Interlaced, bottom field first\n");
-        b++;
+        idet->stat_bff++;
     }else if(alpha[1] / (float)delta    > idet->progressive_threshold){
         av_log(ctx, AV_LOG_INFO, "Progressive\n");
-        p++;
+        idet->stat_progressive++;
     }else{
         av_log(ctx, AV_LOG_INFO, "Undetermined\n");
-        u++;
+        idet->stat_undetermined++;
     }
 //     av_log(ctx,0, "t%d b%d p%d u%d\n", t,b,p,u);
 }



More information about the ffmpeg-cvslog mailing list