AVS Forum banner
  • Our native mobile app has a new name: Fora Communities. Learn more.

YUY vs YV12

8418 Views 5 Replies 5 Participants Last post by  hdkhang
What's the highest quality output? I know that YV12 is 12 bit and YUY2 is 16 bit, does this automatically make YUY2 better?


Thanks

Matt
Status
Not open for further replies.
1 - 6 of 6 Posts
YV12 samples chroma with essentially half the resolution of YUY2. This is generally unnoticeable, but I'm sure in careful examination it would be fairly obvious in high detail areas. Of these two, YUY2 is higher quality.


I think the highest quality output would be straight RGB24, since there would be no needed color space conversions to display it. There is a big speed and space sacrifice, due to more data to work on.
Yes, YUY2 is probably a better way to output.


But it depends on what you are working with. If you are doing ffdshow in Zoom Player, any filters have to run in YV12. So outputting YV12 works best to avoid a second conversion. You can output straight into YV12 with the DScaler 5 video codec, or if you're using a different codec, you need to put a filter before resize to force the conversion from YUY2 to YV12 before resize.
I think there is much misunderstanding in this regards. :)


On the DVD or HDTV the data are stored in 4:2:0 (360x240 for NTSC). So somewhere in the chain it has to be converted to 4:4:4 (chroma upsampling) and then to RGB to output it to the display.

YV12 is a 4:2:0 format, so the data goes untouched to the overlay or VMR9 (or other filters behind the decoder). The chroma upsampling is done in the hardware of your graphics card. The overlay of the Radeon does a very good job here, but only for film material (for video material you get the inverse CUE). The CPU usage is also lower.

YUY2 is a 4:2:2 format which means vertically it has been interpolated already. Horizontally it is untouched.

This is good for video material, because the overlay doesn't know the source and always performs progressive upsampling. With YUY2 you can bypass this circumstance.

Sadly most decoders does very bad upsampling for progressive streams. They only double the lines instead of interpolating which leads to chroma aliasing.



So YV12 does NOT contain less information then YUY2, because the source doesn't have more. It is just a question of where the upsampling happens. The same applies to YUV->RGB conversion. :)
See less See more
Btw, the values 16 bit or 12 bit refer to the effective bits per pixel. Every channel (Y, U and V) are stored as 8 bit values. For YV12 every Y value shares its U and V with four other pixels.


So 1 pixel effectively gets


8 bit Y + 8/4 bit U + 8/4 bit V = 12 bit


For YUY2 one pixel shares it chroma values only with 2 other pixels, so the effective bits per pixel are higher.


For more information please click here .
See less See more
Exactly, very well put FoLLgoTT, once in a while it needs reclarification. I believe JohnAd mentioned this info in a thread not too long ago (but as with much of what goes on in this busy forum, it can be relegated to nothingness all too easily and out of reach for those not actively searching the issue at the same time aside from searching).


I've still got to get around to using YUY2 for interlaced material since reading that LOL, hopefully get some time to do a comparsion, not sure what I'm supposed to see but hey, if I see no apparently visible benefit that will make me all the happier because I can just stick to YV12.


Cheers...

Duy-Khang Hoang
1 - 6 of 6 Posts
Status
Not open for further replies.
Top