Log in

View Full Version : Complaining about YUY2 input


frubsen
27th June 2012, 19:03
Hi all,

for the past number of years I have always done my DV avi to MPEG conversons in CCE SP2.

This is the script I use

LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\MPEG2Dec3.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\Convolution3D.dll")
directshowsource("1991-edited.avi")
ReInterpolate411()
SeparateFields()
odd=SelectOdd.Convolution3D(1, 6, 10, 6, 8, 2.8, 0)
evn=SelectEven.Convolution3D(1, 6, 10, 6, 8, 2.8, 0)
Interleave(evn,odd)
Weave()
DoubleWeave.SelectOdd()

Now I've never had an issue with this before, but now all of a sudden, CCE is complaining about it not being a YUY2 input. I've never had to have ConvertToYUY2() in my script before. Plus even when I put it in, it doesn't work. The program just crashes.

I took the script straight off the doom9 guide site and it's always worked in the past, not sure what has changed. Running Avisynth 2.6, tried with the 2.5.8 dll and no luck.

What am I doing wrong?
Thanks

frubsen
27th June 2012, 21:24
ok CCE doesn't crash when i put ConverttoYUY2() as the last line of the avs file. It still says Reinterpolate and Convolution3D require a YUY2 input.

ARGH!!!!

TheSkiller
27th June 2012, 22:55
Well, all I can say is that any version of CCE always wanted YUY2 input, it has always been like that. If you feed it with YV12 there will a conversion to YUY2 *somewhere*. The question is, where. Maybe that's where the problem is coming from. In any case, it is always better to serve YUY2 to CCE in the first place because like that you know where and how it is happening.

By the way, what do you use to decode your DV footage? Because of ReInterpolate411 I assume you're dealing with NTSC DV footage. Depending on the Codec you use to decode DV the Reinterpolate filter may not be needed or even harmful.

frubsen
27th June 2012, 23:58
Well, all I can say is that any version of CCE always wanted YUY2 input, it has always been like that. If you feed it with YV12 there will a conversion to YUY2 *somewhere*. The question is, where. Maybe that's where the problem is coming from. In any case, it is always better to serve YUY2 to CCE in the first place because like that you know where and how it is happening.

By the way, what do you use to decode your DV footage? Because of ReInterpolate411 I assume you're dealing with NTSC DV footage. Depending on the Codec you use to decode DV the Reinterpolate filter may not be needed or even harmful.

I took out Reinterpolate(), using the cedocida dv codec.

Now it seems to work when i put in converttoyuy2(interlace=true) just before convolution3d.

I just still don't understand why there was an issue before. I've encoded about 50 tapes and have saved avs scripts without any of them needing the converttoyuy2() line.

Wilbert
30th June 2012, 21:33
Install huffyuv for example (it will do the conversion to YUY2 for you).

manolito
30th June 2012, 21:40
Install huffyuv for example (it will do the conversion to YUY2 for you).
Are you sure?
IIRC I always had to install either DivX / XviD or the Helix YUY2 codec for the automatic conversion to YUY2.


Cheers
manolito

Wilbert
1st July 2012, 16:33
Are you sure?
IIRC I always had to install either DivX / XviD or the Helix YUY2 codec for the automatic conversion to YUY2.
Yes, i think you are correct.

frubsen
2nd July 2012, 02:36
So you're saying if I have Xvid installed I shoulnt have to put ConvertToYUY2(interlaced=true) in the avs script? How does having XviD installed affect this because I'm using a DV AVI file?

I do have Xvid installed.

TheSkiller
2nd July 2012, 09:03
Then, the only difference would be the YV12->YUY2 conversion is carried out by Xvid automatically if you feed CCE with a YV12 script.
There is no real benefit from this however, actually there is even the risk of screwing up the chroma for interlaced encodes if you don't do it in AviSynth.

You may want to have a look at this post (http://forum.doom9.org/showthread.php?p=1576553#post1576553) by me explaining how to feed YUY2 to CCE without introducing additional chroma blur from the YUY2 conversion.

czerro
21st July 2012, 11:56
Keep your avs file essentially the same.

Insert ConverttoYUY2 as the last command at the end of your script.

Encode to Lagarith (YUY2 colorspace) in virtualdub.

Use this file as the base in CCE.

This will make cut your encoding time in CCE down a lot and you will probably see a 30 percent increase in overall encoding time. It's always best to perform all your operations ONCE and encode them to a single pass lossless format. Lagarith has a specific YUY2 mode, which makes it perfect for this application. Now your two pass encode in CCE will go much quicker, and you can see EXACTLY what the input is in the lossless LAGS file, and EXACTLY what the output is from CCE. It makes it much easier to troubleshoot problems such as scripting errors, compatability errors between the source and the encoder, issues with the configuration of your mpeg-2 encoder, or just downright encoder errors/glitches/weirdness.

The above simple operation should solve your issues though.