relaxed line0 option (makes my poor-condition tapes decode successfully)#252
Merged
oyvindln merged 6 commits intooyvindln:vhs_decodefrom Dec 4, 2025
Merged
Conversation
Owner
|
Even though I'm a bit iffy about too much LLM code I'll merge this since it's a separate option and shouldn't mess with existing behaviour. Might change the argument in the future though. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A disclaimer: I don't really know why this works, or what is particularly wrong with my tapes that makes them not decode properly (I suspect they are misrecorded in a way that makes --fallback_vsync line0 detection just barely work (one out of every few fields), and this makes it reliable). But I threw the problem at an LLM, and it came up with this solution. I added it as an option, but maybe this should be default? I have no idea..
Video sample, first clip is without the fix, then repeating after with the fix: (without fix it drops a bunch of fields as shown here, leading to "stuck" fields, or (not shown) without fix and and with
--field_order_action noneit seems to have all the fields but there is vertical jitter instead, like on my JVC VCR TBC.With fix is the second half:
Untitled.mp4
RF sample for the above, for someone who wants to play with it:
https://drive.google.com/file/d/1b5ZNJsAoePecl45MCpBz2228os3fr3kU/view?usp=drive_link
Not tested with NTSC or other tapes, I suspect that this may not work correctly for NTSC (but not tested)