Log in

View Full Version : IVTC'ing only once with two-pass (or more!) encodings?


Testing
26th January 2003, 18:56
Hello! I'm new.

I've been playing around with Gordian Knot and it's "Inverse Telecine" function (Decomb) and doing two-pass encodings with Divx & Xvid etc., etc. I have issues with DVD2AVI's Force Film because I've found I'm kind of a perfectionist, i.e. I don't like even a few errant interlaced frames that Force Film tends to leave in a movie. Decomb seems to be the best solution, but even when I turn post prosessing off, it's relatively slow. I have an Athlon 1800 (I believe) and I get about 12fps even with Avisynth 2.5.

This is not bad in and of itself, and 2-pass encoding times are reasonable at this speed (I can finish a movie overnight, etc.) But with the new Divx 5.03 and its Nth Pass (TM!) encoding, I've found that 12FPS gets very old after three, four, five passes. Now, since IVTC essentially detects the interlaced frames (or whatever it does, I'm not too clear on this) it seems that it really only has to do this *once* per source, and it would be easy enough to memorize which frames are discarded so it wouldn't have to *re-analyze* in the second-pass, and in so doing slow it down considerably.

So, basically my question is this: is there any way at all that I can reliably IVTC (not using Force Film) the frames before I actually encode, so I only have to do it once rather than once for each pass?

Thanks in advance. Hopefully I didn't break any rules. The moderators scare me.

DJ Bobo
26th January 2003, 23:51
Well, as of today, there is no IVTC filter that can memorize things for further passes.
A solution would be to apply all filters once, encoding to an intermediate file, in the MJPEG format for example.
Then you take that MJPEG file and reencode it to DivX. The DivX encoding will get a lot faster.

A way to automate this, is to create a dummy AVI file of 5 seconds for example.
You load your avs in VirtualDub, set up the MJPEG compression, and save that as the dummy file, adding it of course to the job list.
Then you open the MJPEG file, set up the divx compression, and add as many passes as you want to the job list.

I havn't tested speed of this against the regular method, so don't blame me if it is slower :D

One problem is the limited AVI size. Can't seem to get it over 2GB on my win98, and I'm not sure if VD will load additional segments if I encode to segmented AVIs.

hakko504
27th January 2003, 10:10
Originally posted by DJ Bobo
Well, as of today, there is no IVTC filter that can memorize things for further passes.
People have asked neuron2 about this feature for decomb, but he has so far replied that it is not something he will make top priority, as he himself usually only does single-pass encodes. But you never know, it might come one day.

A solution would be to apply all filters once, encoding to an intermediate file, in the MJPEG format for example.
Then you take that MJPEG file and reencode it to DivX. The DivX encoding will get a lot faster.

A way to automate this, is to create a dummy AVI file of 5 seconds for example.
You load your avs in VirtualDub, set up the MJPEG compression, and save that as the dummy file, adding it of course to the job list.
Then you open the MJPEG file, set up the divx compression, and add as many passes as you want to the job list.

I havn't tested speed of this against the regular method, so don't blame me if it is slower :DIf you are doing multipass encoding in DivX5.03 you will gain speed, at least if you do enough passes...

One problem is the limited AVI size. Can't seem to get it over 2GB on my win98, and I'm not sure if VD will load additional segments if I encode to segmented AVIs. It will if you tell it to.

N_F
28th January 2003, 10:53
Originally posted by DJ Bobo
A solution would be to apply all filters once, encoding to an intermediate file, in the MJPEG format for example.
Then you take that MJPEG file and reencode it to DivX. The DivX encoding will get a lot faster.

A way to automate this, is to create a dummy AVI file of 5 seconds for example.
You load your avs in VirtualDub, set up the MJPEG compression, and save that as the dummy file, adding it of course to the job list.
Then you open the MJPEG file, set up the divx compression, and add as many passes as you want to the job list.

I havn't tested speed of this against the regular method, so don't blame me if it is slower :D


I did a test on this a few weeks ago, but I used the huffyuy codec. I've never used MJPEG so I don't if it works any different.

Anyway, I found that if your just doing a normal rip without any heavy filters (Convolution3d, decomb) you'll lose time. When you're using these filters you'll save some time, but not that much. The biggest problem is that a huffyuy version of a complete movie could easily take 10 GB, and probably up to 20+ GB.

Again, I don't know if MJPEG works differently (I'll have to look into that). Also as hakko says, with the new DivX 5.0.3 you should be able to save a considerable amount of time if you do several passes and use heavy filters.