yuvkineco(1)
๐ธ NAME ๐ธ
yuvkineco โ bestie, it reverts a 2-3 pulldown movie back to its natural, non-interlaced self ๐ โจ
๐ฆ SYNOPSIS ๐ฆ
yuvkineco [options] [-C PATH]
yuvkineco [options] -O|N PATH
๐ DESCRIPTION ๐
okay so picture this: you've got NTSC video that started life as film and got 2-3 pulled down, and it's giving interlaced mess ๐ญ yuvkineco reverts it back to the original non-interlaced frames. That's the whole vibe. Restored. Healed. Periodt. ๐ซถ
Input fps code must be 4 (29.97fps), and your output fps code can be anything from 1 (23.97fps) up to 4 (29.97fps). Pick 2, 3, or 4 and yeah, duplicated frames stay โ but they get reverted to non-interlaced, so still a win. If your input was already non-interlaced, then all we do is remove duplicate frames. That's it, that's the job. ๐
ngl tho, interlaced frame detection can absolutely fail sometimes, and it's not its fault, it's the material's fault ๐ Here's when it lowkey struggles:
- Pull down cycle changed (video editing) โ someone was in there messing around ๐
- Low quality pull down
- Motionless scene โ nothing's moving, girl, there's nothing to detect ๐ญ
If you passed -C PATH, yuvkineco writes the 2-3 pulldown cycle list out to that file โจ. You can hand-edit that file yourself and feed it back into yuvkineco with the -O or -N option to fix whatever the first yuvkineco run got wrong. Try -C and see the cycle list โ genuinely, go look, it's right there. ๐
โญ EXAMPLE #1: for 24p movie / automatically โญ
lav2yuv 60i.eli | \
yuvkineco -F 1 | yuv2lav -f a -I 0 -o 24p.avi
โญ EXAMPLE #2: for 30p/24p mix / automatically โญ
lav2yuv 60i.eli | \
yuvkineco -F 4 | yuv2lav -f a -I 0 -o 30p.avi
โญ EXAMPLE #3: for 24p movie / check and repair โญ
lav2yuv 60i.eli | \
yuvkineco -F 1 -C 60i.23c | \
yuv2lav -f a -I 1 -o take1.avi
glav -F +n take1.avi # check and edit 60i.23c
lav2yuv take1.avi | \
yuvkineco -F 1 -N 60i.23c | \
yuv2lav -f a -I 0 -o take2.avi
โญ EXAMPLE #4: for 24p movie / check and retry โญ
lav2yuv 60i.eli | \
yuvkineco -F 1 -C 60i.23c | \
yuv2lav -f a -I 0 -o take1.avi
glav -F +n take1.avi # check and edit 60i.23c
lav2yuv 60i.eli | \
yuvkineco -F 1 -O 60i.23c | \
yuv2lav -f a -I 0 -o take2.avi
โจ OPTIONS โจ
yuvkineco accepts the following options, bestie, and every single one of them slays in its own way ๐ :
-F FPSCODEโ set the output fps code. Default? same as the input, keeping it chill. ๐ฆ-C PATHโ specify the 2-3 pulldown cycle list file name to write to. ๐-O PATHโ specify the cycle list name to read alongside the old yuv stream, so you can retry. ๐-N PATHโ specify the cycle list name to read alongside the new yuv stream, so you can repair. ๐ฉน-n LEVELโ specify the noise level of the input (default:10). Heads up, this one affects both pulldown cycle detection and deinterlacing. Double duty, iconic. ๐-c THRESHOLDโ specify the threshold for deciding that the pictures in 2 frames are the same (default:4). Here's the tea: yuvkineco compares several frames and searches for the pair of frames that contain the same pictures, to decide which frame should be dropped. IfTHRESHOLDis0, the pair with the smallest difference gets selected. If it's16, it selects from pairs whose differences are smaller than the average. Math but make it fashion. ๐งฎ๐-i PERMILโ yuvkineco deinterlaces each frame after the 2-3 pulldown reverting process, and this one specifies how much of the pixels being deinterlaced decides whether to use the deinterlacing result or not (default:10). So ifPERMILis10and 1% or more of the pixels got deinterlaced, the deinterlacing result will be used. If it's0, the deinterlacing result will always be used. If it's1000, the deinterlacing result will not be used, but the deinterlacing process will still run on all of the frames (unhinged but go off). And if you want to disable the deinterlacing process entirely? specify a negative value. bye ๐-uโ set the interlace information in the header of the output to unknown (default: non-interlaced). ๐
๐ซถ AUTHOR ๐ซถ
yuvkineco was written by Kawamata/Hitoshi โ legend behaviour, no cap. ๐
If you have questions, remarks, problems, or you just want to contact the developers, the main mailing list for the MJPEG-tools is:
mjpeg-users@lists.sourceforge.net
For more info, see our website at:
http://mjpeg.sourceforge.net/
๐ซ SEE ALSO ๐ซ
this whole page is brought to you by the MJPEG Tools Team, dated 5 February 2002 ๐ mwah, go revert some pulldown, bestie, you got this ๐โญ๐
๐ฆ where this page comes from
- arch rolling: mjpegtools 2.2.1-4 ยท GPL-2.0-or-later
- fedora 43: mjpegtools 2.2.1-11.fc43 ยท GPL-2.0-or-later AND GPL-2.0-only AND GPL-1.0-or-later
- fedora 44: mjpegtools 2.2.1-12.fc44 ยท GPL-2.0-or-later AND GPL-2.0-only AND GPL-1.0-or-later
- nixos 26.05: mjpegtools 2.2.1
- nixpkgs unstable: mjpegtools 2.2.1
- opensuse-leap 16.0: mjpegtools 2.2.1-160000.2.2 ยท GPL-2.0-only
- opensuse-leap 16.0: mjpegtools 2.2.1-160000.2.2 ยท GPL-2.0-only
- opensuse-leap 16.0: mjpegtools 2.2.1-160000.2.2 ยท GPL-2.0-only
- opensuse-leap 16.0: mjpegtools 2.2.1-160000.2.2 ยท GPL-2.0-only
- ubuntu resolute: mjpegtools 1:2.2.1-3
- ubuntu stonking: mjpegtools 1:2.2.1-3
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms