AnimeSuki Forums

Register Forum Rules FAQ Community Today's Posts Search

Go Back   AnimeSuki Forum > Anime Related Topics > General Anime > Fansub Groups

Notices

Reply
 
Thread Tools
Old 2007-04-09, 13:51   Link #1
Unearthly
Member
 
 
Join Date: Oct 2006
Color Levels: Ignored Issue?

One issue I started wondering about when I became more knowledgeable about encoding and fine tuning playback is color levels. For those that don't know, televisions and PC monitors have a slightly different scale for representing colors and their brightness or saturation. At first I thought it wasn't a problem as all the fansubs I came across used TV levels to encode their videos, however recently I have been coming across more encodes which are using the PC levels instead.

Now, the problem is that as far as I can tell, no renderer has the capability of displaying both PC and TV level encoded files correctly without re-configuration. So if some people encode with PC levels and some people encode with TV levels, the viewer would likely end up watching one of them wrong and might wonder why their colors looks overly dark or why their whites and blacks look grayer than they should.

Here is an example of an encode which uses PC levels instead of TV levels and compares a correctly adjusted image to one which is adjusted for TV level encodes.

Using VMR9, which assumes the video is PC leveled as does no scaling (correct for this case):
http://img511.imageshack.us/img511/9...elsvmr9yh8.png

Using Haali's Renderer, which assumes the video is TV leveled and scales it to PC levels (incorrect for this case):
http://img511.imageshack.us/img511/1...lshaalixa7.png


So, the questions then are:

Is it worth making this issue more visible? Should fansubs be more cautious of which level range they use to encode their videos? And if they choose to use the less commonly used (Currently TV range is mostly used) level range, should they inform their viewers that they used a different color range so viewers can configure their player properly for playback?
Unearthly is offline   Reply With Quote
Old 2007-04-09, 14:42   Link #2
DeathWolf
Member
 
Join Date: Nov 2003
You are indeed right. There are tons of problems with that, from clipping to bad dithering etc.
As a matter of fact, and in my humble opinion, TV Levels being dominant, they should be used. And the renderers should continue to do as some do, that is, map TV Levels to PC Levels(But this should be an option).
The fact is it's not possible to detect it de facto from the headers, so there's no way for the decoding to know about it.(Unless it waits for some frames, but that gets really messy.
So as a matter of fact... I think TV Levels should continue to be used, they are the standard mostly everywhere, and going against the flow will only create more problems.(But yes, i agree they are technically inferior)

And in reference to the subject of proper rendering, I did some tests some time ago:
http://forum.doom9.org/showthread.php?t=120946
DeathWolf is offline   Reply With Quote
Old 2007-04-09, 15:16   Link #3
Unearthly
Member
 
 
Join Date: Oct 2006
Nice work compiling all that information. I didn't realize VMR9 Windowed vs Renderless had any difference besides allowing the internal subtitle renderer. I'll definitely use that for watching PC level encodes now (I already used Haali for TV leveled encodes). Just doing a simple frame comparison I can definitely see the difference in sharpness.

One of the problems I have just had is trying to identify PC encodes. If the colors are not particularly rich (possibly a bad source), you might not notice the overexposure right away. The only definitive way I have been using to identify the encodes levels is using the FFDShow 'Levels' filter histogram, just watching it and seeing if the levels dip below 16 or above 235/240. Unfortunately it is annoying and not a particularly fast process. Especially if the encode is actually TV levels, I have to watch it for enough of a time that I expect that I would have seen it dip past the TV margins.

It would sure be nice if media containers had the ability to store the levels the video is intended to be viewed with (Think user inputted, like aspect ratio).
Unearthly is offline   Reply With Quote
Old 2007-04-09, 16:31   Link #4
TheFluff
Excessively jovial fellow
 
 
Join Date: Dec 2005
Location: ISDB-T
Age: 37
Why should we need to care about this, again? There is no way of telling if a source is clamped to TV levels or not without playing through the entire thing (actually, there IS a flag in H.264 that lets you specify if the video is TV or PC range, but you have to set it manually and noone ever does that. reportedly CoreAVC actually reads this flag and does... something... depending on what it's set to (in pretty much every fansub encode it's undefined)). If you just encode a clamped-to-TV-levels source without adjusting any levels, both Avisynth and x264 (as well as XviD and pretty much any other encoder) will just assume it's PC range and give you... uh... an encode clamped to TV levels (since TV levels are a subset of PC levels and can be contained within them, so to speak). If it's PC levels to begin with, you get, surprise surprise, PC levels.

