python_vali.PyNvJpegEncoder

class python_vali.PyNvJpegEncoder
__init__(self: python_vali._python_vali.PyNvJpegEncoder, gpu_id: int) None

Create a new JPEG encoder instance.

Initializes a hardware-accelerated JPEG encoder on the specified GPU. The encoder uses NVIDIA’s hardware JPEG encoding capabilities for efficient image compression.

Parameters:

gpu_id (int) – ID of the GPU to use for encoding

Raises:

RuntimeError – If GPU initialization fails

Methods

Context(self, compression, pixel_format)

Create a new encoding context with specified parameters.

Run(self, context, surfaces)

Encode multiple surfaces to JPEG format.

__init__(self, gpu_id)

Create a new JPEG encoder instance.

Context(self: python_vali._python_vali.PyNvJpegEncoder, compression: int, pixel_format: python_vali._python_vali.PixelFormat) python_vali._python_vali.NvJpegEncodeContext

Create a new encoding context with specified parameters.

The context contains the state and parameters for JPEG encoding, including compression quality and pixel format. Each context should be used by only one thread at a time to ensure thread safety.

Parameters:
  • compression (int) – Compression coefficient (1-100, where 100 is maximum quality)

  • pixel_format (Pixel_Format) – Pixel format for the input surfaces

Returns:

New encoding context with specified parameters

Return type:

NvJpegEncodeContext

Raises:

RuntimeError – If context creation fails

Run(self: python_vali._python_vali.PyNvJpegEncoder, context: python_vali._python_vali.NvJpegEncodeContext, surfaces: list[python_vali._python_vali.Surface]) tuple[list[numpy.ndarray], python_vali._python_vali.TaskExecInfo]

Encode multiple surfaces to JPEG format.

Compresses a list of input surfaces into JPEG format using the specified encoding context. The operation is performed asynchronously on the GPU for better performance. If any surface fails to encode, the entire operation is considered failed and no compressed data is returned.

Parameters:
  • context (NvJpegEncodeContext) – Encoding context containing compression parameters

  • surfaces (list[Surface]) – List of input surfaces to encode

Returns:

Tuple containing: - List of compressed JPEG data as numpy arrays (empty if encoding fails) - TaskExecInfo indicating success or failure

Return type:

tuple[list[numpy.ndarray], TaskExecInfo]

Raises:

RuntimeError – If encoding fails