| Video || Audio || RGB || YUV || YUV422 || multiple instances || processing type || frames needed |
| yes || no || yes || yes || no || no || PRE || 1 |
filter is designed to shift, reorder, and generally rearrange independent fields of an interlaced video input. Input retrieved from broadcast (PAL, NTSC, etc) video sources generally comes in an interlaced form where each pass from top to bottom of the screen displays every other scanline, and then the next pass displays the lines between the lines from the first pass. Each pass is known as a "field" (there are generally two fields per frame). When this form of video is captured and manipulated digitally, the two fields of each frame are usually merged together into one flat (planar) image per frame. This usually produces reasonable results, however there are conditions which can cause this merging to be performed incorrectly or less-than-optimally, which is where this filter can help.
Default values are shown in [green]
in square brackets.
- flip Exchange the top field and bottom field of each frame
- Exchange the top field and bottom field of each frame. This can be useful if the video signal was sent "bottom field first" (which can happen sometimes with PAL video sources) or other oddities occurred which caused the frame boundaries to be at the right place, but the scanlines to be swapped.
- shift Shift the video by one field
- Shift the video by one field (half a frame), changing frame boundaries appropriately. This is useful if a video capture started grabbing video half a frame (one field) off from where frame boundaries were actually intended to be.
- flip_first Normally shifting is performed before flipping, this option reverses that
- Normally shifting is performed before flipping if both are specified. This option reverses that behavior. You should not normally need to use this unless you have some extremely odd input material, it is here mainly for completeness.
Note: the shift function may produce slight color discrepancies if YV12 is used as the internal transcode video format (default). This is because YV12 does not contain enough information to do field shifting cleanly. For best (but slower) results, use RGB mode (--use_rgb) for field shifting.