Unit of Encoder Virtual Buffer Size

Hi,

I found inconsistency about virtual buffer size definition between NvVideoEncoder and v4l2_nv_extension.h
I use Jetson AGX Xavier with JetPack 4.6.2 ( L4T 32.7.2).

In NvVideoEncoder::setVirtualBufferSize. Unit of Virtual Buffer Size has defined as bytes

/**
 * Sets the virtual buffer size of the encoder.
 *
 * Calls the VIDIOC_S_EXT_CTRLS IOCTL internally with Control ID
 * #V4L2_CID_MPEG_VIDEOENC_VIRTUALBUFFER_SIZE. Must be called after
 * setFormat on both the planes.
 *
 * @param[in] size Virtual buffer size, in bytes.
 * @return 0 for success, -1 otherwise.
 */
int setVirtualBufferSize(uint32_t size);

But virtual buffer size defined in v4l2_nv_extension.h is bits

/**
 * Holds encoder virtual buffer size parameters, to be used with
 * \c V4L2_CID_MPEG_VIDEOENC_VIRTUALBUFFER_SIZE IOCTL.
 */
typedef struct v4l2_enc_virtual_buffer_size_
{
    /** Size of the virtual buffer, in bits. */
    __u32   size;
}v4l2_enc_virtual_buffer_size;

Which is correct unit? bytes or bits?

Hi,
Please set the value in bits. May refer to gstreamer commands as example:
Random blockiness in the picture RTSP server-client -Jetson TX2 - #5 by DaneLLL

Hi, DaneLLL

Thank you for information.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.