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/AM5726: Pipeline stops due to error in libdce

Part Number: AM5726

Tool/software: Linux

Hello, I am running pipeline as below

gst-launch-1.0 -e v4l2src device=/dev/video1 ! 'video/x-raw, format=(string)YUY2, width=(int)640, height=(int)720, framerate=15/1' ! tee name=p ! queue min-threshold-buffers=2 ! rtspserver ! fakesink p. ! queue ! ducatijpegdec ! tee name=t ! queue min-threshold-buffers=2 ! queue  leaky=2 ! videocrop left = 1824 right=912 ! queue ! videoscale ! video/x-raw , format=NV12 , height=240 , width=320 ! eiovready ! fakesink t. ! queue ! videorate ! 'video/x-raw, format=(string)YUY2, width=(int)640, height=(int)720, framerate=1/1' ! multifilesink location=/dev/shm/snap/snap1.jpeg max-files=1

aftre one day of successfull running i got below error  and pipeline stops.

MmRpc_use: Error: unable to declare buffer use
[123798.918258] rpmsg_rpc rpmsg-dce: unwinding UVA to RDA translations! translation 1
[123798.930108] rpmsg_rpc rpmsg-dce: failed to translate all pointers for remote core! ../git/libdce_linux.c:115: dce_buf_lock ERROR: Failed eError == DCE_EOK error val -5MmRpc_call: Error: write failed ../git/libdce.c:965: process ERROR: Failed eError == DCE_EOK error val -5

Please do needful.

Regards,

Prerak

  • Hello,

    What is the PSDK version that you are using here?

    BR
    Margarita
  • Hello,

    Prerak Patel said:

    MmRpc_use: Error: unable to declare buffer use
    [123798.918258] rpmsg_rpc rpmsg-dce: unwinding UVA to RDA translations! translation 1
    [123798.930108] rpmsg_rpc rpmsg-dce: failed to translate all pointers for remote core! ../git/libdce_linux.c:115: dce_buf_lock ERROR: Failed eError == DCE_EOK error val -5MmRpc_call: Error: write failed ../git/libdce.c:965: process ERROR: Failed eError == DCE_EOK error val -5

    This seems to be wrong buff addr passed to ducati.

    Please, try with ducatijpegdecvpe element.

    Hope this helps.

    BR
    Margarita

  • Hi

    I am using PSDK 3.0.2.5.

    I have replace ducatijpegdec with ducatijpegdecvpe and put under testing.
    I will update my result here in 2 days.

    Thanks,
    Prerak
  • Hi,

    I have integrated changes as you suggested and again got the same error.

    Error on serial terminal from application side.

    MmRpc_use: Error: unable to declare buffer use
    [123798.918258] rpmsg_rpc rpmsg-dce: unwinding UVA to RDA translations! translation 1
    [123798.930108] rpmsg_rpc rpmsg-dce: failed to translate all pointers for remote core! ../git/libdce_linux.c:115: dce_buf_lock ERROR: Failed eError == DCE_EOK error val -5MmRpc_call: Error: write failed ../git/libdce.c:965: process ERROR: Failed eError == DCE_EOK error val -5

    DMESG LOGS:

    [123798.918258] rpmsg_rpc rpmsg-dce: unwinding UVA to RDA translations! translation = 1
    [123798.930108] rpmsg_rpc rpmsg-dce: failed to translate all pointers for remote core!
    [123808.985707] omap_hwmod: mmu1_dsp2: _wait_target_did
    [123808.985707] omap_hwmod: mmu1_dsp2: _wait_target_disable failed
    [123808.999063] omap_hwmod: mmu1_dsp1: _wait_target_disable failed
    [123809.012220] omap_hwmod: mmu0_dsp2: _wait_target_disable failed

    Please do needful.

    Regards,

    Prerak

  • Hello,

    Could you add the pipeline that you tested?

    BR
    Margarita
  • Hi,

    Below is the pipeline i have tested.

    gst-launch-1.0 -e v4l2src device=/dev/video1 ! 'video/x-raw, format=(string)YUY2, width=(int)640, height=(int)720, framerate=15/1' ! tee name=p ! queue ! videorate ! 'video/x-raw, format=(string)YUY2, width=(int)640, height=(int)720, framerate=1/1' ! multifilesink location=/dev/shm/snap/snap1.jpeg max-files=1 p. ! queue ! ducatijpegdecvpe ! tee name=t ! queue min-threshold-buffers=2 ! ducatih264enc rate-preset=1 ! rtspserver ! fakesink t. ! queue leaky=2 ! videoconvert ! 'video/x-raw, format=(string)NV12, width=(int)1824, height=(int)1824, framerate=15/1' ! videocrop left = 912 right=0 top=0 bottom=912 ! queue ! videoscale ! video/x-raw , format=NV12 , height=240 , width=320 ! ovready ! fakesink

    Regards,
    Prerak
  • Hello,

    If there is no caps filter after vpe then the vpe will be not use, since the input resolution and output is the same, the format also.
    So please set capsfilter after vpe but resolution or format in the capsfilter should be different from the input and give a try.

    Hope this helps.

    BR
    Margarita
  • Hello ,

    I dont know, how to set caps aftre vpe. Can you give me any small example ?

    Thanks,
    Prerak
  • Hello,

    Let's say the input is 1920x1080 YUY2, after vpe will be 720x480, NV12.

    ... ! ducatijpegdecvpe ! 'video/x-raw, format=(string)NV12, width=(int)720, height=(int)480' ! ....

    processors.wiki.ti.com/.../Processor_Training:_Multimedia
    In your case you must set capsfilter and resolution or format must be different from the input to make vpe to be use.

    BR
    Margarita
  • Hello ,

    Thanks Margarita.
    I have put pipeline under testing accoring to your suggestion and share my results here within 2 days.
    Pipeline after modification:

    gst-launch-1.0 -e v4l2src device=/dev/video1 ! 'video/x-raw, format=(string)YUY2, width=(int)640, height=(int)720, framerate=15/1' ! tee name=p ! queue ! videorate ! 'video/x-raw, format=(string)YUY2, width=(int)640, height=(int)720, framerate=1/1' ! multifilesink location=/dev/shm/snap/snap1.jpeg max-files=1 p. ! queue ! ducatijpegdecvpe ! 'video/x-raw, format=(string)NV12, width=(int)1824, height=(int)1824' ! tee name=t ! queue min-threshold-buffers=2 ! ducatih264enc rate-preset=1 ! eirtspserver ! fakesink t. ! queue leaky=2 ! videocrop left = 912 right=0 top=0 bottom=912 ! queue ! videoscale ! video/x-raw , format=NV12 , height=240 , width=320 ! eiovready ! fakesink

    Regards,
    Prerak
  • Hello,

    One more note, I see you are using PSDK 3.02 and ducatih264enc. I guess you have applied this patch for mem leak issue in ducatih264enc :
    git.ti.com/.../7205d7cb75944e816622d5daca88804819ff16d3
    If not please apply it before to start the test again.

    BR
    Margarita

  • Hello Prerak,

    Could you let me know what is the result?
    Thank you !

    Best Regards,
    Margarita
  • Hi Margarita,

    Yes i have already applied memory leak patch.

    It has been 2 days and 4 hours  since i started my test.

    For now, it seems the application is working fine.

    Still i want to test it for some more days, to check if there is any kind of issue.

    Regards,

    Prerak

  • Hello Prerak,

    Please if the issue is solved, click the "This resolved my issue" button.
    You could open a new topic for new questions/issues.

    Best Regards,
    Margarita