View Full Version : SOLVED: YV12 colour distortion on bottom half of video
mjr4077au
24th December 2015, 04:06
Hi Guys,
Firstly, Merry Christmas to all!
I've got some home videos I've ripped from VHS into Lagarith YUY2 via VirtualDub, all good. I then process this with QTGMC 3.33 using the latest plugins as available on avisynth.nl.
This is my current script as follows:
AVISource("D:\Data\Misc\Captures\roadtrains.avi", audio=false).AssumeFPS(25,1).AssumeTFF()
ConvertToYV16(Interlaced=Yes)
QTGMC(Preset="Placebo", TR2=1, SubPel=4, SourceMatch=3, Lossless=2, MatchPreset="Placebo", MatchPreset2="Placebo", NoisePreset="Slower", FPSDivisor=2)
I convert initially to YV16 as I found I got a speed improvement by using RgTools instead of the older RemoveGrain tools from 2005, however I lost Interleaved2Planar because of this. Nevertheless, this has been working great as I was doing some high bitrate encodes via x264 and kept the colorspace as YV16 during the encode.
Currently, I'm trying to put these onto DVD. If I encode this with hcenc and let it downgrade the colorspace, or if I put "ConvertToYV12()" at the end of my script, the lower half of my video gets a lot of color distortion.
I trimmed 250 frames of footage and stuck it up on YouTube, it's quite apparent: https://youtu.be/k0K7z40OyuQ
So... what I am doing wrong? :)
Cheers,
Mitch.
Reel.Deel
24th December 2015, 04:33
I convert initially to YV16 as I found I got a speed improvement by using RgTools instead of the older RemoveGrain tools from 2005, however I lost Interleaved2Planar because of this.
Hmm, this doesn't sound right. For QTGMC to work natively with YV16 it needs to be modified internally. Until then input must be YV12 or YUY2 for it to work correctly (with RgTools only YV12). Try ConvertToYV12(interlaced=true) before QTGMC. If you insist in processing in YUY2 then you must use the original plugins. Also if you care about speed then get rid of all the placebo settings in QTGMC, for a VHS source I highly doubt is needed.
mjr4077au
24th December 2015, 05:01
Hmm, this doesn't sound right. For QTGMC to work natively with YV16 it needs to be modified internally. Until then input must be YV12 or YUY2 for it to work correctly (with RgTools only YV12). Try ConvertToYV12(interlaced=true) before QTGMC. If you insist in processing in YUY2 then you must use the original plugins. Also if you care about speed then get rid of all the placebo settings in QTGMC, for a VHS source I highly doubt is needed.
Thanks for your quick reply :). Indeed setting the colorspace prior to QTGMC works quite well, not sure why I didn't try that earlier.
YV16 has been working for me with QTGMC using the latest plugins, ie there is no AviSynth errors occurring. Whether it's doing the best job or not in YV16 is a different story. What mods are needed for it to do YV16?
I'm only caring about speed now because with rain and bad weather, I've had three power failures during encodes so I've been a bit set back. It's what you get for holding onto family tapes for four months but only starting ripping mid December :P
raffriff42
24th December 2015, 20:32
Now that we can see the attachments, let's look at Y, U and V separately:
https://www.dropbox.com/s/5k60jgcbz4717ab/doom9%20t%3D172998%2002-02.jpg?raw=1
https://www.dropbox.com/s/aiiiv005u55gd1d/doom9%20t%3D172998%2003-02.jpg?raw=1
Looks to me like the U and V channels are split in the middle. Some kind of VCR head switching problem, (edit) or something else? Deinterlacing the chroma incorrectly? You know, QTGMC (http://avisynth.nl/index.php/QTGMC)supports YV12 and YUY2 only, not YV16 - could that be the problem?
mjr4077au
24th December 2015, 22:43
Thanks to both raffriff42 and Reel.Deel, even though with latest plugins there's no complaint about YV16 footage, QTGMC does not process it properly. I'm using ConvertToVY12(interlaced=true) for now, which is working as expected. I've got to re-rip my footage as the colour issue is apparent, but when I was sample testing, I didn't notice it :(
The reason I was trying to keep 4:2:2 was to not downgrade the colorspace, but I think downgrading it to 4:2:0 is fine as it's required for DVD and BD players, and systematically it's probably better than all the Interleaved2Planar and Planar2Interleaved hacks it does with RemoveGrain and YUY2 footage.
Thanks again, guys. I appreciate everyone's help so close to Christmas :)
Music Fan
25th December 2015, 15:59
Why do you want to de-interlace as your goal is to put it on dvd not changing framerate and resolution ?
And don't forget to crop and addborders to replace borders and get real black borders, especially for the bottom part.
mjr4077au
10th January 2016, 08:47
Why do you want to de-interlace as your goal is to put it on dvd not changing framerate and resolution ?
And don't forget to crop and addborders to replace borders and get real black borders, especially for the bottom part.
Hi Music Fan,
Sorry, I've been on holidays until yesterday.
The movie will be played on LCD TVs, not on CRT. I'm also saving as 50fps lossless as a master for viewing on PC and for a 720p50 Blu-ray version as well.
Regarding the borders, this was just a basic sample script to highlight the issue with nothing other than QTGMC :).
Cheers,
Mitch.
Music Fan
10th January 2016, 11:04
Ok.
The movie will be played on LCD TVs, not on CRT.
That's not a problem, your player or your tv will de-interlace.
Anyway, as you will make a 50p version, you can maybe keep also an interlaced version for dvd-video.
TheSkiller
10th January 2016, 14:54
The movie will be played on LCD TVs, not on CRT.That doesn't matter at all. Since DVD does not support 50p you are pretty much forced to use 25i.
For the DVD version you can/should either re-interlace your 50p master and encode it at 25i which will keep the original smoothness of motion, or you can take the non-deinterlaced capture and skip the deinterlacing.
Yes, you can just drop every other frame and then encode it at 25p, but that is usually a big no-go because half the motion is gone.
mjr4077au
11th January 2016, 00:47
Thanks, guys. :thanks:
I have the raw capture in Lagarith so I can pipe it into an avs with some cropping, no deinterlacing, then input that into HC en. :)
The 720p50 stuff looks quite good also, considering the source I'm using.
A lot of this as well is all about tinkering me for. I'm a tinkerer by nature and wasting hours tuning things with AviSynth plugins and filters and seeing the results is quite fun to me! :D. While I've got a deep appreciation for all the options devs provide in their plugins, I'm learning less is more, particular with QTGMC. This code below is giving me unbelievably good results on my sources. All the source matching made the result worse in my eyes.
QTGMC(Preset="Placebo", TR2=2, EdiMode="EEDI3+NNEDI3", NoisePreset="Slower", ChromaNoise=True)
Not sure the best way to mark a thread as solved but I just edited the first page with it. I hate threads that aren't marked as solved, makes it harder for the next person with the same issue
Cheers,
Mitch
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.