Anyway, in either case your conclusions about the renderers are wrong. Haali is the correct one, it just passes the levels through. What you see in the VMR screenshot is two very ancient bugs:
1. Both ATi's and nVidia's VMR9 implementations incorrectly assumes that the input is in PC range and maps it to TV range, resulting in a washing out-effect on the colors, and
2. Both ATi's and nVidia's VMR9 implementations for some inexplicable reason smoothes the image somewhat (notice how all the lines in your VMR screenshot seem less sharp than in the Haali one?).
(there are also various other funny bugs with various implementations of VMR9, such as a distinct hue shift towards green (VERY common on some pretty much all nVidia cards, especially with older drivers) and some really horrible staircase effects/jagged edges with the resizer)
It's pretty much been like that since the beginning of time (or at least since DirectX 9), and this (combined with the fact that VMR9 is slower than overlay) is the reason that CCCP has always defaulted to overlay and will continue to do so for the forseeable future. Interestingly, Microsoft doesn't seem to like this and has (with a suspicious move that almost is starting to look intentional) broken the overlay in Vista.
Recommended reading (and don't forget the comments; Blight is the lead developer of ZoomPlayer):
http://virtualdub.org/blog/pivot/entry.php?id=92#body
http://virtualdub.org/blog/pivot/entry.php?id=149#body

To conclude: what you SHOULD do is stop worrying about it and start living with it like everyone else without a perfectly calibrated monitor. Or go insane trying to find out what material uses what levels just by looking at it and adjusting the decoder/processing filter accordingly. I would not recommend trying to do this in the renderer, pretty much all implementations of VMR9 are far too buggy and/or deliberately broken to be useful. Keep Haali and do the levels adjustment in the decoder or in ffdshow instead. You know, it's an ignored issue for a reason. Have fun.

Edit: also, in other news, CoreAVC 1.3.0.0 has a really funky checkbox that gives you incorrect levels on some sources no matter what state it is in - the difference between checked and unchecked is which sources you get incorrect levels on (apparently this is a "feature"). The obvious sensible solution is to do like ffdshow does: leave the levels alone by default but provide a levels filter that lets the user adjust one way or the other if he/she is so inclined.
__________________
| ffmpegsource
17:43:13 <~deculture> Also, TheFluff, you are so fucking slowpoke.jpg that people think we dropped the DVD's.
17:43:16 <~deculture> nice job, fag!

01:04:41 < Plorkyeran> it was annoying to typeset so it should be annoying to read

Last edited by TheFluff; 2007-04-09 at 18:15.
TheFluff is offline   Reply With Quote
Old 2007-04-09, 21:20   Link #5
Unearthly
Member
 
 
Join Date: Oct 2006
The conclusions I got from the renderers were drawn from the Haali's Renderer forum thread on Doom 9. Here are the links to the relevant posts:
Haali's Renderer does TV->PC Scale conversion
Use VMR9 for full range (PC scale)

So you say Haali's just ports the levels through, but that seems opposite to what Haali himself posted unless a change was made since that post (which I do accept as a possibility).

As for the softer image, it seems using VMR9 Windowless reduces this, I'll upload another comparison shot to see if its comparable to Haali's.

But for levels, I can only image the cases for Haali's renderer does one of two things:
1) Passes the levels through as is, so TV leveled encodes will display greyish blacks and whites on a PC monitor but correct on a TV. PC leveled encodes look correct on a PC monitor.
2) Converts TV Scale to PC Scale, so a PC leveled encode will have problems such as clipping on a PC monitor. TV leveled encodes will look correct on a PC monitor.

