Media (Intel® oneAPI Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools from Intel. This includes Intel® oneAPI Video Processing Library and Intel® Media SDK.

NumSlice and NumMbPerSlice

kyviquel
Beginner
114 Views

hi,

I try to understand the difference between NumSlice and NumMbPerSlice. Is it true that with NumSlice parameter all generated slices contain a fixed rows of macroblocks and  with NumMbPerSlice parameter we can generated smallest slices like one macroblock per slice? What are the restrictions for the NumMbPerSlice parameter?

thanks

Karine

0 Kudos
1 Solution
Jeffrey_M_Intel1
Employee
114 Views

Sorry for the delay in replying.  Here are the basics:

NumSlice: slices contain a fixed number of macroblock rows.  The number of rows per slice is automatically calculated.   When the number of rows is not evenly divisible slices may be different sizes (+/-1 row).  At least in my testing the smallest slice is 1 macroblock row.

NumMbPerSlice: number of slices=macroblocks in frame/NumMbPerSlice.  However, the actual number of slices depends on driver capability. If the driver can only support row slices this will provide no more flexibility than NumSlice.  Use of query is strongly recommended.  Encode may fail if the driver does not support the slice size requested.

Documentation and implementation for NumMbPerSlice are still evolving.  Please watch future releases for more developments.

View solution in original post

1 Reply
Jeffrey_M_Intel1
Employee
115 Views

Sorry for the delay in replying.  Here are the basics:

NumSlice: slices contain a fixed number of macroblock rows.  The number of rows per slice is automatically calculated.   When the number of rows is not evenly divisible slices may be different sizes (+/-1 row).  At least in my testing the smallest slice is 1 macroblock row.

NumMbPerSlice: number of slices=macroblocks in frame/NumMbPerSlice.  However, the actual number of slices depends on driver capability. If the driver can only support row slices this will provide no more flexibility than NumSlice.  Use of query is strongly recommended.  Encode may fail if the driver does not support the slice size requested.

Documentation and implementation for NumMbPerSlice are still evolving.  Please watch future releases for more developments.

Reply