12-13-2011 02:36 PM
Yes currently there is no way to control the size of slice even in macroblocks not to mention in bit size. It is only possible to specify the number of slices. In this case in most cases (see below) macroblocks are divided evenly among slices with restrictions to slice boundaries to be on macroblock row and slice sizes no different from biggest to smallest than one macroblock row. The certain number of macroblocks per slice depends on resolution and is not specified other than by these restrictions.
There is one exception to this rule. If application specifies NumSlices==0 then in software implementation encoder encodes the number of slices equal to number of threads specified by application (or number of CPU cores if number of threads is not specified) when TargetUsage is maximum quality. In this case slice sizes differ from frame to frame and are calculated to achieve the maximum performance to load all CPU cores equally. Restrictions to slice sizes from previous paragraphs don't apply in this mode. But this modeof slice sizes calculation is not specified and may change in future versions.If you want to be sure of slice size in macroblocks, always assign NumSlices some value other than zero.