SMDegrain: fix broken BFF interlace handling #89
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.
The SMD_UnfoldFieldsVertical function takes a TFF parameter, but doesn't actually use it when assigning the parity of the input clip. This results in horribly destroyed results when using BFF interlaced clips.
Fix this by using TFF to determine whether to call AssumeTFF or AssumeBFF.
Here's an example that shows the problem. The input image originated from a DV camcorder that interlaced using BFF. I used the filter
SMDegrain(interlaced=true)
to generate the outputs.I git bisected the repository and found this regression was first introduced in e3cea8f
Original input image
Broken interlace handling seen in master
Results after applying this commit