NvMediaIEP H265 slice level encode

Software Version: DRIVE Software 10

NvMediaEncodeInitializeParamsH265 has enableSliceLevelEncode and enableSliceEncode. NvMediaEncodeConfigH265 has NVMEDIA_ENCODE_CONFIG_H265_ENABLE_SLICE_LEVEL_OUTPUT.

The documentation seems to describe all of these as enabling slice-level encoding/output. Having 3 ways to do the same thing is a bit confusing.
Is there any difference between them? Which of those is the correct one to use? How do they interact with each other?

Dear @raul.tambre,

  1. enableSliceLevelEncode is not in use. We plan to remove it.
  2. enableSliceEncode encode is used to get the slice info data from ucode to driver after every slice. In this case driver will output multiple slices to application whenever application request for output data. If not set then driver will always output complete frame.
  3. When NVMEDIA_ENCODE_CONFIG_H265_ENABLE_SLICE_LEVEL_OUTPUT is used along with enableSliceEncode then driver will output only one slice data to application whenever application request for output data.

Thanks for the detailed answer!
It’d probably be worth updating the documentation for these options to match how you explained them.