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. |
18th March 2007, 22:25 | #401 | Link | |
Moderator
Join Date: Nov 2001
Location: Netherlands
Posts: 6,364
|
Quote:
|
|
18th March 2007, 22:34 | #403 | Link | |
Registered User
Join Date: Dec 2006
Location: Heidelberg (DE), Kraków (PL)
Posts: 519
|
Quote:
Now it's clear.
__________________
"Only two things are infinite: the universe and human stupidity, and I'm not sure about the former."
|
|
18th March 2007, 23:23 | #404 | Link | |
Moderator
Join Date: Nov 2001
Location: Netherlands
Posts: 6,364
|
Quote:
|
|
19th March 2007, 01:52 | #405 | Link |
Registered User
Join Date: Dec 2005
Posts: 26
|
Decoder doesn't assume anything. MPEG4 decoder just decodes MPEG4 to YV12. Conversion to RGB is done by graphic card, not by decoder. (except you force RGB24 output, if decoder supports it) So it is up to your graphic card and driver to select proper colorimetry. Decoder doesn't have anything to do with it. And at least Ati cards select correct colorimetry according to resolution. (Rec601 for SD, Rec709 for HD) I don't have nvidia card, so I can't test it but I think it will do it corectly too.
You are doing wrong when you are comparing screenshots from MPC, because MPC does conversion by itself when grabbing screenshots and does it wrong. You have to compare just paused video, not captured screens. BTW X264 has these settings, but I've never tested it and I'm not sure what exactly they will do. I think that it is better to leave it "undef": --colorprim <string> Specify color primaries ["undef"] - undef, bt709, bt470m, bt470bg smpte170m, smpte240m, film --transfer <string> Specify transfer characteristics ["undef"] - undef, bt709, bt470m, bt470bg, linear, log100, log316, smpte170m, smpte240m --colormatrix <string> Specify color matrix setting ["undef"] - undef, bt709, fcc, bt470bg smpte170m, smpte240m, GBR, YCgCo Last edited by KillerZero; 19th March 2007 at 02:24. |
19th March 2007, 09:30 | #406 | Link | ||
Registered User
Join Date: Dec 2006
Location: Heidelberg (DE), Kraków (PL)
Posts: 519
|
Quote:
Quote:
cheers, HDBR77
__________________
"Only two things are infinite: the universe and human stupidity, and I'm not sure about the former."
|
||
19th March 2007, 10:38 | #407 | Link |
Registered User
Join Date: Mar 2004
Posts: 59
|
I've just found some 'interesting' behaviour with a simple test on 4 different MPEG-2 clips. The problem with DGindex+ColorMatrix hints only seems to occur for me with HD MPEG-2; in all the other cases, the hints passed do as I expect with ColorMatrix. It does a Rec.709->Rec.601 on a Rec.709 Interlaced NTSC clip, but does not on a Rec.709 Progressive Film clip. On a SMPTE 170M Progressive Film clip, it also changes nothing. In those 3 cases, the DGindex shown frames match the output avs played back in MPC, with ColorMatrix(hints=true).
Where it does not match, is when you open a Rec.709 NTSC Interlaced Transport Stream. When you playback the TS in DGindex, and compare the frame colors to MPC playing back the same source frames, the colors match--but when you allow ColorMatrix to use DGindex hints, the colors are changed in the output. IMHO, this is improper--the HD Transport Stream, even though it is NTSC Video Type, should be left alone because HD is supposed to be Rec.709. When I let ColorMatrix change the colors to Rec.601, all the reds turn unnaturally orange, and this is what is happening when DGindex passes the hints as 'Rec.709' and 'NTSC Video Type'. So, the problem appears to be DGindex reporting hints to ColorMatrix that tells it to change the color on the Transport Streams, when it shouldn't. In a nutshell: DGindex internally is leaving a HD Transport Stream alone, as Rec.709, as you can see when you play it in DGindex (which is correct.) But as soon as you pass hints 'NTSC' video type to ColorMatrix, it goes and does a Rec.709->Rec.601 because it isn't differentiating between SDTV NTSC video and HDTV NTSC video. This must be wrong, because if you open a SDTV NTSC clip into DGindex and play it, it internally changes the color to Rec.601. I can't post more details or samples just yet as I must get some sleep--full work day tomorrow. Last edited by HanSolo00; 19th March 2007 at 11:05. Reason: clarification |
19th March 2007, 13:48 | #408 | Link | |
Registered User
Join Date: Dec 2005
Posts: 26
|
Quote:
You must not have set ffdshow to output RGB of course, you must have set it to output directly YV12. And I have set output to system default in MPC, but I don't think that VMR will change anything about that. |
|
19th March 2007, 13:57 | #409 | Link | ||
Registered User
Join Date: Dec 2006
Location: Heidelberg (DE), Kraków (PL)
Posts: 519
|
Quote:
Quote:
cheers, HDBR77
__________________
"Only two things are infinite: the universe and human stupidity, and I'm not sure about the former."
|
||
19th March 2007, 14:28 | #410 | Link | |
Registered User
Join Date: Dec 2005
Posts: 26
|
Quote:
I think that only problem HanSolo have is confusion caused by DGindex's TV/PC scale settings and this filter... For HD only Rec709 is used and everything expect Rec709 when playing HD video, so Colormatrix shouldn't be used. If you use it, colormatrix changes it to 601, but when playing it is handled as 709. So it is like if you would use colormatrix twice, and it of course causes orange faces. Last edited by KillerZero; 19th March 2007 at 15:00. |
|
19th March 2007, 14:44 | #411 | Link |
Registered User
Join Date: Dec 2006
Location: Heidelberg (DE), Kraków (PL)
Posts: 519
|
I've always been using fast recompress, was it Nandub ages ago, was it VDubMod or is it the latest VDub. Yet the application defaults to full processing mode when you open it, so I use it for previewing & taking screenshots (if necessary, e.g when asked by Wilbert, normally AVSP would suffice).
__________________
"Only two things are infinite: the universe and human stupidity, and I'm not sure about the former."
|
19th March 2007, 17:14 | #413 | Link | |
Registered User
Join Date: Mar 2004
Posts: 59
|
The problem I'm seeing is not Luma related, it's the fact that DGindex passes hints to ColorMatrix telling it to Rec.709->Rec.601 on HD MPEG-2 NTSC Transport Stream. Of course it is easy to simply exclude ColorMatrix from HD encoding altogether, but that sort of defeats the whole purpose as I understand it of passing color hints and determining any color adjustment for the user automatically.
To simplify: if Rec.709 HD NTSC Transport Stream were supposed to appear with Rec.601 color, why then does DGindex not do so internally/visually in playback, when it does do this for SD NTSC material? (of course it doesn't because this would be incorrect.) Quote:
Last edited by HanSolo00; 19th March 2007 at 18:02. Reason: simplification |
|
19th March 2007, 18:19 | #414 | Link | |||
Guest
Join Date: Jan 2002
Posts: 21,901
|
Quote:
Second, DGDecode does not "tell" ColorMatrix to do anything. It simply reports the colorimetry detected in the stream. That may sound like a fine point to you, but it determines where a fix for your claimed bug should be located. Quote:
Furthermore, there is no hint specifying "NTSC video" as you alluded to in an earlier post. It simply does not exist. You wrote: "this is what is happening when DGindex passes the hints as 'Rec.709' and 'NTSC Video Type'" There is a hint that reports the progressive_frame flag, but I don't know if ColorMatrix uses it. Quote:
Last edited by Guest; 19th March 2007 at 18:28. |
|||
19th March 2007, 18:27 | #415 | Link |
Registered User
Join Date: Dec 2005
Posts: 26
|
You are still missing fact that HD is played with Rec709 matrix, not with 601 matrix. Hints tell colormatrix only what colorspace is source, not to what colorspace it should convert. Colormatrix changes colors to 601, so it is obvoius that it will seem wrong when it will be played with rec709 matrix. Good solution would be to change Colormatrix to default to rec709 when resolution is HD. But best would be to not use Colormatrix for HD at all, as you won't find HD in any other colorspace than Rec709, so it is never needed to convert it in any way.
Last edited by KillerZero; 19th March 2007 at 18:34. |
19th March 2007, 18:40 | #416 | Link | |
Registered User
Join Date: Mar 2004
Posts: 59
|
Quote:
This is the solution that makes the most sense to me since a lot of encoders simply trust that ColorMatrix(hints=true) will produce the right result with all MPEG-2 sources. |
|
19th March 2007, 18:45 | #417 | Link | |
Guest
Join Date: Jan 2002
Posts: 21,901
|
Quote:
If ColorMatrix is keying off the progressive hint, I'd like to know why. Wilbert should explain whether it uses it and why. I do know that it is not uncommon for streams to set the progressive_frame flag incorrectly. |
|
19th March 2007, 18:55 | #418 | Link |
Guest
Join Date: Jan 2002
Posts: 21,901
|
I just looked at the source code of ColorMatrix and it does not use the progressive hint. If you can point me to your stream that has a "problem" I will look at it and tell you exactly why the 709->601 conversion is being triggered (if in fact it is being triggered).
So, the ball is in your court to provide a sample stream. Last edited by Guest; 19th March 2007 at 19:01. |
19th March 2007, 19:00 | #419 | Link |
Registered User
Join Date: Dec 2005
Posts: 26
|
What are you talking about? Yes you can have intelaced HD, but what it have to do with fact that HD always use Rec709 colors and when you play anything with HD resolution (even in PC) it will be played back with Rec709 matrix? Colorimetry and interlacing are two completly separate things.
Last edited by KillerZero; 19th March 2007 at 19:05. |
19th March 2007, 19:13 | #420 | Link |
Guest
Join Date: Jan 2002
Posts: 21,901
|
There is nothing in the MPEG2 spec that says an HD stream must use 709. That is my point. The reference to interlacing was due to Han's claims.
The conversion is being triggered simply because the stream reports 709 and ColorMatrix by default does 709->601 conversion. If in practice HD streams always use 709, then I suppose it might make sense to change the default mode of ColorMatrix. I don't care about that. I see a potential for just a different form of user confusion, though. I got involved only because people started saying DGMPGDec is doing something wrong and needs a fix. Carry on, I'm outta here. |
Tags |
colormatrix |
Thread Tools | Search this Thread |
Display Modes | |
|
|