Jump to content

How does a compressed 4K video still look so good?

Edan Maus
13 minutes ago, Helly said:

haha, yeah that might be it. It is very confusing. I've been using MeGUI for years. For x264 you can set a profile (i set it to high). for x265 its called preset... which i set to medium... or is that something else entirely? Yeah seems like it, as you can set a profile with extra parameters. I didn't set the profile there. So its the default one. Can't really find which is the default, i'm guessing main.

So i guess i'll rephrase yet again. I used the same encoding settings for both versions of the file. All i changed between them was converting to 420 before presenting it to the encoder with avisynth.

This will be my last response... not really interested anymore, and completely irrelevant to the original question.

Okay now I understand you better.

 

So you took a 4:4:4 video.

Transcoded it to 4:2:0 and played that, and got good playback results.

You also took the same file, and transcoded it to 4:4:4 and played that, and not only was the encoding far slower but the decode was also slower.

Everything was the same except for the avisynth filter you applied first, which changed the chroma subsampling.

 

Correct?

I still think it's weird that you get such high GPU usage. Anyway, that's up to you to troubleshoot.

Sorry if I have been mean or hurtful in any way. That was not my intention. I think we both agree that the quality difference between 4:4:4 and 4:2:0 is minimal in most cases, and definitely worth the smaller file size.

Link to comment
Share on other sites

Link to post
Share on other sites

5 hours ago, Helly said:

No idea what you're trying to say here.... a GPU output has nothing to do with the file being played. Or are you saying you can just convert them and add the missing data back in somehow? How does that even work? What are you even watching that has so much text? Feels more like you have something wrong with YOUR setup...

GPU output is directly associated with the file being played back.  Let me ask this, do you understand the concept of chroma sub-sampling?  Text and other things that involve small lines are always the Achilles heel of chroma sub-sampling. If you have something involving text at a 1080p resolution 4:4:4 and 4:2:0 has a noticeable difference, especially when consuming said content on a large screen.  Less noticeable on 4k, but because it's 4 times the pixel count (so the thin lines are effectively twice the width and height pixel wise).  That is why if you have source content with lots of text at 4k 4:2:0, and you want to encode it (and the consuming media is 1080p anyways) it makes sense to do 1080p 4:4:4.  Encoding time would be less than 4k 4:2:0, but more than 1080p 4:2:0, but 4:2:0 has a nasty habit of gnarling up text.

 

https://www.d2mk.ca/news-reviews/444-vs-422-vs-420/

The above is an article that shows how text looks on a display when there is 4:4:4 vs 4:2:0 chroma sub-sampling

 

A very extreme case of this would be to imagine a 1 pixel green line on a blue background (at roughly the same intensity levels).  4:2:0 you will never be able to reproduce the image correctly.  You could have essentially a very similar 2 pixel color blue line (worst case no line at all if the intensity level was contrived).  You could have a 2 pixel wide green line (or depending on sub-sampling a 2 pixel wide off green/blue)...or if things went really wrong, a 2 pixel x 2 pixel green dot, followed by 2x2 blue...etc.

 

That is why real world images don't really make too much of a difference when chroma sub-sampling...as you hardly have a crisp barrier and if so it's not likely to be noticeable...but you get issues when you have things like lots of text on the screen.

 

6 hours ago, Helly said:

So a file encoded in 422 requires more processing power then 1 encoded in 420. Thank you for making this entire discussion pointless and me needlessly explaining what i did when you could have just said that....

It's not like what you are stating though.  You are spouting out that the difference between CPU consumption was 50% CPU usage vs 0-1%...that I am saying isn't right, when talking about the processing required to play something back (which hint hint, is what the OP is asking about).  I can bet that your setup is utilizing hardware decoders, which is why you are seeing less CPU usage...it's also why I stick to h264 at the moment, as older devices still have the hardware decoders for that.

3735928559 - Beware of the dead beef

Link to comment
Share on other sites

Link to post
Share on other sites

7 hours ago, Helly said:

My current 5950x and 6900XT does the same. Lower usage then the 5960x/vega64 but definitely higher usage then the 420 file.

AMD's VCN/VCE has no support for H265 yuv444 nor yuv422 decoding afaik, so that's why you see a high CPU usage when compared to yuv420.

 

IIRC, it does support yuv444 for x264, so you likely won't see such high CPU usage if you do encode this way.

 

Nvidia's NVENC supports x265 yuv444 since Turing.

FX6300 @ 4.2GHz | Gigabyte GA-78LMT-USB3 R2 | Hyper 212x | 3x 8GB + 1x 4GB @ 1600MHz | Gigabyte 2060 Super | Corsair CX650M | LG 43UK6520PSA
ASUS X550LN | i5 4210u | 12GB
Lenovo N23 Yoga

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×