Log in

View Full Version : Divx 5 enc


bullfrog
4th February 2003, 19:05
I have tested the magnifies Jonny's tool DivX 5 enc 1.11 for DivX 5.03 and I have some questions:

1) Are not needed the profiles of codec DivX 5.03?

2) What is the AVI Overhead and why it is ignored in test.comp?
(I want mux audio in MP3 VBR with DivX in AVI)


Thanks.

jonny
4th February 2003, 20:22
1)
When you encode, divx5enc disable the divx 5.0.3 profiles, so you are able to set all the options you want.

2)
Frames encoded with divx take some space. When we put those frames into an Avi container, the avi container need some extra space to store the frames in his structures.
This extra spece is the avi overhead.
You can easy look at this overhead in the GKnot's "bitrate" tab.
(for example: if your movie have 200000 frames, the avi overhead is something like 4788KB)
GKnot take care of mp3 overhead too, so all you need is to put the bitrate GKnot give you in divx5enc.

I don't take care of avi overhead in both target & predicted size because i think it's better to compare the only "pure" video size in the comp.test calculations (it's my opinion, anyway, taking into account of the avi overhead doesn't change the final value too much).

Cheers
jonny

bullfrog
4th February 2003, 23:15
If we did not use the profiles...
we have "DivX Certified" products that they can be reproduced by the players hardware?
We have Video Verifier Buffer (VBV) model?

LeonMcNichol
5th February 2003, 03:53
The templates they give you in the codec are just to show what is allowed. If you want to make sure things are certified, just write down what the templates are.

*** Handheld Profile ***
This profile is intended to enable the decoding of DivX video content at bitrates and resolutions appropriate for small handheld devices such as mobile phones and digital watches.
The detailed requirements are:

Recommended max resolution: 176 x 144 @ 15 fps
Maximum MB per second : 1485
Maximum average bitrate : 128kbps
B Frames : Not allowed
Interlace : Not allowed

*** Portable Profile ***
The portable profile will enable high-quality DivX content for portable video devices, including video-enabled MP3 players and small video playback devices such as PDA.
The detailed requirements are:

Recommended max resolution: 352 x 240 @ 30 fps, 352 x 288 @ 25 fps
Maximum MB per second : 9900
Maximum average bitrate : 768kbps
B Frames : Allowed
Interlace : Not allowed

*** Home Theater Profile ***
The specifications for this profile will ensure that DivX-certified home theater devices such as DVD players, set-top boxes, and gaming consoles, can play back all versions of high-quality DivX content.
The detailed requirements are:

Recommended max resolution: 720 x 480 @ 30 fps, 720 x 576 @ 25 fps
Maximum MB per second : 40500
Maximum average bitrate : 4000kbps
B Frames : Allowed
Interlace : Allowed

*** Hi-Definition Profile ***
The HD profile is intended for any hardware device that can playback high-definition DivX content.
The detailed requirements are:

Recommended max resolution: 1280 x 720 @ 30 fps
Maximum MB per second : 108000
Maximum average bitrate : 8000kbps
B Frames : Allowed
Interlace : Allowed

Then just keep the settings in the encoder within the alloted specs. Such as GMC and QPel off in Home Theater Profile. (Though, with divx5.0.3, I'd turn off B-Frames too. ;) Crap!)

jonny
5th February 2003, 09:06
We have Video Verifier Buffer (VBV) model?

The best way to verify how i set parameters is this:
1-Run an encode
2-Abort it in VDubMod
3-Go to VDubMod, open the DivX 5.0.3 control panel and the settings used for the encode will show up (anyway, for vbv i stay with the default values)

bullfrog
5th February 2003, 10:05
Thanks Jonny. I have another questions:

1) What is SelectEvery? (Gknot uses SelectRangeEvery)
2) How I can use mode YV12 in Divx 5 Enc 1.11?
3) The DivX encoded with DivX 5 Enc 1.11 are "Certified DivX"?

