SK-AM62A-LP: GStreamer Pipeline Issue - Apparent Desynchronization with Tiovxmultiscaler Plugin

Part Number: SK-AM62A-LP

Tool/software:

Hello,

I am reaching out because I've observed a persistent issue while using a GStreamer pipeline with the Tiovxmultiscaler plugin (SDK 9.1).

The pipeline processes images, and I've noticed a significant de-synchronization in the output. Specifically, my application receives what appears to be an older frame intermittently. This "flashback" behavior causes an unexpected regression in the video stream, where a previously processed image reappears at the output of the appsink. This issue is not consistent but happens randomly.

I suspect this could be a buffer problem within the pipeline, possibly related to the Tiovxmultiscaler plugin's operation.

Additionally, I would like to inquire if there is a Texas Instruments (TI) GStreamer plugin that provides a reliable way to attach timestamps or other temporal metadata to the incoming frames. Such metadata would be helpful for detecting these flashbacks.

Thank you for your attention to this issue.

Best regards

  • Hi,

    Can you share us  the pipeline you are testing tiovxmultiscalar element? Also, Can you also test this with the latest SDK (11.1) and are you observing similar issues? As there have been significant changes from 9.2 to 11.1 SDK release.

    Best Regards,

    Suren

  • Hi Suren,

    Thanks for your quick reply.

    Unfortunately, I am not able to upgrade to SDK 11.1 at this time due to project constraints.

    However, I can share the pipeline I am currently testing : 

    v4l2src device=/dev/video-rpi-cam0 io-mode=dmabuf-import ! video/x-bayer, width=1640, height=1232, format=rggb10, framerate=30/1 ! \
    tiovxisp sink_0::device=/dev/v4l-subdev2 sensor-name="SENSOR_SONY_IMX219_RPI" dcc-isp-file=/opt/imaging/IMX219_2M/linear/dcc_viss.bin sink_0::dcc-2a-file=/opt/imaging/IMX219_2M/linear/dcc_2a.bin format-msb=9 ! \
    tiovxldc dcc-file=/opt/imaging/IMX219_2M/linear/dcc_ldc_640.bin sensor-name=SENSOR_SONY_IMX219_RPI ! videorate ! video/x-raw, format=NV12, width=1640, height=1232, framerate=15/1 ! \
    tiovxmultiscaler name=split0 \
    src_0::roi-startx=500 src_0::roi-starty=376 src_0::roi-width=640 src_0::roi-height=480 \
    src_1::roi-startx=500 src_1::roi-starty=376 src_1::roi-width=640 src_1::roi-height=480 \
    src_2::roi-startx=500 src_2::roi-starty=376 src_2::roi-width=640 src_2::roi-height=480 \
    split0. ! queue ! videoconvert ! video/x-raw, format=BGR, width=640, height=480 ! appsink sync=false max-buffers=5 drop=true name=resize emit-signals=true \
    split0. ! queue ! videoconvert ! video/x-raw, format=BGR, width={self.width}, height={self.height} ! appsink sync=false max-buffers=5 drop=true name=resize_small emit-signals=true \
    split0. ! queue ! video/x-raw, width={self.width}, height={self.height} ! tiovxdlpreproc model={self.model} out-pool-size=4 ! application/x-tensor-tiovx ! \
    tidlinferer target=1  model={self.model} ! queue leaky=2 max-size-buffers=5 ! appsink sync=false max-buffers=5 drop=true name=out_tensor emit-signals=true  

    Best regards,

    Amanda

  • I suspect this could be a buffer problem within the pipeline, possibly related to the Tiovxmultiscaler plugin's operation.

    No, this issue is not related to tiovxmultiscaler plugin. It is a CSI Rx driver issue which was fixed in SDK 9.2. If you don't want to upgrade your SDK, you could try this CICD with the fix: https://software-dl.ti.com/cicd-report/linux/index.html?section=snapshot&platform=am62axx&snapshot=cicd.kirkstone.202401191036.

    Regards,

    Jianzhong

  • Hi,

    Thank you for your response.
    We tried to apply the patch from the following link: git.ti.com/.../j721e-csi2rx.c, which we found for our iWave distribution.

    Unfortunately, the issue still persists. Additionally, we are observing the following error message, which might provide more insight into the problem: kernel: j721e-csi2rx 30102000.ticsi2rx: Failed to drain DMA. Next frame might be bogus.

    Best regards,

    Amanda

  • Hi Amanda,

    Since you're using SDK 9.1, can you try SDK 9.2 which shouldn't be too different from 9.1?

    Regards,

    Jianzhong