View Single Post
Old 21st December 2016, 09:15   #1122  |  Link
r0lZ
PgcEdit daemon
 
r0lZ's Avatar
 
Join Date: Jul 2003
Posts: 7,469
Well, unfortunately, the devs of x264 have taken very bad decisions regarding the --level parameter. When the --level parameter is provided, it should restrict the bufsize and maxrate parameters so that the final result is compatible with the specified level, but it's not what it does. For unbelievable reasons, the --level parameter does nothing except to add the specified level to the header of the h264 stream, WITHOUT actually restricting the real level of the stream. Therefore, the level in the header does NOT reflect the level of the stream! It's obviously a bug, although it has been introduced deliberately. (There are modified versions of the encoder with that bug fixed, but I prefer to use the untouched exes.) It's a pity and that makes selecting the right parameters very difficult, but it's a fact. That means that to obey the level specified by the user and be compatible with the hardware, BD3D2MK3D has to specify the --vbv-* parameters as well, according to the specified level. It's why I can't remove them when you specify the --level with the GUI, as otherwise there will be no guarantee that the specified level is indeed taken into account (and it is too difficult to explain to the casual user that he has to specify the vbv parameter in addition to the level).

If you really want to specify the level with other vbv parameters, you should use "do not force" for the level parameter of x264 in the BD3D2MK3D GUI, and specify it manually in the additional parameters, with the vbv parameters. That way, BD3D2MK3D will not restrict the bufsize and maxrate and you are free to do what you want.

Also, I remember that I did some tests with some parameters specified several times, and it seems that when the same parameter is specified twice with different values, x264 uses always the value of the last occurrence in the command line. BD3D2MK3D adds the additional options near the end of the command line, and therefore if the user specifies a parameter that has also been specified by BD3D2MK3D, the value of the user's option should be used by the encoder. However, I can't guarantee that x264 works always that way, so I prefer to recommend to use the "do not force" trick.
__________________
r0lZ
PgcEdit homepage (hosted by VideoHelp)
BD3D2MK3D A tool to convert 3D blu-rays to SBS, T&B or FS MKV
r0lZ is offline