Log in

View Full Version : Avidemux, which AVC Profiles?


Bear
21st February 2008, 03:01
I think avidemux doesn't allow you to select AVC Profiles and level.

If they don't allow you to select, so which AVC Profiles and level are they using as default?

Thanks a lot.

LoRd_MuldeR
21st February 2008, 03:34
Well, a "Profile" simply defines which features (CABAC, 8x8dct, etc.) are allowed and which are not.
So if you want your output to comply with a specific profile, simply disable all features that are forbidden by that profile.
There are no additional options needed for profile compliance, only the existing options need to be configured properly.
Nevertheless I agree that profile-specific "presets" could make your life easier.

"Levels" are a different topic! Level compliance cannot be achieved that easy. It may require additional encoder restrictions.
AFAIK there is a special option (--level) in x264, which might help to ensure level compliance.
But that options is not implemented in Avidemux yet. So maybe you want to file a feature request in the Avidemux forum.
Unfortunately the developers seem to have more important bugs to fix, before they'll put effort into "new" features...

To answer your questions:
If you encode AVC video in Avidemux, the Profile totally depends on your settings and the Level will be "unrestricted".

Bear
21st February 2008, 03:51
LoRd_MuldeR, thanks a lot for your information.

Actually, I want to encode some video to ipod. I know they got some preset for ipod but they are xvid only, not h264.

May be I need to make my own ipod h264 preset :-)

Thanks.

LoRd_MuldeR
21st February 2008, 03:56
A quick Google search returned that result:
Apple's iPhone and iPod Touch support H.264 Baseline Profile, Levels 2.1 and 3, at resolutions up to 480x320 or 640x480 and bitrates up to 1.5 Mbit/s and is capable of playing the YouTube video content.

"Baseline" Profile means harsh restrictions:
No CABAC, no B-Frames, no Interlaced and of course none of the "High Profile" features.

Not sure if Level 2.1/3 compliance can be achieved with Avidemux yet...

Bear
21st February 2008, 04:30
Thanks LoRd_MuldeR.

I can make a preset to work with Baseline Profile. The problem is I don't know the "level" that avidemux is using.

LoRd_MuldeR
21st February 2008, 04:48
I can make a preset to work with Baseline Profile. The problem is I don't know the "level" that avidemux is using.

Again: Although the x264 encoder seems to have an option to restrict the output to a specific level, that is not implemented in Avidemux yet.
Therefore Avidemux isn't using any level when encoding AVC video at the moment! The output will just be "unrestricted", I guess.

All you can do is: Disable all features that are forbidden in "Baseline" Profile and use a suitable resolution as well as framerate and bitrate...

Bear
21st February 2008, 05:17
Is unrestricted profile suport in Ipod?

Bear
21st February 2008, 05:21
Haha.... I think not, I just checked it.

LoRd_MuldeR
21st February 2008, 16:08
Is unrestricted profile suport in Ipod?
I said the Level might be unrestricted when encoding in Avidemux, but the Profile will totally depend on your encoder settings!
According to my previous quote, the iPod requires "Basline Profile" as well as "Level 3".

Also I now think Level compliance can be achieved simply by using the appropriate resolution, framerate and bitrate:
Levels specify "Max macroblocks per second", "Max frame size (macroblocks)" and "Max video bit rate (VCL)".
Not sure if the "--level" switch of x264 (which is not implemented in Avidemux yet!) is really needed for Level compliance...


// EDIT

According to Wiki, the following "resolution@framerate" settings should be the maximum for "Level 3" compliance:
352x480@61.4, 352x576@51.1, 720x480@30.0, 720x576@25.0

Also the "Max video bit rate (VCL) for Baseline Profile" at "Leve 3" should not exceed "10 Mbit/s".

Bear
22nd February 2008, 04:38
LoRd_MuldeR, thanks a lot for the information.

I just have a question in my mind, do you think the quality will be different for different profile and level (assume the bitrate is the same) ?

LoRd_MuldeR
22nd February 2008, 13:23
LoRd_MuldeR, thanks a lot for the information.

I just have a question in my mind, do you think the quality will be different for different profile and level (assume the bitrate is the same) ?

Well, if you encode at the same bitrate, but you have to disable certain features due to Profile restrictions, than the encoding efficiency will be decreased and the quality will suffer for sure - compared to an "unrestricted" encode with all features enabled. For example no CABAC in "Baseline" Profile is a harsh limitation, as CABAC saves ~10% bitrate for free (CABAC works 100% lossless). Also no B-Frames are a huge limitation. The "Main" Profile seems to be much more friendly, but there are still some "High" Profile features missing that I usually use (e.g. the 8x8dct and b-pyramid). So in short: I would not restrict my encode to any Profile/Level, unless I really need it. If your Hardware Player requires Profile/Level, there isn't much you can do about it. You'll have to accept the limitations...