NVIDIA nvImageCodec#

nvImageCodec 是一个加速编解码器的库,具有统一的接口。它被设计为一个扩展模块框架,用于交付编解码器插件。

此 nvImageCodec 版本包含以下主要功能

  • 用于解码和编码图像的统一 API

  • 批量处理,支持可变形状和异构格式图像

  • 编解码器优先级排序和自动回退

  • 用于图像格式检测的内置解析器:JPEG、JPEG 2000、TIFF、BMP、PNG、PNM、WebP

  • Python 绑定

  • 到 CV-CUDA、PyTorch 和 CuPy 的零拷贝接口

  • 用于常见图像转码的端到端加速示例应用程序

目前有以下本地编解码器扩展

  • nvjpeg_ext

    • 硬件 JPEG 解码器

    • CUDA JPEG 解码器

    • CUDA 无损 JPEG 解码器

    • CUDA JPEG 编码器

  • nvjpeg2k_ext

    • CUDA JPEG 2000 解码器(包括高吞吐量 JPEG)

    • CUDA JPEG 2000 编码器

  • nvtiff_ext

    • CUDA TIFF 解码器

  • nvbmp_ext

    • CPU BMP 解码器

    • CPU BMP 编码器

  • nvpnm_ext

    • CPU PNM (PPM、PBM、PGM) 编码器

此外,作为回退,还有以下第三方编解码器扩展

  • libjpeg_turbo_ext

    • CPU JPEG 解码器

  • libtiff_ext

    • CPU TIFF 解码器

  • opencv_ext

    • CPU JPEG 解码器和编码器

    • CPU JPEG 2000 解码器和编码器

    • CPU PNG 解码器和编码器

    • CPU BMP 解码器和编码器

    • CPU PNM 解码器和编码器

    • CPU TIFF 解码器和编码器

    • CPU WebP 解码器和编码器