moon1234
2nd April 2011, 13:37
I have a problem that I can't seem to get around. I have mini-dv footage from a camcorder that records in FULL (Well almost) range YUV. I have color data from 4-255. I would like to preserve this when going to h.264 instead of converting to "broadcast safe" range as I feel the color is less accurate when it is compressed.
I am using the free canopus DV codec which outputs full range YUY2. This is great. I process my video in Avisynth. Most times it is just yadif deinterlace and maybe a little cleanup for the VHS stuff.
I would then like to goto h.264. This requires a conversion to YV12. Here enters the problem. When using converttoyv12() the color range is scaled to the "broadcast safe" rec.601 range by default. I tried using converttoyv12(matrix="pc.601") but I get an error from AVIsynth telling me this only applies when coverting from RGB colorspace.
I REALLY DO NOT want to convert to RGB and then to YV12 just to maintain full range color information. Is this a bug in avisynth? Is there some easier way to fix this problem with converttoyv12() when NOT coming from RGB, but still having full range color?
I have been encoding to XVID for now since that codec will accept YUY2 full range and internally convert to YV12 while still maintaining full range color.
Is there an easy solution that I am missing?
I am using the free canopus DV codec which outputs full range YUY2. This is great. I process my video in Avisynth. Most times it is just yadif deinterlace and maybe a little cleanup for the VHS stuff.
I would then like to goto h.264. This requires a conversion to YV12. Here enters the problem. When using converttoyv12() the color range is scaled to the "broadcast safe" rec.601 range by default. I tried using converttoyv12(matrix="pc.601") but I get an error from AVIsynth telling me this only applies when coverting from RGB colorspace.
I REALLY DO NOT want to convert to RGB and then to YV12 just to maintain full range color information. Is this a bug in avisynth? Is there some easier way to fix this problem with converttoyv12() when NOT coming from RGB, but still having full range color?
I have been encoding to XVID for now since that codec will accept YUY2 full range and internally convert to YV12 while still maintaining full range color.
Is there an easy solution that I am missing?