vf_idet: move statistic variables into the context

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2012-04-04 16:19:36 +02:00
parent 02567bd73c
commit 5d9cfd8726
1 changed files with 9 additions and 5 deletions

View File

@ -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);
}