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.

SK-AM62P-LP: SK-AM62P-LP:VPU Use Error.

Part Number: SK-AM62P-LP
Other Parts Discussed in Thread: AM62P,

I'm evaluating AM62P's SDK on SK-AM62P-LP.SDK shown in below:

I'm testing the video codec of the VPU.There are many differents in AM62P Yocto SDK user manual.3.9Multimedia Video Codec

I use command "v4l2-compliance -d0“

I want do playback a Mp4 Video

WARNING: erroneous pipeline: no element "faad"

then,i remove faad,

Could you kindly help have a look at this case and give the solution?

Many thanks!

  • Hi Xiongwei,

    Does this work on your setup? Also, do you have the mp4 file to playback?

    gst-launch-1.0 -v filesrc location=bbb_1080p_aac.mp4 ! qtdemux name=demux demux.video_0 ! \
    h264parse ! v4l2h264dec capture-io-mode=dmabuf ! kmssink driver-name=tidss sync=false 

    Best Regards,

    Suren

  • Hi Suren,

    What settings are you talking about?

    I have mp4 file to playback.

    I use the command that you show to me.The same error appeared.I use gst-play-1.0 can playback mp4 file.So why gst-launch-1.0 can not?

    Whether the user manual dose not match the SDK image?

  • Can you change kmssink to  "kmssink driver-name=tidss sync=false force-modesetting=true" and see if it helps to display.

    Also can you stop weston before running the pipeline.

    systemctl stop weston

    Best Regards,

    Suren

  • I stop weston,and change kmssink,but it didn’t work.

  • Xiongwei,

    Let me verify it on AM62P board and get back. Are you using 9.1 SDK software to test video decoding?

    Best Regards,

    Suren

  • yes,SDK vision is 09.01.00.08.

  • Hi  Xiongwei,

    I ran this on AM62P board that I have. 

    root@am62pxx-evm:/home# gst-launch-1.0 -v filesrc location=BBB_1080_10s_30fps_h264.mp4 ! qtdemux ! h264parse ! v4l2h264dec ! kmssink driver-name=tidss sync=false force-modesetting=true
    Setting pipeline to PAUSED ...
    Pipeline is PREROLLING ...
    /GstPipeline:pipeline0/GstKMSSink:kmssink0: display-width = 2560
    /GstPipeline:pipeline0/GstKMSSink:kmssink0: display-height = 1080
    /GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:sink: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)5.1, profile=(string)high, codec_data=(buffer)01640033ffe1001d67640033ac728440780227e5c044000003000400000300f03c60c6118001000768e84386cb22c0, width=(int)1920, height=(int)1080, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1
    Redistribute latency...
    /GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, level=(string)5.1, profile=(string)high, width=(int)1920, height=(int)1080, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true
    /GstPipeline:pipeline0/v4l2h264dec:v4l2h264dec0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, level=(string)5.1, profile=(string)high, width=(int)1920, height=(int)1080, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true
    /GstPipeline:pipeline0/v4l2h264dec:v4l2h264dec0.GstPad:src: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, framerate=(fraction)30/1
    /GstPipeline:pipeline0/GstKMSSink:kmssink0.GstPad:sink: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, framerate=(fraction)30/1
    Redistribute latency...
    Pipeline is PREROLLED ...
    Setting pipeline to PLAYING ...
    Redistribute latency...
    New clock: GstSystemClock
    Got EOS from element "pipeline0".
    Execution ended after 0:00:05.000142065
    Setting pipeline to NULL ...
    Freeing pipeline ...
    root@am62pxx-evm:/home# uname -r
    6.1.46-g247b2535b2
    

    It seem to be working fine on my end. 

    Attached is the file for your reference: 

    Best Regards,

    Suren

  • Hi Suren,I ran this on AM62P board that I have. I used the attached file.but it didn’t work.

    root@am62pxx-evm:~# gst-launch-1.0 -v filesrc location=0804.BBB_1080_10s_30fps_h264.mp4 ! qtdemux ! h264parse ! v4l2h264dec ! kmssink driver-name=tidss sync=false force-modesetting=true
    Setting pipeline to PAUSED ...
    ERROR: from element /GstPipeline:pipeline0/GstKMSSink:kmssink0: Could not get allowed GstCaps of device
    Additional debug info:
    ../gst-plugins-bad-1.20.7/sys/kms/gstkmssink.c(907): gst_kms_sink_start (): /GstPipeline:pipeline0/GstKMSSink:kmssink0:
    driver does not provide mode settings configuration
    ERROR: pipeline doesn't want to preroll.
    ERROR: from element /GstPipeline:pipeline0/GstKMSSink:kmssink0: GStreamer error: state change failed and some element failed to post a proper error message with the reason for the failure.
    Additional debug info:
    ../gstreamer-1.20.7/libs/gst/base/gstbasesink.c(5878): gst_base_sink_change_state (): /GstPipeline:pipeline0/GstKMSSink:kmssink0:
    Failed to start
    ERROR: pipeline doesn't want to preroll.
    Failed to set pipeline to PAUSED.
    Setting pipeline to NULL ...
    Freeing pipeline ...
    

  • Hi Xiongwei,

    Have you stopped the weston service before trying this pipeline? When you boot up the 9.1 SDK image on AM62P, you should see an App launcher page which runs on weston, so I request you to stop weston using " systemctl stop weston" and then try out the pipeline.

    Best Regards,

    Suren

  • Hi Suren,

    I have stopped the weston service .

  • Are you using SD card as the boot media to verify the usecase of video decoding? Can you try with a different SD card and flash the default wic image again and see if it helps. I am suspecting something is not correct in your setup.

    https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-9ti3Ig9hNi/09.01.00.08/tisdk-default-image-am62pxx-evm.wic.xz

    Follow the instructions provided here:

    https://software-dl.ti.com/processor-sdk-linux/esd/AM62PX/09_01_00_08/exports/docs/linux/Overview/Processor_SDK_Linux_create_SD_card.html#create-sd-card-using-balenaetcher

    Best Regards,

    Suren

  • Hi,Suren

    I created SD card agian,and use image you told me.But it don’t work.

    root@am62pxx-evm:~# ls
    0804.BBB_1080_10s_30fps_h264.mp4
    root@am62pxx-evm:~# uname -a
    Linux am62pxx-evm 6.1.46-g247b2535b2 #1 SMP PREEMPT Wed Dec  6 17:54:04 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux
    root@am62pxx-evm:~# systemctl stop weston
    Warning: Stopping weston.service, but it can still be activated by:
      weston.socket
    root@am62pxx-evm:~# gst-launch-1.0 -v filesrc location=0804.BBB_1080_10s_30fps_h264.mp4 ! qtdemux ! h264parse ! v4l2h264dec ! kmssink driver-name=tidss sync=false force-modesetting=true
    Setting pipeline to PAUSED ...
    ERROR: from element /GstPipeline:pipeline0/GstKMSSink:kmssink0: Could not get allowed GstCaps of device
    Additional debug info:
    ../gst-plugins-bad-1.20.7/sys/kms/gstkmssink.c(907): gst_kms_sink_start (): /GstPipeline:pipeline0/GstKMSSink:kmssink0:
    driver does not provide mode settings configuration
    ERROR: pipeline doesn't want to preroll.
    ERROR: from element /GstPipeline:pipeline0/GstKMSSink:kmssink0: GStreamer error: state change failed and some element failed to post a proper error message with the reason for the failure.
    Additional debug info:
    ../gstreamer-1.20.7/libs/gst/base/gstbasesink.c(5878): gst_base_sink_change_state (): /GstPipeline:pipeline0/GstKMSSink:kmssink0:
    Failed to start
    ERROR: pipeline doesn't want to preroll.
    Failed to set pipeline to PAUSED.
    Setting pipeline to NULL ...
    Freeing pipeline ...
    

  • Does it work when you use wayland sink  instead of kmssink?

    Best Regards,

    Suren

  • How to use wayland sink  instead of kmssink,What is the command?

  • gst-launch-1.0 -v filesrc location=0804.BBB_1080_10s_30fps_h264.mp4 ! qtdemux ! h264parse ! v4l2h264dec ! waylandsink sync=false

  • Hi Suren,

    This command  work.

    root@am62pxx-evm:~# gst-launch-1.0 -v filesrc location=0804.BBB_1080_10s_30fps_h264.mp4 ! qtdemux ! h264parse ! v4l2h264dec ! waylandsink sync=false
    Setting pipeline to PAUSED ...
    Pipeline is PREROLLING ...
    /GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:sink: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)5.1, profile=(string)high, codec_data=(buffer)01640033ffe1001d67640033ac728440780227e5c044000003000400000300f03c60c6118001000768e84386cb22c0, width=(int)1920, height=(int)1080, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1
    Redistribute latency...
    /GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, level=(string)5.1, profile=(string)high, width=(int)1920, height=(int)1080, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true
    /GstPipeline:pipeline0/v4l2h264dec:v4l2h264dec0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, level=(string)5.1, profile=(string)high, width=(int)1920, height=(int)1080, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true
    /GstPipeline:pipeline0/v4l2h264dec:v4l2h264dec0.GstPad:src: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, framerate=(fraction)30/1
    /GstPipeline:pipeline0/GstWaylandSink:waylandsink0.GstPad:sink: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, framerate=(fraction)30/1
    Redistribute latency...
    Pipeline is PREROLLED ...
    Setting pipeline to PLAYING ...
    Redistribute latency...
    New clock: GstSystemClock
    Got EOS from element "pipeline0".
    Execution ended after 0:00:03.350592880
    Setting pipeline to NULL ...
    Freeing pipeline ...
    

    Thank you!