Skip to content

JPEG Encoder problem on Jetson Orin NX #35

@bwsw

Description

@bwsw

Version

0.6.0.32

Describe the bug.

Hello, dear developers.

Thank you for a solution that is very valuable for the Nvidia ecosystem.

I try to save a CuPy-allocated image with the Encoder. The same source code works just fine on dGPU.

Minimum reproducible example

from nvidia import nvimgcodec
import cupy as cp

codec = nvimgcodec.Encoder(backends=[nvimgcodec.Backend(nvimgcodec.BackendKind.HW_GPU_ONLY)])

encode_params = nvimgcodec.EncodeParams(
            quality_type=nvimgcodec.QualityType.QUALITY, quality_value=95
        )

cupy_image = cp.zeros((1280, 720, 3), dtype=cp.uint8)

codec.write(
   f'screenshot.jpg',
   nvimgcodec.as_image(cupy_image),
   'jpeg',
   params=encode_params
)

Environment details

JetPack 6.1
DeepStream 7.0 is working well with NVJPEG

Relevant log output

[INFO] [nvimgcodec] Registering extension nvimgcodec_builtin_parsers version:0.6.0
[INFO] [nvimgcodec] Framework is registering parser (id:bmp_parser codec:bmp)
[INFO] [nvimgcodec] Codec bmp not yet registered, registering for first time
[INFO] [nvimgcodec] Framework is registering parser (id:jpeg_parser codec:jpeg)
[INFO] [nvimgcodec] Codec jpeg not yet registered, registering for first time
[INFO] [nvimgcodec] Framework is registering parser (id:jpeg2k_parser codec:jpeg2k)
[INFO] [nvimgcodec] Codec jpeg2k not yet registered, registering for first time
[INFO] [nvimgcodec] Framework is registering parser (id:png_parser codec:png)
[INFO] [nvimgcodec] Codec png not yet registered, registering for first time
[INFO] [nvimgcodec] Framework is registering parser (id:pnm_parser codec:pnm)
[INFO] [nvimgcodec] Codec pnm not yet registered, registering for first time
[INFO] [nvimgcodec] Framework is registering parser (id:tiff_parser codec:tiff)
[INFO] [nvimgcodec] Codec tiff not yet registered, registering for first time
[INFO] [nvimgcodec] Framework is registering parser (id:webp_parser codec:webp)
[INFO] [nvimgcodec] Codec webp not yet registered, registering for first time
[INFO] [nvimgcodec] Loading extension module: /home/administrator/.local/lib/python3.10/site-packages/nvidia/nvimgcodec/extensions/libnvtiff_ext.so.0.6.0
[INFO] [nvimgcodec] Registering extension nvtiff_extension version:0.6.0
[INFO] [nvimgcodec] Framework is registering decoder (id:nvtiff_cuda_decoder codec:tiff)
[INFO] [nvimgcodec] Framework is registering encoder (id:nvtiff_cuda_encoder codec:tiff)
[INFO] [nvimgcodec] Loading extension module: /home/administrator/.local/lib/python3.10/site-packages/nvidia/nvimgcodec/extensions/libjpeg_turbo_ext.so.0.6.0
[INFO] [nvimgcodec] Registering extension libjpeg_turbo_extension version:0.6.0
[INFO] [nvimgcodec] Framework is registering decoder (id:libjpeg_turbo_decoder codec:jpeg)
[INFO] [nvimgcodec] Loading extension module: /home/administrator/.local/lib/python3.10/site-packages/nvidia/nvimgcodec/extensions/libnvjpeg_ext.so.0.6.0
[INFO] [nvimgcodec] Registering extension nvjpeg_extension version:0.6.0
[INFO] [nvimgcodec] Framework is registering encoder (id:nvjpeg_cuda_encoder codec:jpeg)
[INFO] [nvjpeg-ext] HW decoder not supported by this platform. Skip.
[INFO] [nvimgcodec] Framework is registering decoder (id:nvjpeg_cuda_decoder codec:jpeg)
[INFO] [nvimgcodec] Framework is registering decoder (id:nvjpeg_lossless_decoder codec:jpeg)
[INFO] [nvimgcodec] Loading extension module: /home/administrator/.local/lib/python3.10/site-packages/nvidia/nvimgcodec/extensions/libnvpnm_ext.so.0.6.0
[INFO] [nvimgcodec] Registering extension nvpnm_extension version:0.6.0
[INFO] [nvimgcodec] Framework is registering encoder (id:nvpnm_encoder codec:pnm)
[INFO] [nvimgcodec] Loading extension module: /home/administrator/.local/lib/python3.10/site-packages/nvidia/nvimgcodec/extensions/libtiff_ext.so.0.6.0
[INFO] [nvimgcodec] Registering extension libtiff_extension version:0.6.0
[INFO] [nvimgcodec] Framework is registering decoder (id:libtiff_decoder codec:tiff)
[INFO] [nvimgcodec] Loading extension module: /home/administrator/.local/lib/python3.10/site-packages/nvidia/nvimgcodec/extensions/libopencv_ext.so.0.6.0
[INFO] [nvimgcodec] Registering extension opencv_extension version:0.6.0
[INFO] [nvimgcodec] Framework is registering decoder (id:opencv_jpeg_decoder codec:jpeg)
[INFO] [nvimgcodec] Framework is registering decoder (id:opencv_jpeg2k_decoder codec:jpeg2k)
[INFO] [nvimgcodec] Framework is registering decoder (id:opencv_png_decoder codec:png)
[INFO] [nvimgcodec] Framework is registering decoder (id:opencv_bmp_decoder codec:bmp)
[INFO] [nvimgcodec] Framework is registering decoder (id:opencv_pnm_decoder codec:pnm)
[INFO] [nvimgcodec] Framework is registering decoder (id:opencv_tiff_decoder codec:tiff)
[INFO] [nvimgcodec] Framework is registering decoder (id:opencv_webp_decoder codec:webp)
[INFO] [nvimgcodec] Framework is registering encoder (id:opencv_jpeg_encoder codec:jpeg)
[INFO] [nvimgcodec] Framework is registering encoder (id:opencv_jpeg2k_encoder codec:jpeg2k)
[INFO] [nvimgcodec] Framework is registering encoder (id:opencv_png_encoder codec:png)
[INFO] [nvimgcodec] Framework is registering encoder (id:opencv_bmp_encoder codec:bmp)
[INFO] [nvimgcodec] Framework is registering encoder (id:opencv_pnm_encoder codec:pnm)
[INFO] [nvimgcodec] Framework is registering encoder (id:opencv_tiff_encoder codec:tiff)
[INFO] [nvimgcodec] Framework is registering encoder (id:opencv_webp_encoder codec:webp)
[INFO] [nvimgcodec] Loading extension module: /home/administrator/.local/lib/python3.10/site-packages/nvidia/nvimgcodec/extensions/libnvbmp_ext.so.0.6.0
[INFO] [nvimgcodec] Registering extension nvbmp_extension version:0.6.0
[INFO] [nvimgcodec] Framework is registering encoder (id:nvbmp_encoder codec:bmp)
[INFO] [nvimgcodec] Framework is registering decoder (id:nvbmp_decoder codec:bmp)
[INFO] [nvimgcodec] Loading extension module: /home/administrator/.local/lib/python3.10/site-packages/nvidia/nvimgcodec/extensions/libnvjpeg2k_ext.so.0.6.0
[INFO] [nvimgcodec] Registering extension nvjpeg2k_extension version:0.6.0
[INFO] [nvimgcodec] Framework is registering encoder (id:nvjpeg2k_encoder codec:jpeg2k)
[INFO] [nvimgcodec] Framework is registering decoder (id:nvjpeg2k_decoder codec:jpeg2k)
[INFO] [nvimgcodec] Requested num_threads=0, cpu_cores_count=8, selected num_threads=7
[INFO] [nvimgcodec] encode num_samples=1
[INFO] [nvimgcodec] Sample #0 can't be processed
[WARNING] [pynvimgcodec] Something went wrong during encoding image #0 there will be None on corresponding output position
[INFO] [nvimgcodec] Unregistering extension libjpeg_turbo_extension version:0.6.0
[INFO] [nvimgcodec] Framework is unregistering decoder (id:libjpeg_turbo_decoder codec:jpeg)
[INFO] [nvimgcodec] Unloading extension module:/home/administrator/.local/lib/python3.10/site-packages/nvidia/nvimgcodec/extensions/libjpeg_turbo_ext.so.0.6.0
[INFO] [nvimgcodec] Unregistering extension libtiff_extension version:0.6.0
[INFO] [nvimgcodec] Framework is unregistering decoder (id:libtiff_decoder codec:tiff)
[INFO] [nvimgcodec] Unloading extension module:/home/administrator/.local/lib/python3.10/site-packages/nvidia/nvimgcodec/extensions/libtiff_ext.so.0.6.0
[INFO] [nvimgcodec] Unregistering extension nvbmp_extension version:0.6.0
[INFO] [nvimgcodec] Framework is unregistering encoder (id:nvbmp_encoder codec:bmp)
[INFO] [nvimgcodec] Framework is unregistering decoder (id:nvbmp_decoder codec:bmp)
[INFO] [nvimgcodec] Unloading extension module:/home/administrator/.local/lib/python3.10/site-packages/nvidia/nvimgcodec/extensions/libnvbmp_ext.so.0.6.0
[INFO] [nvimgcodec] Unregistering extension nvimgcodec_builtin_parsers version:0.6.0
[INFO] [nvimgcodec] Framework is unregistering parser (id:bmp_parser codec:bmp)
[INFO] [nvimgcodec] Framework is unregistering parser (id:jpeg_parser codec:jpeg)
[INFO] [nvimgcodec] Framework is unregistering parser (id:jpeg2k_parser codec:jpeg2k)
[INFO] [nvimgcodec] Framework is unregistering parser (id:png_parser codec:png)
[INFO] [nvimgcodec] Framework is unregistering parser (id:pnm_parser codec:pnm)
[INFO] [nvimgcodec] Framework is unregistering parser (id:tiff_parser codec:tiff)
[INFO] [nvimgcodec] Framework is unregistering parser (id:webp_parser codec:webp)
[INFO] [nvimgcodec] Unregistering extension nvjpeg2k_extension version:0.6.0
[INFO] [nvimgcodec] Framework is unregistering encoder (id:nvjpeg2k_encoder codec:jpeg2k)
[INFO] [nvimgcodec] Framework is unregistering decoder (id:nvjpeg2k_decoder codec:jpeg2k)
[INFO] [nvimgcodec] Unloading extension module:/home/administrator/.local/lib/python3.10/site-packages/nvidia/nvimgcodec/extensions/libnvjpeg2k_ext.so.0.6.0
[INFO] [nvimgcodec] Unregistering extension nvjpeg_extension version:0.6.0
[INFO] [nvimgcodec] Framework is unregistering encoder (id:nvjpeg_cuda_encoder codec:jpeg)
[INFO] [nvimgcodec] Framework is unregistering decoder (id:nvjpeg_cuda_decoder codec:jpeg)
[INFO] [nvimgcodec] Framework is unregistering decoder (id:nvjpeg_lossless_decoder codec:jpeg)
[INFO] [nvimgcodec] Unloading extension module:/home/administrator/.local/lib/python3.10/site-packages/nvidia/nvimgcodec/extensions/libnvjpeg_ext.so.0.6.0
[INFO] [nvimgcodec] Unregistering extension nvpnm_extension version:0.6.0
[INFO] [nvimgcodec] Framework is unregistering encoder (id:nvpnm_encoder codec:pnm)
[INFO] [nvimgcodec] Unloading extension module:/home/administrator/.local/lib/python3.10/site-packages/nvidia/nvimgcodec/extensions/libnvpnm_ext.so.0.6.0
[INFO] [nvimgcodec] Unregistering extension nvtiff_extension version:0.6.0
[INFO] [nvimgcodec] Framework is unregistering decoder (id:nvtiff_cuda_decoder codec:tiff)
[INFO] [nvimgcodec] Framework is unregistering encoder (id:nvtiff_cuda_encoder codec:tiff)
[INFO] [nvimgcodec] Unloading extension module:/home/administrator/.local/lib/python3.10/site-packages/nvidia/nvimgcodec/extensions/libnvtiff_ext.so.0.6.0
[INFO] [nvimgcodec] Unregistering extension opencv_extension version:0.6.0
[INFO] [nvimgcodec] Framework is unregistering decoder (id:opencv_jpeg_decoder codec:jpeg)
[INFO] [nvimgcodec] Framework is unregistering decoder (id:opencv_jpeg2k_decoder codec:jpeg2k)
[INFO] [nvimgcodec] Framework is unregistering decoder (id:opencv_png_decoder codec:png)
[INFO] [nvimgcodec] Framework is unregistering decoder (id:opencv_bmp_decoder codec:bmp)
[INFO] [nvimgcodec] Framework is unregistering decoder (id:opencv_pnm_decoder codec:pnm)
[INFO] [nvimgcodec] Framework is unregistering decoder (id:opencv_tiff_decoder codec:tiff)
[INFO] [nvimgcodec] Framework is unregistering decoder (id:opencv_webp_decoder codec:webp)
[INFO] [nvimgcodec] Framework is unregistering encoder (id:opencv_jpeg_encoder codec:jpeg)
[INFO] [nvimgcodec] Framework is unregistering encoder (id:opencv_jpeg2k_encoder codec:jpeg2k)
[INFO] [nvimgcodec] Framework is unregistering encoder (id:opencv_png_encoder codec:png)
[INFO] [nvimgcodec] Framework is unregistering encoder (id:opencv_bmp_encoder codec:bmp)
[INFO] [nvimgcodec] Framework is unregistering encoder (id:opencv_pnm_encoder codec:pnm)
[INFO] [nvimgcodec] Framework is unregistering encoder (id:opencv_tiff_encoder codec:tiff)
[INFO] [nvimgcodec] Framework is unregistering encoder (id:opencv_webp_encoder codec:webp)
[INFO] [nvimgcodec] Unloading extension module:/home/administrator/.local/lib/python3.10/site-packages/nvidia/nvimgcodec/extensions/libopencv_ext.so.0.6.0

Other/Misc.

without specifying backend:

[ERROR] [nvjpeg_cuda_encoder] Could not create nvjpeg encoder - nvjpeg error #9 (implementation not supported) when running nvjpegCreateEx(NVJPEG_BACKEND_DEFAULT, nullptr, nullptr, 0, &handle_) at /home/jenkins/agent/workspace/nvimagecodec/helpers/release_v0.6.0/Release_12/build/extensions/nvjpeg/cuda_encoder.cpp:279

Check for duplicates

  • I have searched the open bugs/issues and have found no duplicates for this bug report

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions