I recorded a video with RGB, YUY2 and YV12... and I noticed pixel perfect lossless quality is only kept on RGB. Here is a side by side comparison:
Is it possible to make it so the pixels will look lossless perfect on Y′UV, YUV, YCbCr, YPbPr, etc as well?
+ Reply to Thread
Results 1 to 12 of 12
-
-
This is the effect of chroma subsampling
https://en.wikipedia.org/wiki/Chroma_subsampling
It's possible by encoding without subsampling (e.g. YUV 4:4:4) , but not all devices or decoders support this . So it depends what the scenario is or background information, or how this is going to be used -
Can HTML5, Flash or Silverlight ACTUALLY support and play RGB?
-
-
Capture in RGB.
Double the size (or 3x, or 4x, or 5x like you did here).
Finally, convert to YV12.
Not perfect, but much better, and YV12 plays everywhere. -
I posted some 4:4:4 vp9 / webm tests over a year ago in this linked thread below. You can download and test if your browser version supports it or plays it back properly
https://forum.videohelp.com/threads/371183-VP9-webm-1-4-officially-supports-YUV444-now
Full color has been supported on the encoding side for quite a while (much longer for h264), but not widespread for browsers yet. It's still much safer to use 4:2:0 -
Use any codec capable to support RGB OR\AND YCbCr 4:4:4. If from some reason using such codec is not possible then follow raffriff42 advise and enlarge your source by 2 or 4 - point resampling will be mathematically perfect way (but least pleasant).
-
-
Lemme see if I got it right... you mean if the video is 256x224, then doubling it into 512x448 or making it 1024x896 will fix the problem? I tried both with point resize but it still doesn't look perfect.
-
No, it only reduces the problem.
Even though you've controlled the upscaling you can't control what the player does during playback. Players will usually use a smooth algorithm to upscale the chroma (to the same size as the luma) so you will still get a little blurring of the colors. But much less than if you had encoded at the original resolution.
Your 256x224 RGB video has 256x224 R, G, and B planes. When converted to YUV with 4:2:0 chroma subsampling you get a 256x224 Y plane (greyscale image) and 128x112 U and V planes (color information), hence the blurring of the colors. By doubling the frame size first you get a 512x448 Y plane and 256x224 U and V planes. During playback the player upscales the 256x224 U and V planes to match the 512x448 Y plane.
As noted earlier, if you want sharper colors you need to YUV 4:4:4. OrRGB 4:4:4. But those are not commonly used in files meant for distribution/playback.Last edited by jagabo; 3rd Nov 2016 at 16:07.
-
okay, thanks. But I have another question: is there a way to do the ConvertToYV12(chromaresample="point") without avisynth? I have it installed, but I'd rather use virtualdub's filters alone if possible.
Is there a filter I could use to point resize the chroma? -
If possible perform operation at RGB space then you don't need any additional filters (postpone conversion to YCbCr till last step) - AFAIR VirtualDub natively working in RGB space so you should have no problems.
Similar Threads
-
What difference output .yuv and input yuv (based on h.264 jm)
By Aaron_2992 in forum ProgrammingReplies: 2Last Post: 7th Sep 2016, 10:12 -
Extract YUV (YCbCr) channels for application.
By jowijo in forum Newbie / General discussionsReplies: 4Last Post: 19th Jul 2014, 18:11 -
Aspect Problem: AVCHD -> Premiere -> YUV -> deinterlace -> YUV -> Encore
By fleischverpackung in forum Video ConversionReplies: 8Last Post: 21st Feb 2014, 14:15 -
If I convert from YUV to RGB I loss quality?
By marcorocchini in forum Newbie / General discussionsReplies: 5Last Post: 20th Oct 2013, 19:50 -
optimal quality yuv to rgb conversion in premiere
By codemaster in forum EditingReplies: 3Last Post: 9th Oct 2013, 17:01