Log in

View Full Version : YV12 problems


Crabba
3rd June 2003, 01:05
I have just recently started using AviSynth v2.5x for encoding, hoping to gain some speed and quality. I have also just started using WMV9 VCM instead of DivX/XviD and there happens to be a bug in the earlier versions of VirtualDub and in VirtualDubMod so that joblist queuing doesn't work with the WMV9 codec. However the latest VirtualDub v1.5.4 fixes this bug so I wanted to try using that one instead, even though I heard that the standard VirtualDub doesn't support YV12...

So I did some tests encoding, and I was able to encode a video using an Avs-file with AviSynth v2.5.2, VirtualDub v1.5.4 and WMV9 VCM. I then tried encoding the exact same joblist (by copying the .jobs file) in VirtualDubMod, but encoding time was basically identical :confused:.

So then I thought it might be a WMV9 issue that it does some internal color-conversions or something since I havn't seen WMV9 listed in the codecs supporting YV12 in the FAQ's, so I did the same test using DivX 5.05 instead. But there was no difference in encodingtime there either, just a few seconds.

So it seems to me that either VirDub 1.5.4 now works with YV12 encoding too, or YV12 encoding doesn't work for me at all, even when using VirDubMod. Or, I'm not getting any timesaving using YV12 for some reason?! :devil:

I have checked Info in VirDubMod and it says that FourCC is YV12. I've also tried putting a info() in the avs-file and then I also get YV12 in the frameinfo, both in standard VirDub and VirDubMod...

Now for the questions:

1. Does VirtualDub v1.5.4 support YV12 mode correctly? Would I be able to encode AviSynth v2.5 scripts using it otherwise?

2. Should I gain any speed and/or quality from using WMV9 in YV12 mode?

Could someone please tell me what could be wrong here?!

trbarry
3rd June 2003, 02:37
Maybe I don't recall correctly but I thought vdub also supported YV12. But you don't gain much speed advantage in either vdub or vdubmod unless you remember to specify fast recompress since it will otherwise convert everything to rgb first anyway.

And I believe that the WM9 codec still makes a round trip conversion to YUY2 for the moment, no matter what you specify.

- Tom

sh0dan
3rd June 2003, 08:21
Avery has been made aware of the issue, but I have not yet seen him fix it. Use vdubmod - it's much better anyway.

Crabba
3rd June 2003, 14:13
I always use fast recompress too, so that is not it...

But if VirDub still does not support YV12, why am I not getting any speedimprovement when using VirDubMod instead? It's really strange :confused:

Guest
3rd June 2003, 14:21
Post the full script that you claim is not experiencing a speedup with YV12 processing.

Crabba
3rd June 2003, 14:38
It is a fairly standard script, but sure here it is.

Thanks.

LoadPlugin("C:\Utils\GORDIA~1\mpeg2dec3.dll")
LoadPlugin("C:\Utils\GORDIA~1\decomb.dll")
mpeg2source("C:\DVD\Fawlty towers\Episode 01 - A touch of class\ep1.d2v")
FieldDeinterlace()
crop(12,6,684,562)
BicubicResize(576,432,0,0.5)

sh0dan
3rd June 2003, 15:28
"FieldDeinterlace()"

Donald is currently working on some new stuff, so YV12 support remains unoptimized in FD. This probably takes out most of the YV12 speed. I'm sure he will grant us a version faster than light within reasonable time. :)

Crabba
3rd June 2003, 18:23
Ok, that could have been an explanation for that so I have now done some more tests. I also uninstalled gknot and installed the latest Gordian rip-pack 0.28.3, that is not even up on the Doom9 newspage yet, so he must really be sick :eek: :)

I first did another longer test using FieldDeinterlace() but only got a 15 sec difference on a 40 minute encode. Then I did another test without FieldDeinterlace but still no speed difference encountered, just a few seconds again!? :devil:

This is the new avs-script I used:

LoadPlugin("C:\Utils\GORDIA~1\mpeg2dec3.dll")
mpeg2source("C:\DVD\Fawlty towers\Episode 01 - A touch of class\ep1.d2v")
crop(12,6,684,562)
BicubicResize(576,432,0,0.5)

Crabba
10th June 2003, 00:07
Well, I've done some more testing now and tried switching between the old AviSynth 2.07 & 2.52. When comparing them I got considerably slower encoding speeds using the 2.07 release (about 17% on the test-clip, which is worse than the 25-30% speed increase I've read in the YV12 FAQ but still a clear difference) so that should mean that the latest VirtualDub v1.5.4 release DOES indeed support YV12 colorspace encoding :eek: :confused:! If not it does lightning fast YUV->YV12 conversion in basically zero time which is hardly the case :rolleyes:

In any case YV12 encoding seems to work fine on my machine afterall then since I get a 17% speedup from 2.07 to 2.52, or are there other optimizations between these releases that could account for that difference :confused: