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.

Deliver bitstream to M4 in AM57xx

hi experts,

I download software from http://software-dl.ti.com/processor-sw/esd/PROCESSOR-SDK-LINUX-AM57X/latest/index_FDS.html 

And I referred to processors.wiki.ti.com/.../Processor_Training:_Multimedia

I need to find out the entry point where arm delivers bit-stream/command to M4, because we may want to replace the Gstreamer with other.

Could you give any hints?

Thanks

  • hi there,
    As I referred the above link, I could figured out that GST-Ducati plugin is libgstducati.so/libgstvpe.so and they call functions such as dce_alloc/dec_free...etc from libdce.so. I download libgstducati related source from github.com/.../gst-ducati but it's too old and not complete. Could you provide the related source for our reference to keep on development.

    We need the example to deliver bit-stream/command to M4 to enocde/decode

    Thanks.

  • I will forward this to the software team for comments.
  • hi Biser,
    Great thanks for your reply.

    I found the source below, correct me if wrong thanks
    GST-Ducati plugin about libgstducati.so/libgstvpe.so is in git.ti.com/.../
    DCE about libdce.so is in github.com/.../libdce

    I found some more basic example as below ( I can refer to the following, right ??)
    processors.wiki.ti.com/.../DRA7xx_GLSDK_Software_Developers_Guide

    Q1. Could you provide the source of viddec3test, videnc2test as well ??   how to compile source ??


    Q2. I got the following as I try viddec3test with normal display. What does the error mean??

    root@am57xx-evm:~# viddec3test -s 30:1920x1080 airshow_p352x288.h264 --fps 30
    0x2c070: Opening Display..
    Forcing playback rate at 30 fps.
    using 1 connectors, 800x480 display, multiplanar: 1
    0x2c070: Opening Demuxer..
    [h264 @ 0x2d6e0] Estimating duration from bitrate, this may be inaccurate
    Input #0, h264, from 'airshow_p352x288.h264':
    Duration: N/A, bitrate: N/A
    Stream #0.0: Video: h264 (High), yuv420p, 352x288, 25 fps, 25 tbr, 25 tbn
    0x2c070: infile=airshow_p352x288.h264, width=352, height=288
    0x2c070: padded_width=512, padded_height=384, num_buffers=19
    Setting mode 1920x1080 on connector 30, crtc 32
    0x2c070: Opening Engine..
    displayBufsMode: 1
    0x2c070: end of input
    ERROR:decoder_process:403: 0x2c070: process returned error: -1
    ERROR:decoder_process:404: 0x2c070: extendedError: 00040000
    root@am57xx-evm:~#

    Q3. What's the difference of decode/encode between gstreamer and viddec3test/videnc2test ??

  • hi  Biser,

    Q1. Could you provide the source of viddec3test, videnc2test as well ?? how to compile source ??
    > I found the source was in git.ti.com/.../omapdrmtest but it's for GLSDK.
    According to this reference processors.wiki.ti.com/.../Processor_Linux_SDK_Graphics_and_Display, I can use the SW from above link.

    And I try to compile under the environment from software-dl.ti.com/.../index_FDS.html
    I compile with the headers/libraries from linux-devkit/sysroots/cortexa15hf-vfp-neon-linux-gnueabi/usr/include and linux-devkit/sysroots/cortexa15hf-vfp-neon-linux-gnueabi/usr/lib. I got following

    demux.c:(.text+0x156): undefined reference to `av_open_input_file'
    demux.c:(.text+0x16c): undefined reference to `dump_format'
    demux.c:(.text+0x21e): undefined reference to `av_find_stream_info'

    I checked as below and found nothing
    [aul@aul cortexa15hf-vfp-neon-linux-gnueabi] $ grep -r "av_open_input_file" ./usr/include/
    [aul@aul cortexa15hf-vfp-neon-linux-gnueabi] $

    I google it and got following messages from ffmpeg.zeranoe.com/.../viewtopic.php
    av_open_input_file() is deprecated; use avformat_open_input().

    confirm the above info with following
    [aul@aul cortexa15hf-vfp-neon-linux-gnueabi] $ grep -r "avformat_open_input" ./usr/include/libavformat/
    ...
    ./usr/include/libavformat/avformat.h:int avformat_open_input(AVFormatContext **ps, const char *filename, AVInputFormat *fmt, AVDictionary **options);
    [aul@aul cortexa15hf-vfp-neon-linux-gnueabi] $

    So it looks like software version mismatch.
    Could you give a hand on this?? Correct me if I misunderstand.

    Thanks.

  • This has been forwarded to the software team. Feedback will be posted directly here when available.
  • Hi,

        1. Source codes for both viddec3test and videnc2test can be found at http://git.ti.com/glsdk/omapdrmtest/trees/master . Please follow the instructions on GLSDK Software developer guide mentioned above to build them

        3. Both gstreamer and viddec3test/videnc2test are application level components. They use the same stack. The difference is gstreamer is a well established framework which enables threading and multiple instance creations. Also since there is a whole open source community behind it, the support available for different plugins and usecases are high. There are limited use cases for viddec3test and videnc2test as they are developed as test applications

  • hi, Pooja
    Many thanks for your reply.

    1. By chekcing, the versions of software between software-dl.ti.com/.../index_FDS.html and software-dl.ti.com/.../index.html are different. Like kernel ..etc.

    Did you mean I can use all SW in glsdk to generate viddec3test to put into AM57xx without problem??
    Is GLSDK compatible to PROCESSOR-SDK-LINUX-AM57X 02_00_00_00 completely ??

    Thanks
  • Also,
    2. The error code correspond to EOS and is set by the codec. This is expected. As the name suggests its a test application and doesn't have error handling.
  • Hi,
    I'm not familiar with AM57xx. I don't think if slight version changes would effect the viddec3test binaries behaviour. But I would let someone else comment about the feasiility or build procedure on AM57xx.

    Thanks and Regards,
    Pooja Prajod
  • Hi Pooja,
    Any update about the feasiility or build procedure on AM57xx for omadrmtest such as viddec3test ... etc

    Thanks.
  • You can build th omapdrmtest through Yocto. The receipe is in sources/meta-arago/meta-arago-extras/recipes-graphics/omapdrmtest. To build through Yocto, follow this wiki page -
    processors.wiki.ti.com/.../Processor_SDK_Building_The_SDK
  • hi manisha,
    thanks for your info

    I got messages below after following steps in provided URL. It looks like the source was retrieved by TI internal.
    How do I get the files in another way and skip the step here ?? (I can unzip this file by myself...)


    NOTE: Preparing RunQueue
    NOTE: Executing SetScene Tasks
    NOTE: Executing RunQueue Tasks
    WARNING: Failed to fetch URL install.source.dir.local/CCS6.1.1.00022_linux.tar.gz;name=ccsv6, attempting MIRRORS if available
    ERROR: Fetcher failure: Fetch command failed with exit code 4, output:
    wget: unable to resolve host address 'install.source.dir.local'

    ERROR: Function failed: Fetcher failure for URL: 'install.source.dir.local/CCS6.1.1.00022_linux.tar.gz;name=ccsv6'. Unable to fetch URL from any source.
    ERROR: Logfile of failure stored in: /home/user/Downloads/tisdk/build/arago-tmp-external-linaro-toolchain/work/x86_64-linux/ti-ccsv6-native/6.1.1.00022-r0/temp/log.do_fetch.15201
    ERROR: Task 4043 (/home/user/Downloads/tisdk/sources/meta-ti/recipes-ti/devtools/ti-ccsv6-native_6.1.1.00022.bb, do_fetch) failed with exit code '1'

    Thanks.
  • Actually this is not a proxy issue. You missed to follow the code composer studio part in the below wiki page
    processors.wiki.ti.com/.../Processor_SDK_Building_The_SDK
    processors.wiki.ti.com/.../Processor_SDK_Building_The_SDK
  • hi manisha,

    Thanks for your reply.

    I have download this file, but

    Q1. where I should untar this file to (CCS6.1.1.00022_linux.tar.gz) ??
    Q2. how to skip without error after unzip the file ??

    Thanks

  • You don’t need to untar the CCS tarball. You can simply copy the tarball (CCS6.1.1.00022_linux.tar.gz) to tisdk/downloads directory, and then run "touch tisdk/downloads/CCS6.1.1.00022_linux.tar.gz.done".
  • hi manisha,

    thanks for your reply.

    after that, now I could keep on. But I still encounter the following error at the final step.

    | Configuring gdb-cross-canadian-arm.

    | Configuring gcc-cross-canadian-arm.

    | Configuring binutils-cross-canadian-arm.

    | Configuring packagegroup-arago-cross-canadian-am57xx-evm.

    |

    | NOTE: Executing arago_sdk_fixup ...

    | DEBUG: Executing shell function arago_sdk_fixup

    | ('movefile: Failed to move', '/home/user/Downloads/tisdk/build/arago-tmp-external-linaro-toolchain/work/cortexa15hf-vfp-neon-linux-gnueabi/meta-toolchain-arago-tisdk/1.0-r5.0.tisdk0/sdk/image/var/lib/opkg/info', 'to', '/home/user/Downloads/tisdk/build/arago-tmp-external-linaro-toolchain/work/cortexa15hf-vfp-neon-linux-gnueabi/meta-toolchain-arago-tisdk/1.0-r5.0.tisdk0/sdk/image/tmp/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy/sysroots/x86_64-arago-linux/var/lib/opkg', OSError(39, 'Directory not empty'))

    | ('movefile: Failed to move', '/home/user/Downloads/tisdk/build/arago-tmp-external-linaro-toolchain/work/cortexa15hf-vfp-neon-linux-gnueabi/meta-toolchain-arago-tisdk/1.0-r5.0.tisdk0/sdk/image/var/lib/opkg/status', 'to', '/home/user/Downloads/tisdk/build/arago-tmp-external-linaro-toolchain/work/cortexa15hf-vfp-neon-linux-gnueabi/meta-toolchain-arago-tisdk/1.0-r5.0.tisdk0/sdk/image/tmp/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy/sysroots/x86_64-arago-linux/var/lib/opkg', OSError(21, 'Is a directory'))

    | No packages removed.

    | Removing package libgnutls-dev from root...

    | Removing package libgnutls-openssl27 from root...

    | Removing package coreutils from root...

    | /home/user/Downloads/tisdk/build/arago-tmp-external-linaro-toolchain/work/cortexa15hf-vfp-neon-linux-gnueabi/meta-toolchain-arago-tisdk/1.0-r5.0.tisdk0/temp/run.arago_sdk_fixup.13144: 125: /home/user/Downloads/tisdk/build/arago-tmp-external-linaro-toolchain/work/cortexa15hf-vfp-neon-linux-gnueabi/meta-toolchain-arago-tisdk/1.0-r5.0.tisdk0/temp/run.arago_sdk_fixup.13144: pushd: not found

    | WARNING: exit code 127 from a shell command.

    | DEBUG: Python function do_populate_sdk finished

    | ERROR: Function failed: arago_sdk_fixup (log file is located at /home/user/Downloads/tisdk/build/arago-tmp-external-linaro-toolchain/work/cortexa15hf-vfp-neon-linux-gnueabi/meta-toolchain-arago-tisdk/1.0-r5.0.tisdk0/temp/log.do_populate_sdk.13144)

    ERROR: Task 108 (/home/user/Downloads/tisdk/sources/meta-arago/meta-arago-distro/recipes-core/meta/meta-toolchain-arago-tisdk.bb, do_populate_sdk) failed with exit code '1'

    NOTE: Tasks Summary: Attempted 5604 tasks of which 5603 didn't need to be rerun and 1 failed.

    No currently running tasks (5597 of 5606)

    Summary: 1 task failed:

     /home/user/Downloads/tisdk/sources/meta-arago/meta-arago-distro/recipes-core/meta/meta-toolchain-arago-tisdk.bb, do_populate_sdk

    Summary: There was 1 ERROR message shown, returning a non-zero exit code.

    [user@ build] (master)$

    And I can't find any resource to talk about this error,  could you help on this ??

    Thanks.

  • hi experts,


    After checking, I miss to install one of these packages
    git build-essential diffstat texinfo gawk chrpath dos2unix wget unzip g++-multilib socat libsdl1.2-dev xterm doxygen

    one more question is 

    how did I compile with the latest changes in the work area like omapdrmtest ??