-
Notifications
You must be signed in to change notification settings - Fork 59
Interlaced Input
Most of cameras today provide interlaced content. If you output the video with progressive display, it can produce artefacts. Interlacing can be regarded as a disadvantage. On the other hand, it also brings some adventages, either. For instance, double field rate which is advantegous especially for 25/50 FPS. In any case, if you intend to display interlaced content, you may need to use some additional actions.
Simple way of getting rid of interlacing artifacts is to use a spatial deinterlacer (doesn't change frame-rate).
It can be toggled for both OpenGL and SDL displays by pressing 'd' key when playing video or as a command-line parameter:
uv -d sdl:d
uv -d gl:d
With all display, you can use postprocess filter deinterlace:
uv -p deinterlace -d <display>
The only difference is that with the postprocess filter you cannot toggle deinterlacing on runtime.
Advantage of using interlaced video is that it has double field-rate than its progressive counterpart. The advantage over progressive video is that the movement is usually more smooth. UltraGrid can emulate the behavior of interlaced systems by doubling frame rate and interlacing individual fields in manner of television systems. If you want this behavior, add a command-line parameter -p double_framerate. Note that you probably obtain best results if you set display refresh-rate to multiple of video frame/field rate, eg. 50 or 100 for 50i video, eg. 60 or 120 for 59.94/60 interlaced video.
Following deinterlacers doubles the framerate. With UltraGrid version 1.8 and older, only double_framerate is available.
Bob is a simple deinterlacer that treads every field as a frame by doubling its vertical resolution. Usage:
uv -d gl -p deinterlace_bob
Linear deinterlacing is similar to bob above, but instead of just doubling the lines to achieve full resolution, it linearly interpolates the missing lines from adjacent ones.
uv -d gl -p deinterlace_linear
Compared to the above, double_framerate filter doubles the framerate by letting the fields interleaved using following pattern:
111111 333333 555555
222222 444444 666666
111111 333333 555555
222222 444444 666666
↓
111111 111111 333333 333333 555555 555555
222222 222222 444444 444444 666666
111111 111111 333333 333333 555555 555555
222222 222222 444444 444444 666666
Usage:
uv -d sdl -p double_framerate
This deinterlacer doesn't remove saw-like pattern so you may also want to use it together with blend (-d gl:d
or -d sdl:d
) to mitigate interlacing artifacts or as an option to postprocessor -p double_framerate:d
.
If you have any technical or non-technical question or suggestion please feel free to contact us at