You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-15 14:13:16 +02:00
vf_idet: Print both the single frame based detection and the multi frame one.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
@@ -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)
|
||||
|
Reference in New Issue
Block a user