Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
![]() |
#421 | Link |
Registered User
Join Date: Dec 2005
Posts: 26
|
Nothing in MPEG2, but in HD specs is Rec709 as only possible. Being it MPEG2, MPEG4, VC-1 or anything else, progressive or interlaced it must always use rec709.
That is what I'm talking about, it changes to Rec601, and this is the thing that causes wrong colors, because it is played as Rec709, like every HD video. |
![]() |
![]() |
![]() |
#422 | Link | ||
Guest
Join Date: Jan 2002
Posts: 21,901
|
Quote:
Quote:
![]() Last edited by Guest; 19th March 2007 at 19:42. |
||
![]() |
![]() |
![]() |
#424 | Link | |
Super Moderator
![]() Join Date: Nov 2001
Location: Netherlands
Posts: 6,371
|
Quote:
|
|
![]() |
![]() |
![]() |
#425 | Link |
Registered User
Join Date: May 2005
Posts: 236
|
Sorry to interrupt, but I thought that the colorspace used for the avs output should match the codec expectancy, and not related to some "resolution" specs ? I thought for instance that xvid decoders were expecting rec601 by default whatever the resolution (cf background information in colormatrix doc), same for x(h)264 decoders (no specific resolution, I am not encoding to any particular standard resolution), and CCE was expecting rec709 by default, am I completely wrong ?
|
![]() |
![]() |
![]() |
#426 | Link |
Registered User
Join Date: Dec 2005
Posts: 26
|
Yes, you are completly wrong. Encoder nor decoder doesn't expect anything. It just encodes/decodes YV12 picture. Conversion to RGB is done by graphic card. And it selects color matrix depending on resolution. (You can test that it depends on resolution by using resize&aspect in ffdshow. When you resample it to 1280x720 it starts using Rec720 matrix. I've just tried it. I'm not sure what exact resolution is minimal, but for 1280x720 it works)
It is not false, you can have examples which are in Rec601, but they still will be probably played as rec709. On PC they will definitely be played as Rec709. BTW I wonder where did you get that examples? Last edited by KillerZero; 19th March 2007 at 22:16. |
![]() |
![]() |
![]() |
#427 | Link | |
Super Moderator
![]() Join Date: Nov 2001
Location: Netherlands
Posts: 6,371
|
Quote:
I'm a bit confused. Let's talk about mpeg-2 and playback for example. Are you claiming that this colorimetry info in a mpeg-2 is never used upon display? Or does it depend on the player? I thought that not all graphic cards support YV12, who is doing the YV12->RGB conversion in that case? |
|
![]() |
![]() |
![]() |
#428 | Link |
Registered User
Join Date: Dec 2005
Posts: 26
|
If we are talking about playing MPEG2 with ffdshow then it is not used. I know it, because TV broadcast in Rec709 and it plays like Rec601 unless I use resize to 1280x960 in ffdshow. (I have Radeon 9600XT)
If YV12 is not supported by card (do you know any card which doesn't? I don't) ffdshow switches to supported colorspace closest to YV12. Last edited by KillerZero; 19th March 2007 at 23:33. |
![]() |
![]() |
![]() |
#429 | Link | ||
Registered User
Join Date: Dec 2006
Location: Heidelberg (DE), Kraków (PL)
Posts: 519
|
Quote:
Quote:
Different drivers? Or perhaps it affects certain codecs (although it shouldn't) only? Could you bring the matter to the ffdshow thread - think the guys there might be interested and will have more knowledge and experience than I do to reproduce and track the problem. cheers, HDBR77 PS. I've just linked the last few posts in the ffdshow try-outs thread.
__________________
"Only two things are infinite: the universe and human stupidity, and I'm not sure about the former."
Last edited by HeadBangeR77; 20th March 2007 at 00:40. |
||
![]() |
![]() |
![]() |
#430 | Link |
Registered User
Join Date: Dec 2005
Posts: 26
|
Try to use system default as output. I haven't tested VMR modes. And you have to compare paused video, not screnhots of course, because conversion is done by MPC for screenshots. Also, I have unchecked "let the application control video adjustments" in Catalyst control center video settings. And it is not problem, it should behave like this, as Rec601 is default for SD video and Rec709 for HD. I don't know if decoder can send colorimetry info to driver. If not, ffdshow would have to convert it.
Last edited by KillerZero; 20th March 2007 at 01:48. |
![]() |
![]() |
![]() |
#431 | Link | |||
Registered User
Join Date: Dec 2006
Location: Heidelberg (DE), Kraków (PL)
Posts: 519
|
Quote:
Quote:
![]() Quote:
For instance: if I made the previously discussed encode with ColorMatrix Rec.709=>Rec.601 conversion, and I would upsize it by playback on my notebook to 1280xauto, then it would be happily converted to Rec.709, and I would get hell of over-saturation, most probably. Btw. What ffdshow revision are you using?
__________________
"Only two things are infinite: the universe and human stupidity, and I'm not sure about the former."
|
|||
![]() |
![]() |
![]() |
#432 | Link |
Registered User
Join Date: Dec 2005
Posts: 26
|
I tried it and same thing in VMR7 windowed. And I tested it some more and it depends only on lines, so it has to be at least ????x720. This is rather bad, as reencodes with cropped blask bars will play wrong unless you add them back with ffdshow. I thought one of them seems wrong...
I'm using version from 2nd september 2006, I can't find revision number. (I use this older version because newer buids can't use HW deinterlacing, only weave and bob is allowed. At least few months ago it couldn't.) Last edited by KillerZero; 20th March 2007 at 02:24. |
![]() |
![]() |
![]() |
#433 | Link | ||
Registered User
Join Date: Dec 2006
Location: Heidelberg (DE), Kraków (PL)
Posts: 519
|
Quote:
Quote:
__________________
"Only two things are infinite: the universe and human stupidity, and I'm not sure about the former."
|
||
![]() |
![]() |
![]() |
#436 | Link |
Registered User
Join Date: May 2005
Posts: 236
|
@KillerZero
I don't understand.. Why bother putting colorimetry flags in the stream if nobody cares in the encoding or decoding process loop ? If it's resolution based only, do you know of a look-up table published somewhere to confirm this ? I find it hard to believe that it's standardized around the world |
![]() |
![]() |
![]() |
#437 | Link |
Registered User
Join Date: Dec 2005
Posts: 26
|
Sharro: where did you recorded it from?
Alain2: Decoder and decoder just takes raw data. Being it Rec601 or Rec709 encoding and decoding process is still the same. There is nothing to be changed and no reason to care which colorimetry it is. Colorimetry information is relevant only if you convert to RGB or back or if you do some color corrections. I don't know if it is possible to tell graphic card which colorimetry should be used? What table? I don't know, it's just based on tests I've done. My card uses Rec601 for SD and Rec709 for HD. It's possible that some HW players convert it, but I doubt it's widely used. 709 is standard for HDTV. It also requires slightly different RGB values, which probably all HDTV's use. Last edited by KillerZero; 21st March 2007 at 23:24. |
![]() |
![]() |
![]() |
#438 | Link |
Registered User
Join Date: May 2005
Posts: 236
|
Yes but the raw data are formatted to be decoded either rec601 or rec709 (or whatever) : your card renders differently at different resolution the same yv12 stream to the same rgb monitor, thus the raw data are supposed to be encoded taking into account the colorimetry convertion that will be applied when you watch it. So there is a reason to care about colorimetry I think, I am just not sure how now...
Also you refer only some specific standard SD / HD resolutions, but what about all the other non-standard resolutions ? I don't particularly pay attention to the resolution when I encode something, I choose whatever is the best compromise for resize aspect error/resolution/available bitrate as I don't plan to use hardware players.. |
![]() |
![]() |
![]() |
#439 | Link |
Angel of Night
![]() Join Date: Nov 2004
Location: Tangled in the silks
Posts: 9,562
|
If you rely on your graphics card for colorometry, you might as well wish on a falling star. They can't even get luma levels right consistently, there's no way they'll ever make an effort to work with colorometry correctly. That's why I'm hoping ffdshow's hq rgb output will be able to take that into account someday. If you want the speed of YUV output you're just going to have to live with flaky rendering and making up-front corrections.
|
![]() |
![]() |
![]() |
#440 | Link | ||
Registered User
Join Date: Dec 2005
Posts: 26
|
Alain2: I meant that there is no difference in encoding/decoding process. All can encoder do is to write given colorimetry info and decoder read it and give it to YV12/RGB convertor. That convertor is usually graphic card. Still noone answered my question if it is possible to tell card what colorimetry should be used.
It is dependent on number of lines, as long as it is 720 lines high or more, it uses Rec709. Quote:
Quote:
I don't know why should I use ffdshow's RGB conversion, if there is no difference from HW and it is much slower. +RGB output works correctly only to 960xsomething resolution. And as you say, ffdshow always use Rec601, so only way to play Rec709 is not using ffdshows RGB conversion. Last edited by KillerZero; 22nd March 2007 at 13:49. |
||
![]() |
![]() |
![]() |
Tags |
colormatrix |
Thread Tools | Search this Thread |
Display Modes | |
|
|