PDA

View Full Version : Speed Diff between 2.05 and 2.06


MrZebra
03-06-2007, 06:26 AM
Encoding a 2 hour movie with 0.91 in 320x240/176 @ 768kbps with 2-Pass H264 used to take about 3 hours (AMD 64 3000+ 1GB of RAM).

When I upgraded to 2.05, using 640x480/352 @ 768kbps with 2-Pass H264 now takes about 6 and half hours for a 2 hour movie. Considering the higher quality, I'm fine with that.

Using 2.06, same settings, I'm currently converting a 2 hour film and after 8 and half hours, it's only 30% into the 2nd pass.

Is there a reason for this taking more time? Does 2.06 give even better quality than 2.05 that would justify taking what I estimate will be 12 hours to convert?

Red Kawa
03-06-2007, 08:49 AM
The speed difference between 0.91 and 2.x can be attributed to the fact that you are creating VGA (640x480) videos and because all the default profiles use advanced video codec features which improve quality but require more encoding time.

We didn't make any changes to the way things are encoded between 2.05 and 2.06 so there should be no difference between encoding times in the two versions.

Please keep in mind that the type of movie can actually impact the encoding time as well. A 2 hour chick flick (like The Last Kiss) will probably take less time to convert than a 2 hour action movie (like The Matrix).

MrZebra
03-06-2007, 05:28 PM
The speed difference between 0.91 and 2.x can be attributed to the fact that you are creating VGA (640x480) videos and because all the default profiles use advanced video codec features which improve quality but require more encoding time.

We didn't make any changes to the way things are encoded between 2.05 and 2.06 so there should be no difference between encoding times in the two versions.

Please keep in mind that the type of movie can actually impact the encoding time as well. A 2 hour chick flick (like The Last Kiss) will probably take less time to convert than a 2 hour action movie (like The Matrix).

Ok, well, even on my initial test (Using the 5 mins Scrat short on the Ice Age DVD) I did notice version 2.06 took significantly longer. I had the console enable because I was checking for that volume parameter. I also noticed through the console that there were a lot more frame= lines printed (once every .2s instead of once every .6 or ,7 sec. on v2.05.

Otherwise, my only issue with 2.05 was the volume bug which can be worked around by multiplying by 2.56 manually.

MrZebra
03-06-2007, 07:48 PM
Ok, there's more....

Now, assuming that none of the changes between 2.05 and 2.06 would make encoding twice as long, maybe I did something different when setting up my profiles.

I looked at my profile and one of the option in the video setting was called the Level which could either be set to Level 1.3 or Level 3.

So I encoded the Scrat animation using both settings and noticed that when set to Level 3, it takes about 6x the length of the film to encode, but when set to Level 1.3 it takes about 3x. When playing the files in QT, I did not notice any difference in quality.

So that would be it, so to anyone having encoding speed problems, make sure you use Level 1.3

Now, I'd like to know, what does that Level 1.3 or Level 3 mean? Or more specifically, is the improvement in File Size or Quality (If any) worth taking twice the time to encode?

migrena
03-06-2007, 09:16 PM
you can find h264 specs for each level here
http://forum.doom9.org/showthread.php?p=678891
ok now in the human language - this are only maximum allowed specs, so you can write into file flag that you are using level 3 and use any specs allowed for level 3 or any lower level, so in some sense used options are independent from information that is stored in mp4 file

as for videora this setting does not apply to options used for encoding, when i change level setting the only difference in profiles is in vlevel="Level x.x"setting which is only text that appears in combobox while there is no difference in -level xx setting which is used as option for encoding
i believe this is a bug, right?

Red Kawa
03-07-2007, 08:41 AM
Basically all that info can be summed up as:
Level 1.3 == 320x240 Max 4:3 Resolution
Level 3 == 640x480

QVGA encodes will definitely be faster than VGA encodes so this pretty much explains why you think it is encoding slower.

migrena:
Right now that setting is only used for the AutoResize function and does not properly change the -level command line flag. For now we've just been putting the flag directly in the flags section. This will be changed in the next release.

MrZebra
03-07-2007, 07:49 PM
Basically all that info can be summed up as:
Level 1.3 == 320x240 Max 4:3 Resolution
Level 3 == 640x480

QVGA encodes will definitely be faster than VGA encodes so this pretty much explains why you think it is encoding slower.


I set my profile for 640x352 on both tests (With 1.3 and 3) and the resulting video was in 640x352 in both cases I did not get an error message saying the res I chose was too high for the level I chose nor did the resulting file end up in 320x176 by force.

A/B Comparison with both vids (The 1.3 version and 3 version) side by side (Opened 2 Quicktime windows) looked exactly the same even though the encoding took twice as long.

I know that encoding to 320x176 will be even quicker, about 1.5x the length of the film (With 0.91 or using a 320x176 profile in 2.0x) vs 3.5x the length for a 640x352 Level 1.3 vx 7+x times the length with 640x352 Level 3.

migrena
03-07-2007, 08:55 PM
I set my profile for 640x352 on both tests (With 1.3 and 3) and the resulting video was in 640x352 in both cases I did not get an error message saying the res I chose was too high for the level I chose nor did the resulting file end up in 320x176 by force..because there is no need for such message
you can use level 1.3 or level 3.0 encoding options for any resolution up to 640x480, the level flag that is written into mp4 file is separate from options that you actually used for encoding, but to keep everything correct you have to set this flag to at least the level you in fact used

think of "320x240 1.3" as pre-1.2.0 firmware profile, with 1.2.0 firmware update apple unlocked some encoding options that are allowed for ipods, higher resolution, higher bitrate, some other options...

Right now that setting is only used for the AutoResize function and does not properly change the -level command line flag. For now we've just been putting the flag directly in the flags section. This will be changed in the next release.why use it for autoresize? there is no connection between resolution and level limits, unless you still have ipod with 1.1.x firmware
anyway i see that changeing this in settings wouldnt affect speed in any way right?

MrZebra
03-07-2007, 09:12 PM
Ok, I just uploaded a few movies encoded with v2.06 to my iPod.... (Including the 2 instances of Scrat - Gone Nutty with each level settings)... And none of them synced to my iPod.

The files I did in 2.05 synced fine.

They all play fine in QuickTime... iTunes, let me check... All ok in iTunes, they just won't sync to my iPod.

One thing odd in iTunes, when you look at the summary tab in Get Info on a file done by Videora 2.06 using the 1.3 Level option you see Encoded With: Lavf51.10.0 added in but not with Level 3 nor with the 2.05 files.

What could cause this problem?