In such a case, knowing what levels the fansub is encoded with is necessary to know how to play it back correctly (Whether using a FFDShow levels setting or changing renderer.) Whether or not you think that is important is up to you, but that is one of my questions. Is it important if the colors are right or wrong?

-EDIT-
Here is the same shot from VMR9 Renderless. It is definitely sharper than the previous VMR9 shot.
http://img392.imageshack.us/img392/2...r9rlessej5.png

Also, here is a shot using FFDShow to change the levels from PC to TV and then displaying with Haali.
http://img392.imageshack.us/img392/1...tvhaalinb7.png

Last edited by Unearthly; 2007-04-09 at 22:19. Reason: Added new screenshots
Unearthly is offline   Reply With Quote
Old 2007-04-10, 04:33   Link #6
Schneizel
uwu
*Fansubber
 
 
Join Date: Dec 2005
Quote:
Originally Posted by Unearthly View Post
Here is the same shot from VMR9 Renderless. It is definitely sharper than the previous VMR9 shot.
http://img392.imageshack.us/img392/2...r9rlessej5.png

Also, here is a shot using FFDShow to change the levels from PC to TV and then displaying with Haali.
http://img392.imageshack.us/img392/1...tvhaalinb7.png
...can you seriously tell a difference between those two screenshots besides their filenames?
Schneizel is offline   Reply With Quote
Old 2007-04-10, 06:19   Link #7
jfs
Aegisub dev
 
 
Join Date: Sep 2004
Location: Stockholm, Sweden
Age: 39
The VMR9 shots are more greenish while Haali's is more reddish.
jfs is offline   Reply With Quote
Old 2007-04-10, 07:22   Link #8
Access
Senior Member
 
Join Date: Jan 2004
People's eyes can safely adjust to different 'whites' and brightness/contrast levels. It happens every day if change from flourescent lighting to sunlight or incandescent lighting. Unless you have an obvious problem like severe clipping, noticeable off-color, etc. it's not worth stressing out over. If a novice tries to fix something, he typically makes the problem worse -- look at all the oversharpened or white/black-clipped stuff out there as it is. Just like with non-normalized audio, in many cases it's best just to minimize changes to the source and if the end-watcher cares, there are filters/fixes that will account for and 'fix' it. Re-encoding anything, especially already compressed video or audio, should be avoided if possible.

Unlike still photography, where a 'bad' white balance picture will be noticeable -- when watching the show, one's full attention is focussed on it. I feel the same way about things like flashy effects and karaoke, it's extra effort and most people just don't care or aren't going to notice. Better to live your life than to spend time worreying about quibbles.
Access is offline   Reply With Quote
Old 2007-04-10, 08:19   Link #9
TheFluff
Excessively jovial fellow
 
 
Join Date: Dec 2005
Location: ISDB-T
Age: 37
Quote:
Originally Posted by Unearthly View Post
The conclusions I got from the renderers were drawn from the Haali's Renderer forum thread on Doom 9. Here are the links to the relevant posts:
Haali's Renderer does TV->PC Scale conversion
Use VMR9 for full range (PC scale)

So you say Haali's just ports the levels through, but that seems opposite to what Haali himself posted unless a change was made since that post (which I do accept as a possibility).
Yes, you are correct and I was wrong in my previous post. It does indeed scale 16-235 to 0-255 (values outside 16-235 are saturated to 0 and 255 respectively), and so does the overlay (usually).

Quote:
Originally Posted by Unearthly View Post
In such a case, knowing what levels the fansub is encoded with is necessary to know how to play it back correctly (Whether using a FFDShow levels setting or changing renderer.)
You should probably assume that fansubs are using TV levels. TV broadcasts do, and it's generally valid to assume that the cappers or the fansub encoders didn't rescale (although doing saturation tweaks seems pretty common, and those DO put some values outside the TV levels by a small amount).
In any case, VMR9 generally isn't a good idea at all because of the above-mentioned bugs (yes, the hue shift to green is there in your screenshot).

