mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-26 19:01:44 +02:00
vf_idet: move statistic variables into the context
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
02567bd73c
commit
5d9cfd8726
@ -30,6 +30,11 @@ typedef struct {
|
|||||||
float interlace_threshold;
|
float interlace_threshold;
|
||||||
float progressive_threshold;
|
float progressive_threshold;
|
||||||
|
|
||||||
|
int stat_tff;
|
||||||
|
int stat_bff;
|
||||||
|
int stat_progressive;
|
||||||
|
int stat_undetermined;
|
||||||
|
|
||||||
AVFilterBufferRef *cur;
|
AVFilterBufferRef *cur;
|
||||||
AVFilterBufferRef *next;
|
AVFilterBufferRef *next;
|
||||||
AVFilterBufferRef *prev;
|
AVFilterBufferRef *prev;
|
||||||
@ -70,7 +75,6 @@ static void filter(AVFilterContext *ctx)
|
|||||||
int y, i;
|
int y, i;
|
||||||
int64_t alpha[2]={0};
|
int64_t alpha[2]={0};
|
||||||
int64_t delta=0;
|
int64_t delta=0;
|
||||||
static int p=0, t=0, b=0, u=0;
|
|
||||||
|
|
||||||
for (i = 0; i < idet->csp->nb_components; i++) {
|
for (i = 0; i < idet->csp->nb_components; i++) {
|
||||||
int w = idet->cur->video->w;
|
int w = idet->cur->video->w;
|
||||||
@ -98,16 +102,16 @@ static void filter(AVFilterContext *ctx)
|
|||||||
|
|
||||||
if (alpha[0] / (float)alpha[1] > idet->interlace_threshold){
|
if (alpha[0] / (float)alpha[1] > idet->interlace_threshold){
|
||||||
av_log(ctx, AV_LOG_INFO, "Interlaced, top field first\n");
|
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){
|
}else if(alpha[1] / (float)alpha[0] > idet->interlace_threshold){
|
||||||
av_log(ctx, AV_LOG_INFO, "Interlaced, bottom field first\n");
|
av_log(ctx, AV_LOG_INFO, "Interlaced, bottom field first\n");
|
||||||
b++;
|
idet->stat_bff++;
|
||||||
}else if(alpha[1] / (float)delta > idet->progressive_threshold){
|
}else if(alpha[1] / (float)delta > idet->progressive_threshold){
|
||||||
av_log(ctx, AV_LOG_INFO, "Progressive\n");
|
av_log(ctx, AV_LOG_INFO, "Progressive\n");
|
||||||
p++;
|
idet->stat_progressive++;
|
||||||
}else{
|
}else{
|
||||||
av_log(ctx, AV_LOG_INFO, "Undetermined\n");
|
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);
|
// av_log(ctx,0, "t%d b%d p%d u%d\n", t,b,p,u);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user