digitalFAQ.com Forums [Archives]

digitalFAQ.com Forums [Archives] (http://www.digitalfaq.com/archives/)
-   Avisynth Scripting (http://www.digitalfaq.com/archives/avisynth/)
-   -   Avisynth: Is there a filter for increasing compression even more? (http://www.digitalfaq.com/archives/avisynth/4643-avisynth-filter-increasing.html)

Wilbert 08-04-2003 10:47 AM

Quote:

So it's just a supposition ? But it's not that is said in the pop-up help (balloon). The balloon said exactly this : "Then Y Mpeg range is 8-235 (and the help talk about 16-235 !), not 0-255". I don't see there any evidence of rescaling. So ? Did you make yourself any check or do you just take this out of your brain ?
I can't imagine that it wouldn't have this scaling option. But I performed some tests.

I took a blankclip:

blankclip(color=$0000f0,pixel_type="yuy2")

coloryuv(analyze=true) # gives the values: YUV = 39, 234, 111

Then I made the following script as source (conversion to RGB24 done by AviSynth itself):

blankclip(color=$0000f0,pixel_type="yuy2")
ConvertToRGB24

I made two mpeg1 clips with TMPGEnc: bc_def.mpg without the option "output YUV as Basic YCbCr and not CCIR601" checked (which is the default). Importing (as YUY2) and analyzing in AviSynth gives:

DirectShowSource("e:\temp\test\bc_def.mpg",fps=25)
coloryuv(analyze=true) # YUV = 40, 233, 111


conclusion: clip is untouched. The second clip is with the option "output YUV as Basic YCbCr and not CCIR601" checked. Importing (as YUY2) and analyzing in AviSynth gives:

DirectShowSource("e:\temp\test\bc_ycbcr.mpg",fps=2 5)
coloryuv(analyze=true) # YUV = 27, 248, 108


conclusion: the values are changed. Some math:

The inversion of y = x/255*( 235-8 )+8 gave the incorrect values! So I used:

y = x/255*(235-16) + 16 [(0,255)->(16,235)]

The inverse is given by

x = 255/(235-16)*y - 16*255/(235-16) [(16,235)->(0,255)]

y = 39 (luma of blankclip) results indeed in y = 26.8 = 27.

conclusion: the scaling (16,235)->(0,255) is performed when the option "output YUV as Basic YCbCr and not CCIR601" is checked.

btw, I see that I misread Jorel:
Quote:

Unchecked (the defautl) = same effect than Limiter().
I'm very sorry. I will perform some tests, to see whether this is true.

Dialhot 08-05-2003 04:45 AM

Quote:

Originally Posted by Wilbert
I took a blankclip:

blankclip(color=$0000f0,pixel_type="yuy2")

coloryuv(analyze=true) # gives the values: YUV = 39, 234, 111

Great, you find a way to do the check ! I search for it yesterday but never found how to do that :-(

Quote:

conclusion: the scaling (16,235)->(0,255) is performed when the option "output YUV as Basic YCbCr and not CCIR601" is checked.
That's a great info. I'm glad to never have the option checked :!:

Quote:

btw, I see that I misread Jorel
In fact, that's me that told this.

Quote:

I'm very sorry. I will perform some tests, to see whether this is true.
I'll do also (now that I have a way to perform it ;-))

bman 08-05-2003 10:20 AM

Hi all !
Great results Willbert !
I suspected that "output YUV as Basic YCbCr and not CCIR601" option checked is performing scale conversion but didn't find way to prove that .
After this one we have to find what is wrong (in some movies ) with colors when black turns to be dark blue or green . This problem is mentioned many times in KVCD forum but NOONE could solve this problem .
Even if we check "output YUV as Basic YCbCr and not CCIR601" option colors become more natural but still there is some visual difference .
I suppose that they are using some kind of filter for color scale conversion that doesn't affect DVD MPEG2 stream but after encoding with TMPG color lose right values .
That will be great If we could find how exectly prevent this unwanted effect .
bman

Wilbert 08-05-2003 03:40 PM

@Dialhot,

I did some more tests:

# source:
# blankclip(color=$000010, pixel_type="yuy2") # YUV = 18, 135, 127
# ConvertToRGB24

I opened this script in TMPGEnc and checked "output YUV as Basic YCbCr and not CCIR601", resulting in bc2_ycbcr.mpg. It has YUV values: 2, 136, 127 (I did it this way, because I don't know how to make this in AviSynth):

# DirectShowSource("e:\temp\test\bc2_ycbcr.mpg",fps= 25)
# coloryuv(analyze=true) # YUV = 2, 136, 127
# ConvertToRGB24

For some strange reason TMPGEnc crashes with the script above, so I loaded bc2_ycbcr.mpg directly in TMPGEnc. Now I unchecked "output YUV as Basic YCbCr and not CCIR601" and encoded to bc2_ccir601.mpg. I made the following script:

DirectShowSource("e:\temp\test\bc2_ccir601.mpg",fp s=25)
coloryuv(analyze=true) # YUV = 16, 128, 128

My conclusion is that all YUV values with Y<16 is clamped to (Y,U,V)=(16,128,128) when leaving "output YUV as Basic YCbCr and not CCIR601" unchecked.

I guess all values with Y>235 are clamped to (Y,U,V)=(235,128,128), but I didn't check this.

Conclusion: Jorel is correct!

Wilbert 08-05-2003 03:46 PM

Quote:

After this one we have to find what is wrong (in some movies ) with colors when black turns to be dark blue or green . This problem is mentioned many times in KVCD forum but NOONE could solve this problem.
Could you give some links, and also upload a short vob where this problem occurs?

Dialhot 08-05-2003 03:58 PM

Quote:

Originally Posted by Wilbert
Conclusion: Jorel is correct!

That is not Jorel that told you that, that's me :-)

So as I told a long time ago, bye bye limiter in the scripts, is useless :!:

Thank you Wilbert for having done all these tests.

Wilbert 08-05-2003 04:40 PM

Quote:

That is not Jorel that told you that, that's me
I see, sorry :)

Quote:

So as I told a long time ago, bye bye limiter in the scripts, is useless
Of course we are only talking about TMPGEnc here ...

Dialhot 08-05-2003 04:42 PM

Of course. I don't do any encodign with other tool.

Holomatrix 08-08-2003 07:23 AM

Quote:

Originally Posted by Dialhot
Quote:

Originally Posted by Wilbert
Conclusion: Jorel is correct!

That is not Jorel that told you that, that's me :-)

So as I told a long time ago, bye bye limiter in the scripts, is useless :!:

But if were going to try another encoder like CCE then we should keep Limiter() in to help with the black background blocks, Right?

Wilbert 08-08-2003 08:04 AM

Don't know, I never used CCE. Accordingly to the CCE-faq at doom, it has a luminance level option. Maybe someone can do the same two tests (as I did above) to see what this option does?

Holomatrix 08-08-2003 08:39 AM

Yes, CCE has this luminance level 16 to 235 or 0 to 255. I think by default it is at 0 to 255. Now I need to read again on what the two differences do :)


All times are GMT -5. The time now is 11:09 PM  —  vBulletin © Jelsoft Enterprises Ltd

Site design, images and content © 2002-2024 The Digital FAQ, www.digitalFAQ.com
Forum Software by vBulletin · Copyright © 2024 Jelsoft Enterprises Ltd.