Log in

View Full Version : Any Plans To Add ColorMatrix Support?


EddieTH
26th January 2005, 16:58
For the last couple of months I've been using the ColorMatrix filter (per this thread (http://forum.doom9.org/showthread.php?s=&threadid=82217)) to get correct colors for my encodes. This works great except that (if I understand correctly) ColorMatrix only works on progressive video, so unless the DVD has only progressive (or only interlaced) content I can't just use DVD-RB's filter editor to add it. It also means I have to know when film sources are encoded correctly and telecined or have a hard telecine (like my old Star Trek TOS discs) so I can separate the fields before using ColorMatrix. Now I can certainly keep doing things the way I am, but it would be nice if DVD-RB had an option to use the filter so it could make the decisions for me and create the AVS files correctly based on the information it's already evaluating for the colorspace conversion.

Alternately if the filter editor could be changed so that you could have 2 distinct sets of filters - 1 for progressive and 1 for interlaced - that would also take care of it. It would also be a more useful general purpose solution since it wouldn't be limited to working with a single filter.

robot1
26th January 2005, 18:18
RB-Opt allows to use different filters for every Vob-ID, so you could use colormatrix only for progressive contents.

EddieTH
26th January 2005, 18:27
That's actually how I do it now. I'd just like to be able to do it without using another program if possible.

jdobbs
26th January 2005, 20:13
What would you do for hybrid sources? There are a lot of them...

EddieTH
26th January 2005, 21:56
My reasoning could be based on an incorrect understanding of how DVD-RB works, but I was under the impression that when you have a hybrid title the segments that contain interlaced video wouldn't contain any progressive video and vice versa so video stream can be re-encoded to match the original. The same logic that determines whether interlaced=true is added could be used decide whether separating fields is required (or whether the interlaced filter chain would be inserted from my second suggestion). Obviously if it's possible for a single segment to contain both progressive and interlaced video that wouldn't work. The presence of that parameter is what I've been using to determine how certain filters should be applied with RB-Opt.

jdobbs
26th January 2005, 23:29
Segments can contain either or both. There are some titles that change from progressive to interlaced many times per minute, you could end up with hundreds of segments if they were separated in that way.

EddieTH
27th January 2005, 00:10
Okay I can understand that. I don't own any hybrid DVDs so I've never really examined one. After thinking about it more though I don't know that it would be that much different than the use of ConvertToYUY2 on those segments since I would think portions of those segments would be converted inaccurately for the same reason. I haven't tried using ColorMatrix on interlaced sources without separating the fields so I wouldn't call that a statement of fact (or even opinion really - more like speculation), so I can understand why you might think it wasn't worth adding. I can always keep doing it the way I have been. The ideal solution would be for the color to be handled correctly in the D2V file and AviSynth but I'm not going to complain about free pies ;)

Wilbert
28th January 2005, 13:01
For the last couple of months I've been using the ColorMatrix filter (per this thread) to get correct colors for my encodes. This works great except that (if I understand correctly) ColorMatrix only works on progressive video, so unless the DVD has only progressive (or only interlaced) content I can't just use DVD-RB's filter editor to add it.
Interlaced stuff: use SeparateFields.ColorMatrix.Weave. That should work i think.

Hybrid stuff: Have a look at the ConvertHybridToYUY2 function:

http://www.avisynth.org/FieldbasedVideo

You can use something similar for this. If IsCombed(threshold)=false then use ColorMatrix else use SeparateFields.ColorMatrix.Weave. Nb, IsCombed is an internal function of Decomb. But i never tried this, so you should check whether the results are good.

EddieTH
28th January 2005, 13:48
Originally posted by Wilbert
Interlaced stuff: use SeparateFields.ColorMatrix.Weave. That should work i think.

Hybrid stuff: Have a look at the ConvertHybridToYUY2 function:

http://www.avisynth.org/FieldbasedVideo

You can use something similar for this. If IsCombed(threshold)=false then use ColorMatrix else use SeparateFields.ColorMatrix.Weave. Nb, IsCombed is an internal function of Decomb. But i never tried this, so you should check whether the results are good.
I'll have to give this a try when I have a chance. Thanks.