Page 1 of 1

ChromaResample option for upConv

Posted: Wed May 02, 2012 12:38 pm
by Soulvomit
Could ChromaResample be an option when converting to RGB? I would like to use:

Code: Select all

MPEG2Source("1.d2v",upConv=2,chromaresample="point") 
Thank you.

Re: ChromaResample option for upConv

Posted: Wed May 02, 2012 1:11 pm
by admin
Sure, if you contribute the code for it. ;)

You haven't explained why you need that, so how can I give any priority to that?

Have you explored using Avisynth for the color space conversion?

Re: ChromaResample option for upConv

Posted: Mon May 07, 2012 8:38 pm
by Soulvomit
I request this because it preserves hard edges, meaning there won't be any blending between colors like you get converting with AviSynth, VirtualDub, and of course DGMPGDec currently. This is important for encoders that only work with RGB, where if you transcode video that has been converted using chromaresample="bicubic", the resulting video will have its color edges spreading and bleeding out, while with "point" it won't and will be identical to the source.

I already use the Helix YV12 decoder with progressive video for this purpose, however, I would like to work with interlaced video as well. AviSynth 2.6.0 can convert interlaced with "point", however, it currently shifts the chroma in the process. I've addressed it here but I'm not sure when it'll get fixed. It would be great to see this properly implemented to DGMPGDec in the meantime.

Re: ChromaResample option for upConv

Posted: Mon May 07, 2012 9:37 pm
by admin
I see. Thank you for the explanation. Let me think this over a while. It may be better to make a filter for Avisynth, rather than embed it in DGMPGDec.

Re: ChromaResample option for upConv

Posted: Tue May 08, 2012 4:43 pm
by Soulvomit
That would be even better. Thank you, Donald.

Re: ChromaResample option for upConv

Posted: Sat May 12, 2012 7:54 pm
by Soulvomit
I got a respond to my post in the Doom9 thread about this.

Code: Select all

ConvertToYV24(interlaced=true, chromaresample="point")
MergeChroma(PointResize(width, height, 0, 2))
ConvertToRGB32()
It doesn't always look right for editing depending on the material as certain areas are better off being upsampled progressively. Regardless, it is the RGB equivalent of interlaced YV12.

What do you think about AutoYUY2 with "point" RGB output?