Quote:
Originally Posted by Unearthly View Post
Whether or not you think that is important is up to you, but that is one of my questions. Is it important if the colors are right or wrong?
Unless you have a perfectly calibrated monitor, you probably shouldn't care all that much. If it looks really super-oversaturated, try clamping to TV range in ffdshow, I guess, or just use plain old desaturation. There are generally much worse encoding issues to worry about with fansubs.

Quote:
Originally Posted by Unearthly View Post
Here is the same shot from VMR9 Renderless. It is definitely sharper than the previous VMR9 shot.
http://img392.imageshack.us/img392/2...r9rlessej5.png
But still hue-shifted to green.
__________________
| ffmpegsource
17:43:13 <~deculture> Also, TheFluff, you are so fucking slowpoke.jpg that people think we dropped the DVD's.
17:43:16 <~deculture> nice job, fag!

01:04:41 < Plorkyeran> it was annoying to typeset so it should be annoying to read
TheFluff is offline   Reply With Quote
Old 2007-04-10, 09:21   Link #10
Navel
Senior Member
 
Join Date: Dec 2006
When Haali's renderer has on input YUY2, then it does perform TV -> PC levels conversion.

When Haali's renderer has on input RGB32, then it does no colorspace conversion at all.

Note: from Haali's posts on doom9.
Navel is offline   Reply With Quote
Old 2007-04-10, 10:17   Link #11
Unearthly
Member
 
 
Join Date: Oct 2006
Quote:
In any case, VMR9 generally isn't a good idea at all because of the above-mentioned bugs (yes, the hue shift to green is there in your screenshot).
Yes, I was able to see that more so with the second set of shots that had similar color levels.

Quote:
Unless you have a perfectly calibrated monitor, you probably shouldn't care all that much. If it looks really super-oversaturated, try clamping to TV range in ffdshow, I guess, or just use plain old desaturation. There are generally much worse encoding issues to worry about with fansubs.
Point taken. I do suppose it is kind of a nit picky issue rather than a real important one, sorry if I made it sound overblown.
Unearthly is offline   Reply With Quote
Old 2007-04-18, 11:49   Link #12
IMSabbel
Senior Member
 
Join Date: Nov 2003
Quote:
Originally Posted by kodachrome View Post
...can you seriously tell a difference between those two screenshots besides their filenames?
Are you BLIND?
Or are you just using a really crappy monitor?
There is a day and night difference between them.
IMSabbel is offline   Reply With Quote
Old 2007-04-18, 19:46   Link #13
Dnous
wut
 
Join Date: Nov 2004
My guess is the monitor. It doesn't even have to be a crap monitor. Just a tft monitor with an TN-Panel with standard settings might make the difference be tremendous or small, depending on the screen.
Dnous is offline   Reply With Quote
Old 2007-04-18, 22:18   Link #14
Schneizel
uwu
*Fansubber
 
 
Join Date: Dec 2005
Quote:
Originally Posted by IMSabbel View Post
Are you BLIND?
Or are you just using a really crappy monitor?
There is a day and night difference between them.
And again: Can you seriously tell a difference between those two screenshots besides their filenames?

EDIT: OH HEY, WHEN I OPEN THEM IN PHOTOSHOP AND CHANGE MY COLOR WORKSPACE, I CAN TOTALLY TELL A DIFFERENCE.
Schneizel is offline   Reply With Quote
Old 2007-04-19, 21:17   Link #15
checkers
Part 8
*IT Support
 
 
Join Date: Jul 2006
Location: Western Australia
Age: 35
Send a message via MSN to checkers
If I open both images in firefox tabs and swap between them really quickly, I can see a difference. I doubt I would when watching an episode normally. When you have the sort of greenish hue swing from deen or a similar filter in old a4e encodes and the like, that's very noticeable. This level isn't, at least for me :P
checkers is offline   Reply With Quote
Old 2007-05-03, 18:49   Link #16
RaistlinMajere
Now in MHD!
*Fansubber
 
 
Join Date: Dec 2003
Quote:
Originally Posted by IMSabbel View Post
There is a day and night difference between them.
Do you understand English? Because you sure don't seem to understand the meaning of what you said there.
RaistlinMajere is offline   Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 11:44.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
We use Silk.