hakko504
5th February 2003, 10:13
SelectEvery (http://www.avisynth.org/index.php?page=SelectEvery) and SelectRangeEvery (http://www.avisynth.org/index.php?page=SelectRangeEvery) are explained in detail at AviSynth.org (http://www.avisynth.org)

jonny
5th February 2003, 10:22
1) What is SelectEvery? (Gknot uses SelectRangeEvery)

DivX5Enc use SelectRangeEvery too if you don't check "SelectEvery".
In avisynth 2.07 SelectRangeEvery is not included in the core (you must include mpeg2dec.dll to use this function)
With SelectEvery you can do similar things, so it's useful if you are using avisynth 2.07 and you don't need to include mpeg2dec.dll (for example in video captures)


2) How I can use mode YV12 in Divx 5 Enc 1.11?

Reading this: http://forum.doom9.org/showthread.php?s=&threadid=37276
:)


3) The DivX encoded with DivX 5 Enc 1.11 are "Certified DivX"?

Like LeonMcNichol sayd, you should take care manually about the restriction of each profile.

bullfrog
5th February 2003, 12:20
In the avisynth.org:


SelectEvery(clip, 2, 0) # identical to SelectEven(clip)
SelectEvery(clip, 2, 1) # identical to SelectOdd(clip)
SelectEvery(clip, 10, 3, 6, 7) # select frames 3, 6, 7, 13, 16, 17, 23, 26, 27, ... from source clip
SelectEvery(clip, 9) # select frames 0, 9, 18, 27, ... (second argument of 0 is assumed)


What is your implementation in DivX 5 Enc. 1.11?


Thanks.

jonny
5th February 2003, 12:27
SelectEvery(280,0,1,2,3,4,5,6,7,8,9,10,11,12,13)

For a 5% comp.test and snipsize=14

bullfrog
5th February 2003, 12:34
And for the mode YV12, I believe that only I need:

Avisynth 2.5 + mpeg2dec3 yv12 + VirtualdubMod 1.4.13.1...

It's true? I do not need to configure nothing in DivX 5 Enc 1.11?

Thanks again.

jonny
5th February 2003, 12:42
True.
The only thing you need is install the new avisynth and make the changes in your .avs script.
(and, of course use the VDubMod version you are already using)

bullfrog
5th February 2003, 19:19
Originally posted by jonny
The best way to verify how i set parameters is this:
1-Run an encode
2-Abort it in VDubMod
3-Go to VDubMod, open the DivX 5.0.3 control panel and the settings used for the encode will show up (anyway, for vbv i stay with the default values)

I have done it and in the CLI of VirtualdubMod it appears the parameter profile 0 when I use DivX5 Enc, instead of profile 3 when I use VirtualdudMod directly with profile "Home Theather".

With DivX5 Enc:

-bvn1 1200 -key 250 -log "C:\SNOW_WHITE\VIDEO_TS\blanca_divx.log" -w -mv "C:\SNOW_WHITE\VIDEO_TS\blanca_mvinfo.bin" -p -sc 50 -pq 5 -profile 0

With VirtualdubMod (Profile Home Theater actived):

-bvn1 1200 -key 250 -log "C:\SNOW_WHITE\VIDEO_TS\blanca_divx.log" -w -mv "C:\SNOW_WHITE\VIDEO_TS\blanca_mvinfo.bin" -p -sc 50 -pq 5 -profile 3

What makes this parameter profile?

I am scared of which the DivX done without profiles with DivX5 Enc are not certified for the players hardware of the future...


Thanks.

jonny
5th February 2003, 22:00
Profiles only hides you some options and give you some restrictions taking into account bitrate, resolution, fps.

You can verify your settings before encoding:

- Open the codec settings panel
- Enable a profile
- Fill the codec with the settings you are going to use
- DivX Codec will tell you if it's all ok

Don't be scared :), no one can tell us what will happen in the future.

bullfrog
6th February 2003, 11:47
Originally posted by jonny
Profiles only hides you some options and give you some restrictions taking into account bitrate, resolution, fps.

