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