This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/AM5728: GStreamer JPG decode error

Part Number: AM5728


Tool/software: Linux

Hi.

yesterday, you answer that IVA-HD can decode jpg with size(4096x4096).

we test it as below it. and gstreamer show error(kmssink gstkmssink.c:432:gst_kms_sink_show_frame:<kmssink0> error: drmModeAddFB2 failed: Invalid argument (22))

gst-launch-1.0 -v --gst-debug=3 filesrc location=./3456x3456.jpg  ! jpegparse ! ducatijpegdec ! kmssink

i can find it at Zlinux-4.4.19+gitAUTOINC+db0b54cdad-gdb0b54cdad\drivers\gpu\drm\drm_crtc.c.

internal_framebuffer_create function tell that drmModeAddFB2 can success  under width is 2048.

how can i decode jpg with size(3456x3456) ?

 Thanks a lot.

  • Hi Lee,

    This error is from drm. DRM can not take this output of 3kx3k.  Decoding has no issue.

    Try filesink instead of kmssink to check the output

  • Hi. Ramprasad.
    you are right. but, After i can get yuv with filesink, how do i display jpg with size(3456x3456) ?
    I want to display it.
  • If you want to display, you will have to scale down decoder output. But VPE also doesn't not support width > 2048.
    You may have to use software scaler pluggin if exists(ffmpeg)
  • Part Number: AM5728

    Tool/software: Linux

    Hi.

    I decode size(3456x3456) of jpg and i get yuv from IVA-HD. and i want to display the yuv.

    For it, i need to call drmModeAddFB2 with width(3456)/height(3456), but driver(internal_framebuffer_create of gpu\drm\drm_crtc.c) don't make the size.

    I want to increase to max_width/max_height of drm_mode_config. If it is possible, I use scaler of VIDx in DSS and i will scale down (1920x1080) of yuv from (3456x3456) of yuv and display it.

    Thanks a lot.