DivX MPEG-4 Version 5 Support in Gstreamer 0.1

One customer tests a DivX MPEG-4 Version 5 format video with gstreamer0.1 on Apalis i.MX6. But it seems divx plug-in is not included in our BSP.

root@MiWiFi-R1CM-srv:~# gst-launch-1.0 playbin uri=file:///home/root/3.avi 
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...

====== AIUR: 4.0.8 build on Sep 29 2016 22:06:44. ======
        Core: AVI_PARSER_03.05.20  build on May 25 2015 09:01:21
 file: /usr/lib/imx-mm/parser/lib_avi_parser_arm11_elinux.so.3.1
------------------------
    Track 00 [video_0] Enabled
        Duration: 0:00:11.219074000
        Language: und
    Mime:
        video/x-divx, divxversion=(int)5, width=(int)640, height=(int)480, framerate=(fraction)24001/1001 
------------------------
Missing element: DivX MPEG-4 Version 5 decoder
WARNING: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: No decoder available for type 'video/x-divx, divxversio
n=(int)5, width=(int)640, height=(int)480, framerate=(fraction)24001/1001'.
Additional debug info:
/build/linuxdev/oe-core_V2.6.1/build/tmp-glibc/work/armv7at2hf-vfp-neon-mx6qdl-angstrom-linux-gnueabi/gstreamer1.0-plugins-base/1
.4.5-r0/gst-plugins-base-1.4.5/gst/playback/gsturidecodebin.c(939): unknown_type_cb (): /GstPlayBin:playbin0/GstURIDecodeBin:urid
ecodebin0
ERROR: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: Your GStreamer installation is missing a plug-in.
Additional debug info:
/build/linuxdev/oe-core_V2.6.1/build/tmp-glibc/work/armv7at2hf-vfp-neon-mx6qdl-angstrom-linux-gnueabi/gstreamer1.0-plugins-base/1
.4.5-r0/gst-plugins-base-1.4.5/gst/playback/gsturidecodebin.c(990): no_more_pads_full (): /GstPlayBin:playbin0/GstURIDecodeBin:ur
idecodebin0:
no suitable plugins found
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...

I check layers in meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/ . There is a ‘libav-9.patch’ in gst-ffmpeg_0.10.13.bb. It deals with video/x-divx format. However, with gst-ffmpeg included in angstrom-lxde-image.bb the built image still doesn’t have DivX support.

root@apalis-imx6:/etc/opkg# gst-inspect-1.0 |grep video/                                                   
typefindfunctions: video/x-ms-asf: asf, wm, wma, wmv
typefindfunctions: video/x-msvideo: avi
typefindfunctions: video/x-cdxa: dat
typefindfunctions: video/x-vcd: dat
typefindfunctions: video/x-fli: flc, fli
typefindfunctions: video/mpeg-sys: mpe, mpeg, mpg
typefindfunctions: video/mpegts: ts, mts
typefindfunctions: video/mpeg-elementary: mpv, mpeg, mpg
typefindfunctions: video/mpeg4: m4v
typefindfunctions: video/x-h263: h263, 263
typefindfunctions: video/x-h264: h264, x264, 264
typefindfunctions: video/x-h265: h265, x265, 265
typefindfunctions: video/x-nuv: nuv
typefindfunctions: video/quicktime: mov, mp4
typefindfunctions: video/mj2: mj2
typefindfunctions: video/x-flv: flv
typefindfunctions: video/x-matroska: mkv, mka, mk3d, webm
typefindfunctions: video/x-mve: mve
typefindfunctions: video/x-dv: dv, dif
typefindfunctions: video/x-mng: mng
typefindfunctions: video/x-theora: no extensions
typefindfunctions: video/x-dirac: no extensions
typefindfunctions: video/vivo: viv
typefindfunctions: video/x-ivf: ivf
typefindfunctions: video/x-pva: pva

On NXP community, I found this thread. It means license is needed for DivX.

I guess that only talks about Android which is not generally using gstreamer but according to this probably the same applies.

Thanks. So one may find NXP/Freescale or even Qualcomm about the license for DivX 3/5/6 decoding on i.MX6. It is supported on Tegra with gstreamer-0.1, Nvidia should have license for that.

No, the customers are required to get any required licences by themselves.