Opened 5 years ago

Closed 4 years ago

#3832 closed enhancement (fixed)

support frame metadata in idet filter

Reported by: dericed Owned by:
Priority: wish Component: avfilter
Version: git-master Keywords: idet, metadata
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the enhancement:

I would find it useful if the idet filter set frame metadata similar to how cropdetect, signalstats, and ebur128 do.

How to reproduce:

ffprobe -f lavfi mandelbrot,idet -show_frames

For frame metadata I suggest lavfi.idet.mfd and lavfi.idet.sfd. Perhaps the output of

ffprobe -f lavfi movie=INPUT,idet -show_entries frame_tags=lavfi.idet.mfd

could be

[FRAME]
TAG:lavfi.idet.mfd=Undetermined
[/FRAME]
[FRAME]
TAG:lavfi.idet.mfd=BFF
[/FRAME]
[FRAME]
TAG:lavfi.idet.mfd=Progressive
[/FRAME]
[FRAME]
TAG:lavfi.idet.mfd=TFF
[/FRAME]

Change History (3)

comment:1 Changed 5 years ago by ubitux

You can extract that information from frame by adding frame=interlaced_frame,top_field_first to the -show_entries option. I'm not sure it would make sense to duplicate that information into metadata. I know I was the one to suggest this initially, but I actually had in mind to export the confidence of the interlacing instead of the result.

comment:2 Changed 5 years ago by dericed

Thanks, I have a sample called 5B_clean_capture_ffv1.mov which in idet reports a mixture of bff, tff, progressive, and undetermined.

With:

ffmpeg -i 5B_clean_capture_ffv1.mov -vf idet -v debug -f null -

The first frames show:

[Parsed_idet_0 @ 0x7fa153e00000] Single frame:Undetermined      , Multi frame:Undetermined      
[Parsed_idet_0 @ 0x7fa153e00000] Single frame:Bottom Field First, Multi frame:Bottom Field First
[Parsed_idet_0 @ 0x7fa153e00000] Single frame:Undetermined      , Multi frame:Bottom Field First
[Parsed_idet_0 @ 0x7fa153e00000] Single frame:Bottom Field First, Multi frame:Bottom Field First
[Parsed_idet_0 @ 0x7fa153e00000] Single frame:Undetermined      , Multi frame:Bottom Field First
[Parsed_idet_0 @ 0x7fa153e00000] Single frame:Progressive       , Multi frame:Bottom Field First
[Parsed_idet_0 @ 0x7fa153e00000] Single frame:Progressive       , Multi frame:Bottom Field First
[Parsed_idet_0 @ 0x7fa153e00000] Single frame:Undetermined      , Multi frame:Bottom Field First
[Parsed_idet_0 @ 0x7fa153e00000] Single frame:Bottom Field First, Multi frame:Bottom Field First
[Parsed_idet_0 @ 0x7fa153e00000] Single frame:Undetermined      , Multi frame:Bottom Field First
[Parsed_idet_0 @ 0x7fa153e00000] Single frame:Bottom Field First, Multi frame:Bottom Field First
[Parsed_idet_0 @ 0x7fa153e00000] Single frame:Undetermined      , Multi frame:Bottom Field First
[Parsed_idet_0 @ 0x7fa153e00000] Single frame:Top Field First   , Multi frame:Bottom Field First
[Parsed_idet_0 @ 0x7fa153e00000] Single frame:Top Field First   , Multi frame:Top Field First   
[Parsed_idet_0 @ 0x7fa153e00000] Single frame:Undetermined      , Multi frame:Top Field First   

When I use your suggestion and run:

ffprobe -f lavfi movie=5B_clean_capture_ffv1.mov,idet -show_entries frame=interlaced_frame,top_field_first

then every frame is reported with the same values.

[FRAME]
interlaced_frame=0
top_field_first=0
[/FRAME]
[FRAME]
interlaced_frame=0
top_field_first=0
[/FRAME]
[FRAME]
interlaced_frame=0
top_field_first=0
[/FRAME]

If I simplify the command to remove lavfi and run:

ffprobe 5B_clean_capture_ffv1.mov -show_entries frame=interlaced_frame,top_field_first

then every interlaced_frame and top_field_first is still the same within the report, but now different than the prior version.

[FRAME]
interlaced_frame=1
top_field_first=0
[/FRAME]
[FRAME]
[/FRAME]
[FRAME]
[/FRAME]
[FRAME]
interlaced_frame=1
top_field_first=0
[/FRAME]
[FRAME]
[/FRAME]

What I'm hoping for is an ffprobe output that includes the data of idet debug output.

comment:3 Changed 4 years ago by cehoyos

  • Resolution set to fixed
  • Status changed from new to closed

Should be fixed by Kevin Mitchell in ae6118de

Note: See TracTickets for help on using tickets.