You can verify your settings before encoding:

- Open the codec settings panel
- Enable a profile
- Fill the codec with the settings you are going to use
- DivX Codec will tell you if it's all ok

Don't be scared :), no one can tell us what will happen in the future.

I done and the codec with the profile selected verify only frame rate and resolution. For the bitrate it does not let input higher than max allowed by profile.

Without profile selected I can also put bitrates suitable and not to exceed the allowed maximum. It is the same?

I think than bitrate indicated in the codec settings panel is the average bitrate that I want in my DivX, but the codec can raise or lower (and to exceed the limit).

With profile actived, codec never exceed the allowed maximum. It's true?

If this it's true, Why DivX5 Enc never uses profiles (profile 0)?

Thanks.

jonny
6th February 2003, 12:13
Without profile selected I can also put bitrates suitable and not to exceed the allowed maximum. It is the same?

I think than bitrate indicated in the codec settings panel is the average bitrate that I want in my DivX, but the codec can raise or lower (and to exceed the limit).

With profile actived, codec never exceed the allowed maximum. It's true?

Yes, but it's true even if you don't use profiles and you set max bitrate.
Anyway DivX5Enc set the maximum bitrate to 16000.
ATM i keep this paremeter fixed because i can't understand what the divx control panel do when i change the bitrate... max bitrate changes sometime to br * 10, sometime to 16000, clicking around changes to 16000 too... divx documentation s**ks... so you'll have to stay with this for now (until i find some clarifications about this).


If this it's true, Why DivX5 Enc never uses profiles (profile 0)?


Adding profiles in DivX5Enc add a lot of complication level to the interface (for me that i have to program this, and for the user too, IMO).

bullfrog
6th February 2003, 13:22
Originally posted by jonny
Yes, but it's true even if you don't use profiles and you set max bitrate.
Anyway DivX5Enc set the maximum bitrate to 16000.

ATM i keep this paremeter fixed because i can't understand what the divx control panel do when i change the bitrate... max bitrate changes sometime to br * 10, sometime to 16000, clicking around changes to 16000 too... divx documentation s**ks... so you'll have to stay with this for now (until i find some clarifications about this).


The maximum bitrate is -vbv parameter. Now I understand...


*** Home Theater Profile ***
The specifications for this profile will ensure that DivX-certified home theater devices such as DVD players, set-top boxes, and gaming consoles, can play back all versions of high-quality DivX content.The detailed requirements are:

Recommended max resolution: 720 x 480 @ 30 fps, 720 x 576 @ 25 fps
Maximum MB per second : 40500
Maximum average bitrate : 4000kbps
B Frames : Allowed
Interlace : Allowed


I think that we must adjust to this profile by compatibility with DVD-DivX players in the future.

DivX5 Enc allows all the specifications except the maximum bitrate, that would have to be a modifiable parameter (to put 4000 or what we want). No fix in 16000.

DivX5 Enc put -vbv 16000000,1835008,1376256.
DivX5 codec Home Thether CLI adds -vbv 4000000,3145728,2359296.

It's only a A suggestion...;)

Thanks for all.

jonny
6th February 2003, 14:07
Nice suggestion, thanks for going so deeply inside the problem :)

bullfrog
6th February 2003, 16:55
Originally posted by jonny

Adding profiles in DivX5Enc add a lot of complication level to the interface (for me that i have to program this, and for the user too, IMO).

You do not need to add profiles to Divx5Enc. I think only to add the Maximum bitrate parameter already are possible to be made DivX Certified.

Now we need to know is if the parameter profile x (profile 0 in DivX5Enc, profile 3 in codec for Home Theather) to do something more...:rolleyes:


Thanks.

jonny
6th February 2003, 17:25
I think that at the end the only things that changes are the -vbv paremeters.
This thing is easy to test/implement.
I'll work on it those days (if all goes well i'll release an update version of d5e)

bullfrog
6th February 2003, 18:06
And I will recommend DivX5 Enc in my web page...:)

Thanks.