-
Notifications
You must be signed in to change notification settings - Fork 66
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update deinterlacing methods to current best practices #469
Update deinterlacing methods to current best practices #469
Conversation
For many years, hardware devices and online streaming platforms have been capable of 50p or 60p output, so the older advice of deinterlacing 25i/30i to 25p/30p is no longer necessary. For matching the fidelity of interlaced sources as they were originally viewed on period hardware, each field should be output to its own frame, producing 50p content from 25i sources, and 60p content from 30i sources. These updates to ffmprovisr reflect that. Additionally, the deinterlacing filter advice of yadif or w3fdif has been changed to bwdif, which combines the best attributes of both older filters.
index.html
Outdated
By default, <a href="https://ffmpeg.org/ffmpeg-filters.html#yadif-1" target="_blank">yadif</a> will output one frame for each frame. Outputting one frame for each <em>field</em> (thereby doubling the frame rate) with <code>yadif=1</code> may produce visually better results.</dd> | ||
<dt>idet</dt><dd>detect interlaced video field order<br> | ||
<a href="https://ffmpeg.org/ffmpeg-filters.html#idet" target="_blank">idet</a> will try to detect if the video is interlaced, and if so, what the order of the fields are (top-field-first, or bottom-field-first). This is done to ensure the output of the deinterlacing filter is correct.</dd> | ||
<dt>bwdif</dt><dd>deinterlacing filter (‘Bob Weaver Deinterlacing Filter’)<br> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Haha, I didn't know this was named after a dude
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lovely, thorough, insightful, and very welcome. Thank you! I'll approve this and allow some time for fellow archivists and maintainers to weigh in.
I echo Ashley, this looks really great! |
I wouldn't say that AMIA thread noted by @kieranjol resolved in any consensus around best practices. I think this is a great command, but my preference would be to have as a separate recipe rather than as an update of an existing one as that way ffmprovisr gains explanations of more filters/options and the ultimate choice is up to the user. |
I agree Andrew! |
I second @privatezero’s position: another command would be better than simply eliminating |
I can make those changes and resubmit, although I'm not sure what the correct process is. Is it to reject/close this pull request, then submit a future one with the suggested changes? |
Honestly do whatever is easiest for you :) |
to extend that sentiment just a bit: I don't know how you're engaging with git/GitHub, but one method is that you could go into this branch you are working on, make changes and a new commit, and push those new commits to your branch and it will update here (you can also do a "force push" using -f to try to overwrite your existing work, if that's what you want to do) |
I wasn't aware that pull requests could be automatically updated. I'll attempt updating the branch, and will notify again if that appeared to be successful. |
Yep, they'll auto-update here! |
A new section was added specifically to address how to deinterlace video to frames, preserving the visual cadence of the source material. An animated example of field separation was also provided for the documentation.
I reverted the previous sections and added a new section, "deinterlace fields to frames". I also included an animated example showing the result of such deinterlacing (which, IMO, should be the default for all born-interlaced content). If these changes and the new graphics are not visible, please let me know. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Love the additional pics too
@privatezero and/or @kieranjol please review and feel free to merge! |
It's perfect, thank you for taking on board the feedback! The gif is so helpful too. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Guess that leaves me to merge! Thanks for the contribution!
Late to the party but thanks for this, @MobyGamer! |
For many years, hardware devices and online streaming platforms have been capable of 50p or 60p output, so the older advice of deinterlacing 25i/30i to 25p/30p is no longer necessary. For matching the fidelity of interlaced sources as they were originally viewed on period hardware, each field should be output to its own frame, producing 50p content from 25i sources, and 60p content from 30i sources. These updates to ffmprovisr reflect that.
Additionally, the deinterlacing filter advice of yadif or w3fdif has been changed to bwdif, which combines the best attributes of both older filters.
Checklist