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 plugin issue

Part Number: AM5728

Tool/software: Linux

Hello TI Experts,

I download the gst-plugin-dsp66 source code from http://git.ti.com/processor-sdk/gst-plugin-dsp66 and compiled it.

When I replaced the same name file  in target board, and input command "gst-inspect-1.0 dsp66videokernel", system not found the element. How to resolved this issue? Please help me, thanks! 

My compiled scripts is following, it can compiled successed.

GST_MODULES="gstreamer gst-plugin-base gst-plugin-good gst-plugin-libav gst-plugin-dsp66"
GST_CONF=("" "--disable-pango --disable-ivorbis" "--disable-libpng" "" "") 
LOG_PATH=$PWD/gst-log
export PREFIX=$PWD/ARMInstall 

# AM5728 Enviroment 
export SDK_PATH_TARGET=$HOME/work_home/Source/am57xx_evm_3.0/linux-devkit/sysroots/cortexa15hf-neon-linux-gnueabi
export TI_OCL_CGT_INSTALL=$SDK_PATH_TARGET/usr/share/ti/cgt-c6x
export TARGET_ROOTDIR=$SDK_PATH_TARGET
export DESTDIR=$PREFIX

i=0
rm -rf $LOG_PATH/*
for MODULE in $GST_MODULES; do
    cd $MODULE
    ./autogen.sh > $LOG_PATH/$MODULE.log 2>&1
    PATH=$PREFIX/bin:$PATH PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig ./configure CC=arm-linux-gnueabihf-gcc --build=i686-linux --host=arm-linux ${GST_CONF[i]} >> $LOG_PATH/$MODULE.log 2>&1
    make clean >> $LOG_PATH/$MODULE.log 2>&1 && make -s -j4 >> $LOG_PATH/$MODULE.log 2>&1 && make install >> $LOG_PATH/$MODULE.log 2>&1
    if [ $? -ne 0 ]; then echo "$MODULE make error"; exit; else echo "$MODULE make success"; fi
    let i+=1
    cd - 
done

  • The software team have been notified. They will respond here.
  • Hi, should I ask for which software team ?
  • Hello,


    You could try to build the gst-dsp66 plugin by using this guide:
    processors.wiki.ti.com/.../Processor_SDK_Building_The_SDK
    If you are not using the latest PSDK version please scroll the page to the end and select the guide depending of the PSDK version that you are using.
    The last building step could be:
    MACHINE=am57xx-evm bitbake gstreamer1.0-plugins-dsp66

    You could check this guide for more information regarding gst dsp66 also:
    processors.wiki.ti.com/.../Processor_Training:_Multimedia

    If you use gst-inspect-1.0 without arguments will print out a listing of installed plugins also.

    BR
    Margarita
  • Thanks for your answer.
    I follow as this guide execute, when I run command "MACHINE=am57xx-evm bitbake gstreamer1.0-plugins-dsp66", it start to download depend libraries. But it always interrupt download and stop compiled.
    I can't compile it complete.
  • Hello,

    Could you post  the log?

    BR
    Margarita

  • Hi Margarita:
    I have according to the "Processor SDK Building The SDK" compile complete gst-plugins-dsp66.
    The compile complete's key is download all source code from "software-dl.ti.com/.../sources" with download tools then copy their to tisdk/downloads directory. Then compile it can successfully passed.

    But I still have a question.
    Why I used for gst-plugins-dsp66 when camera capture, it print error information.

    How to used gst-plugins-dsp66 when camera capture? 

    I input follow command:
    "gst-launch-1.0 v4l2src device=/dev/video1 io-mode=4 ! 'video/x-raw, format=(string)NV12, width=(int)1280, height=(int)720, framerate=(fraction)30/1' ! videoconvert ! dsp66videokernel kerneltype=1 filtersize=9 lum-only=1 ! videoconvert ! vpe ! 'video/x-raw, format=(string)NV12, width=(int)640, height=(int)480' ! kmssink"

    It print error information:

  • I want to used dsp algorithm through gst-plugins-dsp66 in camera capture and display on HDMI.
  • Hello,

    I would recommend you first to verify the capture without the dps66 element.
    What is the reason to connect videoconvert to vpe element also?
    Please check this guide for capture pipelines:
    processors.wiki.ti.com/.../Processor_Training:_Multimedia
    In most of the cases error streaming task paused, reason not-negotiated (-4) means video format you get from the v4l2src is not compatible with the sink.
    You also could run gst-inspect-1.0 "dsp66videokernel". This command will display you the properties of the element, pad templates etc.

    BR
    Margarita
  • Thanks for your reply !

    I recheck all gst-plugins element's properties.

    "dsp66videokernel" format is YV12 and I420

    "v4l2src" format is NV12 and YUY2

    "vpe" format is YUYV, NV12 and YUY2

    So I rebuild-up command as folowing:

    "gst-launch-1.0 v4l2src device=/dev/video1 io-mode=4 ! 'video/x-raw, format=(string)NV12, width=(int)1280, height=(int)720, framerate=(fraction)30/1' ! vpe ! 'video/x-raw, format=(string)NV12, width=(int)640, height=(int)480' ! videoconvert ! dsp66videokernel kerneltype=5 filtersize=9 lum-only=1 ! videoconvert ! vpe ! kmssink"

    The data flow as following:

    camera capture image to buffer -->scale the image through vpe --> "videoconvert", convert format for adapt to "dsp66videokernel" -->"dsp66videokernel", run dsp algorithm --> "videoconvert", convert format for adapt to "vpe" -->then display on HDMI through "kmssink"

    Then I can run dsp algorithm when camera capture and display on HDMI.

    Thanks for you help ! 

  • Hello,

    I am glad that this issue is solved.

    BR
    Margarita