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.

How does one convert a video file into a DM355 mpeg4 decoder format?

Other Parts Discussed in Thread: TMS320DM355, MSP430F412

How can I convert video files into a format that the DM355's Mpeg4 decoder can handle? I have seen two related references in the TI web collateral,

(1) The first was an in-depth discussion of how to do it using various open source tools, but I can not find the document again. It was somewhere on the TI website or Davinci/Linux mailing list, but the search tools will not find it.  Can someone point me to this URL or app note.

(2) The second was a reference in theTI wiki about a TI eval version of Arcsoft media converter that will convert audio video files into a format that is compatible with the DM355's restricted Mpeg4 decoder.

( http://wiki.davincidsp.com/index.php?title=DM3xx_Gstreamer_Solution)

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

"DM355 can only playback movie clips encoded by DM355 MPEG4 encoder, or transcoded by certain tools.

MediaConverter from ArcSoft is able to convert most of movies to DM355 playable video format. The TI eval version of MediaConverter will converter the audio channel to u-law format. Then mencoder could be used to convert the audio channel to mp3 format."

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

The TI DM355 is obviously not on the Arcsoft's drop-down list of supported devices. Can you clarify what version of MediaConverter is being referred to and where it can be obtained?

Thanks ... gary

 

  • yangsb said:

     Hi xalexandregr

    The ArcSoft tool I download from  ArcSoft' websit does not seem to work well on DM355.

    Can you send me the  ArcSoft tool you are using  now ?

    We are maintaining a list of cutomers requesting the ArcSoft tool, hence ideally, we would like all requests for this tool to go thru www.ti.com/support as stated ealier in this thread.  You can send it to my attention (Juan Gonzales). Thank you in advance.

     

  • Could you please tell me more details how to install AR6000 (WLAN over SDIO) driver on DM355 EVM?  I have compiled the AR6000 driver as modules using the patch 14 of davinci kernel.

    I have gotten the following dynamic modules : sdio_lib.ko sdio_davinci_hcd.ko sdio_busdriver.ko ar6000.ko. Please give me some help. Thanks very much.

     

    Best Regards,

    Jeff

  • Juan Gonzales said:

     Hi xalexandregr

    The ArcSoft tool I download from  ArcSoft' websit does not seem to work well on DM355.

    Can you send me the  ArcSoft tool you are using  now ?

     

    We are maintaining a list of cutomers requesting the ArcSoft tool, hence ideally, we would like all requests for this tool to go thru www.ti.com/support as stated ealier in this thread.  You can send it to my attention (Juan Gonzales). Thank you in advance.

     

    [/quote]

     Hi , Juan

    I have sent my request last Friday through www.ti.com/support  :

    [This Email Sent From: Email Technical Support
    ]



    [ ]
    [ * Preferred Distributor ]

    Development Tools Support
    [ * Host Computer System ]
    [ * Operating System ]
    [ * Product ]
    [ * Version ]
    [ * Tool Affected (if any) ]
    [ * Component Affected(if any) ]
    [ * Severity ]
    [ * Requested Action ]

    [Problem:
    I need MediaConverter to generate avi files for DM355. I hope Juan Gonzales can help me.]

    [Steps Needed to Recreate Problem:


    ]
     When can I receive your reply ?

  • Since you are in Asia, your request went to our Asia support team, but I have found it and I will be responding to it today.

  • Juan,

     

    When I set bootargs with this string below, what means, in the practice, the 0,0 in '2025K@0,0'? I know that it is the window coordinates. So, I think that I set 40,0 (2025K@40,0) I am shifting in 40 pixels the window to the right, but it's not working when I try ./gst.sh 3 video.avi.

    "video=davincifb:vid0=720x480x16,2025K@0,0:vid1=720x480x16,2025K@0,0:osd0=720x480x16,1350K@0,0:osd1

     

    =720x480x4,1350K@0,0"

    My idea is to set the frame buffer like 720x4800x16,2025K@40,0  to centralize the video in the middle of the screen because the video resolution is 640x480. Is it right?

    I need put the video in the resolution 720x480 to play in the SDTV mode NTSC. How can I do this? It's not possible using the MediaConverter by ArcSoft. Are you from TI attacking this solution? 

     

  • Alex,

    I believe the user application is overwriting the window position set via bootargs.  Assuming you are using gstreamer port mentioned earlier in this post, I have the following feedback from one of our experts

    "It is possible to play the video in the center of the screen. There is an undocumented option. (I did not get time to document this feature yet.) But the fbvideosink plugin should be modified a little bit to do so.

    If you look at script gst.sh carefully, you could find line 37 is

    queue ! vdec engine=GstEngine codec=1 pad-buf-alloc=true ! fbvideosink

    By changing pad-buf-alloc from true to false, fbvideosink will use EDMA to copy the encoder output buffer to framebuffer. So fbvideosink should be modified so that destination memory address of EDMA-copy should be pointed to the proper location instead of the start address of the framebuffer. The dest address offset could be calculated by the screen resolution and video resolution.

    To use this feature, in VGA case, the bootargs should not be set to 640x480, (because the shift is caused by fbdev driver, not by gstreamer), bootargs should be set no less than D1 resolution."

  • Juan,

    Do you Know any way to use the GStreamer getting video stream from RTP (or anyone) network protocol? 

  • I know certain versions of Gstreamer support RTP, but to be honest I am not up to speed on this.  Perhaps the following link will help

    http://gstreamer.freedesktop.org/documentation/rtp.html

  • # ./gst.sh 2 a.avi
    gst-launch: error while loading shared libraries: libglib-2.0.so.0: cannot open shared object file: No such file or directory
    # export GST_PLUGIN_PATH=/usr/local/lib/gstreamer-0.10
    # export LD_LIBRARY_PATH=/usr/local/lib
    # ./gst.sh 2 a.avi
    Setting pipeline to PAUSED ...
    0:00:02.119328500  1088    0x15018 WARN                  vdec gstvdec.c:617:gst_vdec_codec_init: VIDDEC_control() failed on XDM_SETPARAMS
    0:00:02.122394458  1088    0x15018 WARN                  vdec gstvdec.c:738:gst_vdec_change_state:<vdec0> error: Cannot initialize codec
    ERROR: Pipeline doesn't want to pause.
    ERROR: from element /pipeline0/vdec0: Could not write to resource.
    Additional debug info:
    gstvdec.c(738): gst_vdec_change_state (): /pipeline0/vdec0:
    Cannot initialize codec
    Setting pipeline to NULL ...
    FREEING pipeline ...

    I met the same problem as xalexandregr, your advice does make sense

  • We are glad you found this thread helpful; let us know if there is anything we can help you with

  • I will now compile such a mistake。I hope to see you help me thank you

     

    arm_v5t_le-gcc -DHAVE_CONFIG_H -I. -I. -I../.. -pthread -I/home/hong/workdir/filesys/usr/local/include/gstreamer-0.10 -I/home/hong/workdir/filesys/usr/local/include/glib-2.0 -I/home/hong/workdir/filesys/usr/local/lib/glib-2.0/include -pthread -I/home/hong/workdir/filesys/usr/local/include/gstreamer-0.10 -I/home/hong/workdir/filesys/usr/local/include/glib-2.0 -I/home/hong/workdir/filesys/usr/local/lib/glib-2.0/include -I../../gst-libs -I../../gst-libs -pthread -I/home/hong/workdir/filesys/usr/local/include/gstreamer-0.10 -I/home/hong/workdir/filesys/usr/local/include/glib-2.0 -I/home/hong/workdir/filesys/usr/local/lib/glib-2.0/include -Wall -g -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/home/hong/workdir/filesys/usr/local/include -MT libgstcairo_la-gsttextoverlay.lo -MD -MP -MF .deps/libgstcairo_la-gsttextoverlay.Tpo -c gsttextoverlay.c -o libgstcairo_la-gsttextoverlay.o >/dev/null 2>&1
    /bin/bash ../../libtool --mode=link arm_v5t_le-gcc  -I/home/hong/workdir/filesys/usr/local/include   -o libgstcairo.la -rpath /home/hong/workdir/filesys/usr/local/lib/gstreamer-0.10 -module -avoid-version -export-symbols-regex '^_*gst_plugin_desc$' -no-undefined libgstcairo_la-gstcairo.lo libgstcairo_la-gsttimeoverlay.lo libgstcairo_la-gsttextoverlay.lo -pthread -L/home/hong/workdir/filesys/usr/local/lib -lgstbase-0.10 -lgstreamer-0.10 -lgobject-2.0 -lgmodule-2.0 -ldl -lgthread-2.0 -lrt -lglib-2.0   -pthread -L/home/hong/workdir/filesys/usr/local/lib -lgstreamer-0.10 -lgobject-2.0 -lgmodule-2.0 -ldl -lgthread-2.0 -lrt -lglib-2.0   -lcairo   -lm
    generating symbol list for `libgstcairo.la'
    nm  .libs/libgstcairo_la-gstcairo.o .libs/libgstcairo_la-gsttimeoverlay.o .libs/libgstcairo_la-gsttextoverlay.o  | sed -n -e 's/^.*[     ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[     ][     ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | /bin/sed 's/.* //' | sort | uniq > .libs/libgstcairo.exp
    /bin/grep -E -e "^_*gst_plugin_desc$" ".libs/libgstcairo.exp" > ".libs/libgstcairo.expT"
    mv -f ".libs/libgstcairo.expT" ".libs/libgstcairo.exp"
    echo "{ global:" > .libs/libgstcairo.ver
     cat .libs/libgstcairo.exp | sed -e "s/\(.*\)/\1;/" >> .libs/libgstcairo.ver
     echo "local: *; };" >> .libs/libgstcairo.ver
     arm_v5t_le-gcc -shared  .libs/libgstcairo_la-gstcairo.o .libs/libgstcairo_la-gsttimeoverlay.o .libs/libgstcairo_la-gsttextoverlay.o  -Wl,--rpath -Wl,/home/hong/workdir/filesys/usr/local/lib -Wl,--rpath -Wl,/home/hong/workdir/filesys/usr/local/lib -L/home/hong/workdir/filesys/usr/local/lib /home/hong/workdir/filesys/usr/local/lib/libgstbase-0.10.so /home/hong/workdir/filesys/usr/local/lib/libgstreamer-0.10.so /home/hong/workdir/filesys/usr/local/lib/libgobject-2.0.so /home/hong/workdir/filesys/usr/local/lib/libgmodule-2.0.so -ldl /home/hong/workdir/filesys/usr/local/lib/libgthread-2.0.so -lrt /home/hong/workdir/filesys/usr/local/lib/libglib-2.0.so -lcairo -lm  -pthread -pthread -Wl,-soname -Wl,libgstcairo.so -Wl,-version-script -Wl,.libs/libgstcairo.ver -o .libs/libgstcairo.so
    /opt/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/bin/../lib/gcc/armv5tl-montavista-linuxeabi/3.4.3/../../../../armv5tl-montavista-linuxeabi/bin/ld: cannot find -lcairo
    collect2: ld returned 1 exit status
    make[2]: *** [libgstcairo.la] error 1
    make[2]:Leaving directory `/home/hong/workdir/Gstreamer/dm355-gst-ti-0.2.3/opensource/gst-plugins-good-0.10.8/ext/cairo'
    make[1]: *** [install-recursive] error 1
    make[1]:Leaving directory `/home/hong/workdir/Gstreamer/dm355-gst-ti-0.2.3/opensource/gst-plugins-good-0.10.8/ext'
    make: *** [install-recursive] error 1

  • Are you sure cairo is the full name of the library?  Can you find it in your filesystem? 

    not having done this before, perhaps Alex or yangsb will be able to provide more specific advice.

  • Thank you, Juan Gonzales
    I tried  export  CAIRO_LIBS=/usr/lib/libcairo.so
    Has been a success.
    Thank you for your help
  • Dear all,

    i get the arcsoft convert tool  from TI,and used it convert avi file ,but 

    in dm355 evm ,the gstremaer can't work.

    i user the tr48.avi ,the gstremer can play it

    i convert the tr48.avi used by arcsoft ,why?

     

     

  • I found that I had to convert the audio from .avi files created with the Arcsoft tool from uLaw encoding to mp3.  I used ffmpeg to do this.  Then the .avi with mp3 audio played in Gstreamer on the DM355.

    A problem I am facing:

    I have not been able to strip the elementary mpeg4 video out of that same .avi file.  I want to play my own content in the decode demo, not Gstreamer.  I've tried copying the elemental video to a separate file with ffmpeg, but the format is not right for the decode demo.  Has anyone had any luck with that?

    Thanks!

  • whoops, answered my own question.  I was able to strip out the elemental video from the ArcSoft created .avi file with ffmpeg, plays fine in the standard decode demo.

     

  • I have a follow-up question about this -- how can you get the tr48.avi file posted by Juan Gonzales?  I've installed gstreamer on the DM6467 on top of the 2.00.00.22 SDK and can play elementary files with it.  I'm now looking for an avi file that works well with it (I've run into issues with the .avi files I've generated myself and want to start with a known baseline).  If anyone could help with this, that would be great!

       -Robert

     

  • the tr48.avi file is attached to the following post http://e2e.ti.com/forums/p/935/6558.aspx#6558 entry

  • Thank you so much!

    I saw this post before but missed the small "tr48.avi" link at the top of the e-mail.  I have the file now.

    Thank you again!

         -Robert