yuv: Remove chroma interpolation, use iterators#13
Merged
kmeisthax merged 3 commits intoruffle-rs:masterfrom Sep 27, 2021
Merged
yuv: Remove chroma interpolation, use iterators#13kmeisthax merged 3 commits intoruffle-rs:masterfrom
kmeisthax merged 3 commits intoruffle-rs:masterfrom
Conversation
d796f95 to
323af5d
Compare
Member
Author
|
I have also not found any H.263 or VP6 video played back by Flash Player where any of the pixels in a 2x2 group had different Cb or Cr values when converted back from RGB according to BT.601. |
kmeisthax
approved these changes
Sep 27, 2021
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.
Sadly, this effectively reverts kmeisthax/ruffle#10.
This is technically less "correct", and looks less nice, but in exchange, we gain a whole bunch of speed, the original code simplicity, and most importantly, close similarity to Flash Player.
It also replaces #9, being much-much simpler than that.
To verify, take this test video: testpattern6_h263.zip
(All screenshots are in 5x magnification with "nearest" interpolation.)
This is how it looks in Adobe Flash Player:

Notice how the top vertical red bar is precisely two pixels wide, with no bleeding to the left or right at all.
(The slightly off-shade blue bars above and below the left horizontal red bar are the result of FFmpeg's RGB->YUV conversion. They are there even when I convert the same source image into raw .y4m with yuv420p pixel format.)
This is how it looks in Ruffle now:

And in Ruffle, with this change:

Basically identical to what Flash Player shows, except for some slight noise, most likely from the IDCT.