View Full Version : Encoding takes too long
I've just encoded two hours dv home video to divx5 and it took me 13 hours! Is it normal at all ? I'm very appreciated if someone can tell me how to improve the speed (but don't tell me to buy a new computer :-) ).
video file: dv type 2 avi files loaded in .avs file with temporarysmoother filter applied and then bilinearresized to 640x480
virtualdub: version 1.4.10 running in highest priority, no video in or out preview enabled
divx codec: divx 5.01 professional, 1 pass, bitrate = 1619, GMC and B frame enabled
audio: disabled when encoding (will be encoded later all)
CPU: P III 800 Mhz
RAM: 512 MB, SDRAM 133 Hz
Mother board: I will
Harddisk: source HDD: 40 GB 7200 rpm, ATA 100 connected two Promise ide card, destination HDD: 13 Gb 5400 rpm, ATA 66 connected to onboard ide
OS: Ms windows 2000, service pack 2
jggimi
9th May 2002, 05:59
Temporal smoothing, aka noise reduction, is the culprit. If you use it, it will extend the elapsed time for your encoding jobs.
I use it, but sparingly...based on the original content.
theReal
9th May 2002, 05:59
Sounds normal, temporal smoother and bilinearresize in avisynth take quite some cpu power.
You could save time if you set VDub to fast recompress or normal recompress instead of full processing (if you haven't done so already). But then, you can't use filters in VDub anymore (and the Precise Bilinear Filter in VDub is better than bilinearresize in avisynth - also compresses much better than any other resizing filter).
btw. watch closely the distribution of cpu-power to the different processes. When you are assigning high priority to VDub, it might take 40% for encoding, but the avisynth process only gets 60% (because it's 'idle' by default) and a few percent are lost to the system idle thread. Setting VDub to idle as well distributes best amongst the two processes.
P.S.: Don't you deinterlace your video? I mean, of course it will take even longer, but I'd deinterlace and use two-pass encoding, otherwise it's not worth any effort at all.
theReal
9th May 2002, 06:04
Just read what jggimi said and I agree - you don't have to use temporalsmoother at all (which is btw. still A LOT faster than SpatialSoften!!). If you deinterlace well and use Precise Bilinear resize, your source will be compressible enough.
You could also use light pre-processing with Divx5 instead - this filter is a VERY fast spatial softener that works quite well.
I forgot to mention that I used GreedyHMA to deinterlace the video and then apply temporaral smoother, bilinear resize. All were done in the .avs file. Is there equivalent precise biliear filter in avisynth ?
I couldn't see avisynth process in the task manager and tried with different virtualdub priority, highest seemed to be faster. May be I will try again. I need to apply temporal smoother because my source is home video not dvd.
So I will try the following tonight
- Apply light pre-processing in divx5
- Set priority of virtualdub to iddle
- Use precise bilinear in virtualdub
Any more suggestions please ?
theReal
9th May 2002, 08:16
To view all the sub-processes (including avisynth) and change their priorities, you can use this tool:
http://www.iarsn.com/index.html#/download.html
Maybe changing VDub and Avisynth both to a higher priority instead of both to idle works even better.
Usually, DV home video is not that grainy, I have encoded different pieces at a 640 resolution with Divx 5 and b-frames - but I chose a bitrate of 2300, that makes a difference, I guess...
I think you can somehow call VDub filters in avisynth, but I have never done so. I tested the precise bilinear resize against avisynth bilinear and soft bicubic with a small piece of DV homevideo at 640x468 (no filters except smart deinterlace). At 100% quality, the avisynth bicubic was 53MB, the avisynth bilinear was 49MB, the VDub precise bilinear 45MB (and it looked better than the avisynth bilinear). Since then I only use VDub Precise bilinear when I need bilinear filtering for high compressibility.
Acaila
9th May 2002, 09:52
If you're using bilinear resize then you should instead switch to SimpleResize (here (http://forum.doom9.org/showthread.php?s=&threadid=14416)). It's much faster and doesn't blur like bilinear.
Although, in combination with a TempSmooth and GMC/B-frames it won't speed things up, because these other settings already cause a major slowdown.
vBulletin® v3.8.4, Copyright ©2000-2009, Jelsoft Enterprises Ltd.