bwdif

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

bwdif

Mark Filipak
This is a 'straw man' documentation of the 'bwdif' filter. Since it is a 'straw man', do not
consider it to be correct. Kindly correct and post back. Pending possible further clarification, I
will consider your corrections to be authoritative.

Best Regards,
Mark Filipak.

'bwdif': Generate an Output stream of picture frames from an Input stream containing a mix of
picture frames (if any) & interlace frames (if any).
'bwdif' default: 'bwdif=mode=send_field:parity=auto:deint=all'.

Variables (ffprobe):
"IF" ('interlaced_frame=1') identifies an Input interlace frame.
"TFF" (IF+'top_field_first=1') identifies an IF with the top half-picture in the 1st field.
"BFF" (IF+'top_field_first=0') identifies an IF with the bottom half-picture in the 1st field.
"PF" ('interlaced_frame=0') identifies an Input picture frame.

Processes:
"TFF-process" means copy the IF's 1st field to the Output's top half-picture and its 2nd field to
the bottom half-picture.
"BFF-process" means copy the IF's 1st field to the Output's bottom half-picture and its 2nd field to
the top half-picture.
"PF-process" means copy the PF's top lines to the Output's top half-picture and its bottom lines to
the bottom half-picture.

Process directives:
'bwdif=deint=all':
   If TFF (or BFF), apply TFF-process (or BFF-process).
   If PF, apply PF-process.
'bwdif=deint=interlaced':
   If TFF (or BFF), apply TFF-process (or BFF-process).
   If PF, pass the Input frame (assumed to be PF) unchanged to the Output.

Input directives:
'parity=auto':
   If TFF (or BFF), apply TFF-process (or BFF-process).
   If PF, do nothing.
   If Input frame interlace is unknown, force TFF.
'parity=tff':
   If IF, force TFF.
   If PF, do nothing.
   If Input frame interlace is unknown, force TFF.
'parity=bff':
   If IF, force BFF.
   If PF, do nothing.
   If Input frame interlace is unknown, force TFF.

Output directives: Generates 1 or 2 frames per input frame depending on 'mode'.
'mode=send_field':
   Package the 2 Output half-pictures in 2 separate Output picture frames.
'mode=send_frame':
   Package the 2 Output half-pictures in a single Output picture frame.

Question: Does 'bwdif=deint=interlaced' mean that the Output will be variable frame rate?
Output_FPS=Input_FPS+Input_FPS*#IF/#total?

Confusing: "If the interlacing is unknown or the decoder does not export this information...", then
how does the filter know it's an IF?

Confusing: "The picture field parity assumed for the input interlaced video" is confusing because
interlaced frames (as defined by MPEG) do not contain pictures (as defined by MPEG).

--
COVID-19 perspective (May 11, 2020):
The U.S. is 4% of world population, 33% of cases, 28% of deaths, accelerating.
The U.S. & S.Korea reported 1st cases on the same day, 22 Jan 2020.
In March, week 2, S.Korea (pop: 52 million) did 10,000 tests/day, 4 hour results.
In March, week 2, the U.S. (pop: 328 million) did 400 tests/day, 7 day results.
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".