diff --git a/libavfilter/vf_idet.c b/libavfilter/vf_idet.c index d5147d4045..1a2c36de2a 100644 --- a/libavfilter/vf_idet.c +++ b/libavfilter/vf_idet.c @@ -49,6 +49,16 @@ typedef struct { const AVPixFmtDescriptor *csp; } IDETContext; +static const char *type2str(Type type) +{ + switch(type) { + case TFF : return "Top Field First "; + case BFF : return "Bottom Field First"; + case PROGRSSIVE : return "Progressive "; + case UNDETERMINED: return "Undetermined "; + } + return NULL; +} static int filter_line_c(const uint8_t *a, const uint8_t *b, const uint8_t *c, int w) { @@ -107,16 +117,12 @@ static void filter(AVFilterContext *ctx) #endif if (alpha[0] / (float)alpha[1] > idet->interlace_threshold){ - av_log(ctx, AV_LOG_INFO, "Interlaced, top field first\n"); type = TFF; }else if(alpha[1] / (float)alpha[0] > idet->interlace_threshold){ - av_log(ctx, AV_LOG_INFO, "Interlaced, bottom field first\n"); type = BFF; }else if(alpha[1] / (float)delta > idet->progressive_threshold){ - av_log(ctx, AV_LOG_INFO, "Progressive\n"); type = PROGRSSIVE; }else{ - av_log(ctx, AV_LOG_INFO, "Undetermined\n"); type = UNDETERMINED; } @@ -134,6 +140,8 @@ static void filter(AVFilterContext *ctx) }else if(idet->last_type == PROGRSSIVE){ idet->cur->video->interlaced = 0; } + + av_log(ctx, AV_LOG_INFO, "Single frame:%s, Multi frame:%s\n", type2str(type), type2str(idet->last_type)); } static void start_frame(AVFilterLink *link, AVFilterBufferRef *picref)