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. |
30th October 2024, 21:58 | #1 | Link |
German doom9/Gleitz SuMo
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 7,155
|
Apply ColorMatrix in SD/HD upscale?
I'm playing a bit with different methods to upscale SD sources from DVD Video to HD. Due to an unrelated discussion elsewhere I remembered that SD video material often uses Rec.601 colorimetry, whereas HD prefers Rec.709, but the behaviour of players may not be reliable when the encoder does not flag it explicitly.
In my current case, the DVD video in MPEG2 uses explicit flags: Code:
Color primaries : BT.601 PAL Transfer characteristics : BT.470 System B/G Matrix coefficients : BT.470 System B/G a) use an explicit colorimetry flag for x264 with Rec.601 colorimetry b) use ColorMatrix("Rec.601->Rec.709") but no encoder flag c) use ColorMatrix("Rec.601->Rec.709") and an explicit colorimetry flag for x264 with Rec.709 colorimetry d) something different |
30th October 2024, 22:45 | #2 | Link |
Broadcast Encoder
Join Date: Nov 2013
Location: Royal Borough of Kensington & Chelsea, UK
Posts: 3,102
|
I'd say "c", so convert to BT709 and flag it as such within x264 --colormatrix bt709 --transfer bt709 --colorprim bt709.
Unfortunately players are totally unreliable and although most often than not they default to BT709 anyway whenever they find anything HD / FULL HD, it's always better to explicitly flag a stream. |
5th November 2024, 20:00 | #9 | Link |
Registered User
Join Date: Mar 2011
Posts: 4,934
|
If the transfer function really is 470bg you might be better off with option D. Plus that way you can do it in 16 bit with less chance of color banding.
ConvertBits(16) z_ConvertFormat(colorspace_op="470bg:470bg:470bg:limited=>709:709:709:limited") ConvertBits(8, Dither=1) Compared to not converting the transfer function as I assume ColorMatrix wouldn't change it and I don't know if players wouldn't just assume 601 or 709. ConvertBits(16) z_ConvertFormat(colorspace_op="470bg:709:470bg:limited=>709:709:709:limited") ConvertBits(8, Dither=1) Last edited by hello_hello; 5th November 2024 at 20:05. |
8th November 2024, 12:00 | #11 | Link | |
Registered User
Join Date: Nov 2004
Location: Poland
Posts: 2,854
|
Quote:
Option "c" is the correct approach. What will happen in the wild is another story. Most players, TVs probably have hard coded rules based mainly on resolution and will assume "own" matrix anyway, but this doesn't matter. You should do correct conversion and flagging and this is option "c" (HD normally should be Rec.709). |
|
8th November 2024, 17:32 | #12 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 11,018
|
On YT (full movie),
https://www.youtube.com/watch?v=pxG90oMpCuM Apparently also available to buy or rent on YT. On a quick glance at linked offering and quick look at the buy option sample, the free ver$ is quite a bit better.
__________________
I sometimes post sober. StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace "Some infinities are bigger than other infinities", but how many of them are infinitely bigger ??? |
Thread Tools | Search this Thread |
Display Modes | |
|
|