summaryrefslogtreecommitdiff
path: root/recipes
diff options
context:
space:
mode:
Diffstat (limited to 'recipes')
-rw-r--r--recipes/ti/gstreamer-ti.inc121
-rw-r--r--recipes/ti/gstreamer-ti/0001-gstreamer-ti-tracker-1055.patch994
-rw-r--r--recipes/ti/gstreamer-ti/0002-add-omapl138-support.patch (renamed from recipes/ti/gstreamer-ti/gstreamer-ti-omapl138.patch)89
-rw-r--r--recipes/ti/gstreamer-ti/0003-add-omapl137-support.patch (renamed from recipes/ti/gstreamer-ti/gstreamer-ti-omapl137.patch)183
-rw-r--r--recipes/ti/gstreamer-ti/0004-gstreamer-ti-dm6467-usesinglecsserver.patch (renamed from recipes/ti/gstreamer-ti/gstreamer-ti-dm6467-usesinglecsserver.patch)21
-rw-r--r--recipes/ti/gstreamer-ti/0005-remove-mp3-mime-type.patch42
-rw-r--r--recipes/ti/gstreamer-ti/0006-gstreamer-ti-tracker-462.patch (renamed from recipes/ti/gstreamer-ti/gstreamer-ti-tracker-462.patch)43
-rw-r--r--recipes/ti/gstreamer-ti/0007-add-omapdmaifbsink.patch (renamed from recipes/ti/gstreamer-ti/gstreamer-ti-add-omapfb.patch)110
-rw-r--r--recipes/ti/gstreamer-ti/dm355-evm/gst-ti.sh12
-rw-r--r--recipes/ti/gstreamer-ti/dm365-evm/gst-ti.sh12
-rw-r--r--recipes/ti/gstreamer-ti/dm365-evm/loadmodules.sh27
-rw-r--r--recipes/ti/gstreamer-ti/gst-ti.sh9
-rw-r--r--recipes/ti/gstreamer-ti/gstreamer-ti-dm355-rc.sh61
-rw-r--r--recipes/ti/gstreamer-ti/gstreamer-ti-dm365-rc.sh54
-rw-r--r--recipes/ti/gstreamer-ti/gstreamer-ti-dm6446-rc.sh71
-rw-r--r--recipes/ti/gstreamer-ti/gstreamer-ti-dm6467-rc.sh71
-rw-r--r--recipes/ti/gstreamer-ti/gstreamer-ti-omap3530-rc.sh71
-rw-r--r--recipes/ti/gstreamer-ti/gstreamer-ti-omapl138-rc.sh54
-rw-r--r--recipes/ti/gstreamer-ti/gstreamer-ti-rc.sh29
-rw-r--r--recipes/ti/gstreamer-ti/gstreamer-ti-remove-mp3-decode-support-from-auddec1.patch26
-rw-r--r--recipes/ti/gstreamer-ti/gstreamer-ti-tracker-824.patch147
-rw-r--r--recipes/ti/gstreamer-ti/omap3/gstreamer-ti-rc.sh (renamed from recipes/ti/gstreamer-ti/gstreamer-ti-omapl137-rc.sh)24
-rw-r--r--recipes/ti/gstreamer-ti/omap3/loadmodules.sh20
-rw-r--r--recipes/ti/gstreamer-ti/omap3evm/gstreamer-ti-rc.sh29
-rw-r--r--recipes/ti/gstreamer-ti/omapl137/loadmodules.sh12
-rw-r--r--recipes/ti/gstreamer-ti/omapl138/loadmodules.sh13
-rw-r--r--recipes/ti/gstreamer-ti_svn.bb176
27 files changed, 1577 insertions, 944 deletions
diff --git a/recipes/ti/gstreamer-ti.inc b/recipes/ti/gstreamer-ti.inc
new file mode 100644
index 0000000000..afcc59b0c7
--- /dev/null
+++ b/recipes/ti/gstreamer-ti.inc
@@ -0,0 +1,121 @@
+DESCRIPTION = "GSTREAMER Plugin (gstreamer-ti) for TI ARM/DSP processors"
+HOMEPAGE = "https://gforge.ti.com/gf/project/gstreamer_ti/"
+SECTION = "multimedia"
+LICENSE = "LGPL"
+
+# TODO :: Replace omapl137 with official support in GST (currently linking to omapl138)
+# TODO :: Codec Server Environment Variables shouldn't be required
+# TODO :: Add (and check) rc scripts for all targets (just copied for now) (365,6467,omapl137)
+# TODO :: Check if CPPFLAGS_append is still required
+# TODO :: Remove ENCODE/DECODE combo exports - these are not used anymore (check?)
+
+inherit autotools
+inherit update-rc.d
+require ti-paths.inc
+require ti-staging.inc
+
+# Rebuild on kernel change since it links statically to ti-dmai, ti-codec-engine, etc
+PR = "r58+${MACHINE_KERNEL_PR}"
+
+DEPENDS = "ti-dmai gstreamer gst-plugins-base"
+
+# gstreamer_ti picks up some config variables from the environment
+# - variables are used in the gstreamer makefile
+# - PLATFORM, XDC_PLATFORM, XDC_TARGET, MVTOOL_DIR
+# - others used by config.bld (which it gets from the dmai config.bld)
+# - CROSS_COMPILE, PLATFORM_XDC
+
+PLATFORM_dm6446 = "dm6446"
+PLATFORM_dm6467 = "dm6467"
+PLATFORM_dm6467t = "dm6467t"
+PLATFORM_omap3 = "omap3530"
+PLATFORM_dm355 = "dm355"
+PLATFORM_dm365 = "dm365"
+PLATFORM_omapl137 = "omapl137"
+PLATFORM_omapl138 = "omapl138"
+PLATFORM ?= "<UNDEFINED_PLATFORM>"
+GST_TI_PLATFORM = ${PLATFORM}
+
+XDC_PLATFORM_dm6446 = "ti.platforms.evmDM6446"
+XDC_PLATFORM_dm6467 = "ti.platforms.evmDM6467"
+XDC_PLATFORM_omap3 = "ti.platforms.evm3530"
+XDC_PLATFORM_dm355 = "ti.platforms.evmDM355"
+XDC_PLATFORM_dm365 = "ti.platforms.evmDM365"
+XDC_PLATFORM_omapl137 = "ti.platforms.evmOMAPL137"
+XDC_PLATFORM_omapl138 = "ti.platforms.evmOMAPL138"
+XDC_PLATFORM ?= "<UNDEFINED_XDC_PLATFORM>"
+
+export PLATFORM
+export GST_TI_PLATFORM
+export XDC_PLATFORM
+export XDC_TARGET = "gnu.targets.arm.GCArmv5T"
+export PLATFORM_XDC = ${XDC_PLATFORM}
+export MVTOOL_DIR = "${TOOLCHAIN_PATH}"
+export CROSS_COMPILE = "${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}"
+export LINK_XDC_ROOT = "${LINK_INSTALL_DIR}"
+
+# export codec combo (or server) locations
+# Why do we need to do this?? - These will get picked up from CODEC_INSTALL_DIR?
+# Sould only need this if we change from default server
+
+export CODEC_SERVER = "${installdir}/ti-codecs-server/cs.x64P"
+CPPFLAGS_append = " -DPlatform_${PLATFORM}"
+
+do_install_prepend () {
+
+ install -d ${D}/${installdir}/gst/${PLATFORM}
+
+ # copy gstreamer demo scripts
+ cp -r ${WORKDIR}/gstreamer_ti/gstreamer_demo/shared ${D}/${installdir}/gst
+
+ # If we have loadmodule.sh in WORKDIR then give preference to this over
+ # the default gst-ti loadmdules.sh
+ if [ -f ${WORKDIR}/loadmodules.sh ]; then
+ cp ${WORKDIR}/loadmodules.sh ${D}/${installdir}/gst/${PLATFORM}
+ else
+ cp -r ${WORKDIR}/gstreamer_ti/gstreamer_demo/${PLATFORM} ${D}/${installdir}/gst
+ fi
+
+ # replace insmod with modprobe
+ sed -i 's/insmod/modprobe/g' ${D}/${installdir}/gst/${PLATFORM}/loadmodules.sh
+ sed -i 's/.ko//g' ${D}/${installdir}/gst/${PLATFORM}/loadmodules.sh
+
+ if [ "${PLATFORM}" = "omap3530" ]; then
+ echo "modprobe sdmak" >> ${D}/${installdir}/gst/${PLATFORM}/loadmodules.sh
+ fi
+
+ # FIXME: add depmod -a after #!/bin/sh
+ sed -i '/#!\/bin\/sh/a\depmod -a' ${D}/${installdir}/gst/${PLATFORM}/loadmodules.sh
+
+ # delete .svn files
+ find ${D}/${installdir}/gst -name .svn -type d | xargs rm -rf
+ chmod 0755 ${D}/${installdir}/gst -R
+
+ install -d ${D}${sysconfdir}/init.d/
+ install -m 0755 ${WORKDIR}/gstreamer-ti-rc.sh ${D}${sysconfdir}/init.d/gstti-init
+ install -d ${D}${sysconfdir}/profile.d/
+ install -m 0755 ${WORKDIR}/gst-ti.sh ${D}${sysconfdir}/profile.d/
+}
+
+RRECOMMENDS_${PN}_append_dm6446 += "ti-codecs-dm6446-server ti-cmem-module ti-dsplink-module"
+RRECOMMENDS_${PN}_append_dm6467 += "ti-codecs-dm6467 ti-cmem-module ti-dsplink-module"
+RRECOMMENDS_${PN}_append_omap3 += "ti-codecs-omap3530-server ti-cmem-module ti-dsplink-module ti-lpm-module ti-sdma-module"
+RRECOMMENDS_${PN}_append_dm355 += "ti-codecs-dm355 ti-cmem-module ti-dm355mm-module"
+RRECOMMENDS_${PN}_append_dm365 += "ti-codecs-dm365 ti-cmem-module ti-dm365mm-module ti-edma-module ti-irq-module"
+RRECOMMENDS_${PN}_append_omapl137 += "ti-codecs-omapl137-server ti-cmem-module ti-dsplink-module"
+RRECOMMENDS_${PN}_append_omapl138 += "ti-codecs-omapl138-server ti-cmem-module ti-dsplink-module"
+
+FILES_${PN} += "${libdir}/gstreamer-0.10/*.so ${sysconfdir} ${installdir}"
+FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*.a ${libdir}/gstreamer-0.10/*.la"
+FILES_${PN}-dbg += "${libdir}/gstreamer-0.10/.debug"
+
+pkg_postinst_${PN} () {
+ if [ -d ${installdir}/ti-codecs-server/ ]; then
+ ln -sf ${installdir}/ti-codecs-server/* ${installdir}/gst/${PLATFORM}/
+ fi
+}
+
+
+INITSCRIPT_NAME = "gstti-init"
+INITSCRIPT_PARAMS = "start 30 5 2 . stop 40 0 1 6 ."
+
diff --git a/recipes/ti/gstreamer-ti/0001-gstreamer-ti-tracker-1055.patch b/recipes/ti/gstreamer-ti/0001-gstreamer-ti-tracker-1055.patch
new file mode 100644
index 0000000000..99a94a5561
--- /dev/null
+++ b/recipes/ti/gstreamer-ti/0001-gstreamer-ti-tracker-1055.patch
@@ -0,0 +1,994 @@
+From 455900e8cbb7a88d3ec05cba5393f4ca0bf22adc Mon Sep 17 00:00:00 2001
+From: Brijesh Singh <bksingh@ti.com>
+Date: Sun, 9 May 2010 05:21:19 -0500
+Subject: [PATCH] gstreamer ti tracker 1055
+
+---
+ Makefile.external | 49 +++++++---
+ src/Makefile.am | 4 +-
+ src/gstticodecplugin_dm355.cfg | 143 ++++++++++++-----------------
+ src/gstticodecplugin_dm365.cfg | 185 ++++++++++++++++++--------------------
+ src/gstticodecplugin_dm6467t.cfg | 34 +++++++
+ src/gstticodecs_dm355.c | 11 +--
+ src/gstticodecs_dm365.c | 23 ++++--
+ src/gstticodecs_dm6467.c | 2 +-
+ src/gstticodecs_dm6467t.c | 69 ++++++++++++++
+ src/gsttidmaivideosink.c | 25 ++++-
+ src/gsttividdec2.c | 73 ++++++++-------
+ src/gsttividenc1.c | 10 ++-
+ src/gsttividresize.c | 4 +
+ 13 files changed, 380 insertions(+), 252 deletions(-)
+ create mode 100644 src/gstticodecplugin_dm6467t.cfg
+ create mode 100644 src/gstticodecs_dm6467t.c
+
+diff --git a/Makefile.external b/Makefile.external
+index ca14b49..1f67783 100644
+--- a/Makefile.external
++++ b/Makefile.external
+@@ -3,8 +3,7 @@
+ #
+ # The only customization required below is defining the DVSDK_PATH
+ # and, if your DVSDK doesn't include DMAI, the set DMAI_INSTALL_DIR variable
+-# appropriately. If your DVSDK does include DMAI, then delete the line
+-# setting the DMAI_INSTALL_DIR variable below.
++# appropriately.
+ #
+ # Copyright (C) 2009 Ridgerun
+ #
+@@ -17,15 +16,16 @@ DMAI_INSTALL_DIR=undefined
+ ifeq ($(DVSDK_PATH),undefined)
+ $(error You need to define the environment variable DVSDK_PATH)
+ endif
++include $(DVSDK_PATH)/Rules.make
++
+ ifeq ($(DMAI_INSTALL_DIR),undefined)
+ $(error You need to define the environment variable DMAI_INSTALL_DIR)
+ endif
+
+ default:
+- @echo "Please specify the target: dm6446, omap3530, dm355, dm6467, dm365"
++ @echo "Please specify the target: dm6446, omap3530, dm355, dm6467, dm6467t, dm365"
+
+-include $(DVSDK_PATH)/Rules.make
+-export PLATFORM=$(MAKECMDGOALS)
++export GST_TI_PLATFORM=$(MAKECMDGOALS)
+ export BIOS_INSTALL_DIR
+ export CE_INSTALL_DIR
+ export CMEM_INSTALL_DIR
+@@ -33,6 +33,7 @@ export CODEC_INSTALL_DIR
+ export DMAI_INSTALL_DIR
+ export FC_INSTALL_DIR
+ export LINK_INSTALL_DIR
++export LINK_XDC_ROOT = $(LINK_INSTALL_DIR)/packages
+ export LINUXKERNEL_INSTALL_DIR
+ export LPM_INSTALL_DIR
+ export MVTOOL_DIR
+@@ -41,34 +42,49 @@ export XDAIS_INSTALL_DIR
+ export XDC_INSTALL_DIR
+ export EDMA3_LLD_INSTALL_DIR
+
+-ifeq ($(PLATFORM), dm355)
+- export XDC_TARGET = gnu.targets.MVArm9
+- export XDC_PLATFORM = ti.platforms.evmDM355
++ifeq ($(GST_TI_PLATFORM), dm355)
++ export XDC_TARGET = gnu.targets.arm.GCArmv5T
++ export XDC_PLATFORM = ti.platforms.evmDM355
++ export MVTOOL_PREFIX = $(CSTOOL_PREFIX)
++ export MVTOOL_DIR = $(CSTOOL_DIR)
++ export PLATFORM_XDC = ${XDC_PLATFORM}
+ endif
+
+-ifeq ($(PLATFORM), dm6446)
++ifeq ($(GST_TI_PLATFORM), dm6446)
+ export XDC_TARGET = gnu.targets.MVArm9
+ export XDC_PLATFORM = ti.platforms.evmDM6446
+ endif
+
+-ifeq ($(PLATFORM), dm6467)
++ifeq ($(GST_TI_PLATFORM), dm6467)
+ export XDC_TARGET = gnu.targets.MVArm9
+ export XDC_PLATFORM = ti.platforms.evmDM6467
+ endif
+
+-ifeq ($(PLATFORM), dm365)
+- export XDC_TARGET = gnu.targets.MVArm9
+- export XDC_PLATFORM = ti.platforms.evmDM365
++ifeq ($(GST_TI_PLATFORM), dm6467t)
++ export XDC_TARGET = gnu.targets.arm.GCArmv5T
++ export XDC_PLATFORM = ti.platforms.evmDM6467
++ export LINK_XDC_ROOT = $(LINK_INSTALL_DIR)
++ export MVTOOL_PREFIX = $(CSTOOL_PREFIX)
++ export MVTOOL_DIR = $(CSTOOL_DIR)
++ export PLATFORM_XDC = ${XDC_PLATFORM}
+ endif
+
+-ifeq ($(PLATFORM), omap3530)
++ifeq ($(GST_TI_PLATFORM), dm365)
++ export XDC_TARGET = gnu.targets.arm.GCArmv5T
++ export XDC_PLATFORM = ti.platforms.evmDM365
++ export MVTOOL_PREFIX = $(CSTOOL_PREFIX)
++ export MVTOOL_DIR = $(CSTOOL_DIR)
++ export PLATFORM_XDC = ${XDC_PLATFORM}
++endif
++
++ifeq ($(GST_TI_PLATFORM), omap3530)
+ export XDC_TARGET = gnu.targets.arm.GCArmv5T
+ export XDC_PLATFORM = ti.platforms.evm3530
+ export MVTOOL_PREFIX = $(CSTOOL_PREFIX)
+ export MVTOOL_DIR = $(CSTOOL_DIR)
+ endif
+
+-CPPFLAGS=-DPlatform_$(PLATFORM)
++CPPFLAGS=-DPlatform_$(GST_TI_PLATFORM)
+ HOST=arm-none-linux-gnueabi
+
+ configure:
+@@ -86,6 +102,9 @@ dm6446: Makefile
+ dm6467: Makefile
+ $(MAKE) -f Makefile
+
++dm6467t: Makefile
++ $(MAKE) -f Makefile
++
+ dm355: Makefile
+ $(MAKE) -f Makefile
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 231beb0..95973a8 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -1,6 +1,6 @@
+ # plugindir is set in configure
+
+-XDC_CONFIG_BASENAME = gstticodecplugin_$(PLATFORM)
++XDC_CONFIG_BASENAME = gstticodecplugin_$(GST_TI_PLATFORM)
+ plugin_LTLIBRARIES = libgstticodecplugin.la
+
+ # sources used to compile this plug-in
+@@ -21,7 +21,7 @@ BUILT_SOURCES = $(XDC_CONFIG_BASENAME)/compiler.opt $(XDC_CONFIG_BASENAME)/linke
+ XDC_PATH = .;$(XDC_INSTALL_DIR)/packages;$(LINK_XDC_ROOT);$(FC_INSTALL_DIR)/packages;$(CE_INSTALL_DIR)/packages;$(XDAIS_INSTALL_DIR)/packages;$(CODEC_INSTALL_DIR)/packages;$(CMEM_INSTALL_DIR)/packages;$(DMAI_INSTALL_DIR)/packages;$(LPM_INSTALL_DIR)/packages;$(XDC_USER_PATH);$(EDMA3_LLD_INSTALL_DIR)/packages;
+
+ gstticodecs_platform.c :
+- ln -s $(srcdir)/gstticodecs_$(PLATFORM).c gstticodecs_platform.c
++ ln -s $(srcdir)/gstticodecs_$(GST_TI_PLATFORM).c gstticodecs_platform.c
+
+ %/compiler.opt %/linker.cmd : %.cfg
+ XDCPATH="$(XDC_PATH)" $(CONFIGURO) -c $(MVTOOL_DIR) -o $(XDC_CONFIG_BASENAME) -t $(XDC_TARGET) -p $(XDC_PLATFORM) -b $(DMAI_INSTALL_DIR)/packages/config.bld $<
+diff --git a/src/gstticodecplugin_dm355.cfg b/src/gstticodecplugin_dm355.cfg
+index 7ceae4f..bf533f0 100644
+--- a/src/gstticodecplugin_dm355.cfg
++++ b/src/gstticodecplugin_dm355.cfg
+@@ -1,84 +1,59 @@
+-/*
+- * Copyright (C) $year Texas Instruments Incorporated - http://www.ti.com/
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU Lesser General Public License as
+- * published by the Free Software Foundation version 2.1 of the License.
+- *
+- * This program is distributed #as is# WITHOUT ANY WARRANTY of any kind,
+- * whether express or implied; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+- * Lesser General Public License for more details.
+- *
+- */
+-
+-prog.build.platform = "ti.platforms.evmDM355";
+-
+-/* Load support for the Codec Engine OSAL */
+-var osalGlobal = xdc.useModule('ti.sdo.ce.osal.Global');
+-
+-/* Configure CE to use it's DSP Link Linux version */
+-osalGlobal.runtimeEnv = osalGlobal.LINUX;
+-
+-/*
+- * ======== Engine Configuration ========
+- */
+-var viddec = xdc.module('ti.sdo.ce.video2.IVIDDEC2');
+-var imgenc = xdc.module('ti.sdo.ce.image1.IIMGENC1');
+-var MPEG4DEC = xdc.useModule('ti.sdo.codecs.mpeg4dec.dm355.ce.MPEG4DEC');
+-var MPEG4ENC = xdc.useModule('ti.sdo.codecs.mpeg4enc.dm355.ce.MPEG4ENC');
+-var JPEGENC = xdc.useModule('ti.sdo.codecs.jpegenc.dm355.ce.JPEGENC');
+-var JPEGDEC = xdc.useModule('ti.sdo.codecs.jpegdec.dm355.ce.JPEGDEC');
+-
+-var Engine = xdc.useModule('ti.sdo.ce.Engine');
+-var decodeEngine = Engine.create("decode", [
+- {name: "mpeg4dec", mod: MPEG4DEC, local: true, groupId: 1},
+- {name: "jpegdec", mod: JPEGDEC, local: true, groupId: 1},
+-]);
+-
+-var encodeEngine = Engine.create("encode", [
+- {name: "mpeg4enc", mod: MPEG4ENC, local: true, groupId: 1},
+- {name: "jpegenc", mod: JPEGENC, local: true, groupId: 1},
+-]);
+-
+-/* Load support for the 'Davinci Multimedia Application Interface' modules */
+-var DMAI = xdc.loadPackage('ti.sdo.dmai');
+-
+-/*
+- * ======== DMAN3 Configuration ========
+- */
+-
+-var DMAN3 = xdc.useModule('ti.sdo.fc.dman3.DMAN3');
+-
+-/* give DMAN3 all TCCs except those hard-coded by The JPEG & MPEG Enc & Decs */
+-
+-/*
+- * For the 32-63 range, configure tccAllocationMaskH to exclude used channels
+- * JPEG Dec: {33-47, 52-57}
+- * JPEG Enc: {34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49}
+- * MPEG Dec: {32-63}
+- * MPEG Enc: {12, 13, 34, 35, 40,41,42,43,44,45,46,47,48,49,50,52,53,
+- * 54,55,56,57,63}
+- */
+-DMAN3.tccAllocationMaskH = 0x0; /* everthing 32-63 hardcoded and unavailable */
+-
+-/* Give DMAN3 all lower TCCs except what's taken by Linux kernel and a Codec:
+- * Based on the info from montavista: {2, 3, 8, 9, 26, 27, 30, 31}
+- * and MPEG Enc taking up: {12, 13}
+- */
+-DMAN3.tccAllocationMaskL = 0x33ffccf3;
+-
+-/* Following assignments will give DMAN3 control of PaRAMs above 78: */
+-DMAN3.paRamBaseIndex = 64;
+-DMAN3.numPaRamEntries = 48;
+-DMAN3.nullPaRamIndex = 127;
+-
+-/* Configure Scratch Group's DMAN3 resources */
+-DMAN3.numTccGroup[1] = 0;
+-DMAN3.numPaRamGroup[1] = 32;
+-
+-DMAN3.qdmaChannels = [0, 1, 2, 3, 4, 5, 6, 7];
+-DMAN3.maxQdmaChannels = 8;
+-DMAN3.numQdmaChannels = 8;
+-DMAN3.maxTCs = 2;
+-
++/* ===========================================================================
++ * Copyright (c) Texas Instruments Incorporated 2009
++ *
++ * Use of this software is controlled by the terms and conditions found in
++ * the license agreement under which this software has been supplied or
++ * provided.
++ * ===========================================================================
++ */
++
++/* Load support for the Codec Engine OSAL */
++var osalGlobal = xdc.useModule('ti.sdo.ce.osal.Global');
++
++/* Configure CE to use it's DSP Link Linux version */
++osalGlobal.runtimeEnv = osalGlobal.LINUX;
++
++/* Configure RMAN */
++var RMAN = xdc.useModule('ti.sdo.fc.rman.RMAN');
++RMAN.useDSKT2 = false;
++RMAN.persistentAllocFxn = "__ALG_allocMemory";
++RMAN.persistentFreeFxn = "__ALG_freeMemory";
++RMAN.semCreateFxn = "Sem_create";
++RMAN.semDeleteFxn = "Sem_delete";
++RMAN.semPendFxn = "Sem_pend";
++RMAN.semPostFxn = "Sem_post";
++RMAN.tableSize = 10;
++
++var EDMA3 = xdc.useModule('ti.sdo.fc.edma3.Settings');
++var EDMA3CHAN = xdc.useModule('ti.sdo.fc.ires.edma3chan.EDMA3CHAN');
++var EDMA = xdc.useModule('ti.sdo.linuxutils.edma.EDMA');
++var VICPLU = xdc.useModule('ti.sdo.linuxutils.vicp.VICP');
++var VICP = xdc.useModule('ti.sdo.fc.ires.vicp.VICP2');
++var VICPSYNC = xdc.useModule('ti.sdo.fc.vicpsync.VICPSYNC');
++var ADDRSPACE = xdc.useModule('ti.sdo.fc.ires.addrspace.ADDRSPACE');
++var CMEM = xdc.useModule('ti.sdo.linuxutils.cmem.CMEM');
++
++/*
++ * ======== Engine Configuration ========
++ */
++var viddec = xdc.module('ti.sdo.ce.video2.IVIDDEC2');
++var auddec = xdc.module('ti.sdo.ce.audio.IAUDDEC');
++var videnc = xdc.module('ti.sdo.ce.video1.IVIDENC1');
++var audenc = xdc.module('ti.sdo.ce.audio.IAUDENC');
++
++var MPEG4DEC = xdc.useModule('ti.sdo.codecs.mpeg4dec.ce.MPEG4DEC');
++var JPEGDEC = xdc.useModule('ti.sdo.codecs.jpegdec.ce.JPEGDEC');
++var MPEG4ENC = xdc.useModule('ti.sdo.codecs.mpeg4enc.ce.MPEG4ENC');
++var JPEGENC = xdc.useModule('ti.sdo.codecs.jpegenc.ce.JPEGENC');
++
++var Engine = xdc.useModule('ti.sdo.ce.Engine');
++var myEngine = Engine.create("codecServer", [
++ {name: "mpeg4dec", mod: MPEG4DEC, local: true, groupId: 1},
++ {name: "jpegdec", mod: JPEGDEC, local: true, groupId: 1},
++ {name: "mpeg4enc", mod: MPEG4ENC, local: true, groupId: 1},
++ {name: "jpegenc", mod: JPEGENC, local: true, groupId: 1}
++]);
++
++/* Load support for the 'Davinci Multimedia Application Interface' modules */
++var DMAI = xdc.loadPackage('ti.sdo.dmai');
++
+diff --git a/src/gstticodecplugin_dm365.cfg b/src/gstticodecplugin_dm365.cfg
+index 6442dce..0e94a35 100644
+--- a/src/gstticodecplugin_dm365.cfg
++++ b/src/gstticodecplugin_dm365.cfg
+@@ -1,99 +1,86 @@
+-/*
+- * Copyright (C) $year Texas Instruments Incorporated - http://www.ti.com/
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU Lesser General Public License as
+- * published by the Free Software Foundation version 2.1 of the License.
+- *
+- * This program is distributed #as is# WITHOUT ANY WARRANTY of any kind,
+- * whether express or implied; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+- * Lesser General Public License for more details.
+- *
+- */
+-
+-prog.build.platform = "ti.platforms.evmDM365";
+-
+-/* Load support for the Codec Engine OSAL */
+-var osalGlobal = xdc.useModule('ti.sdo.ce.osal.Global');
+-
+-/* Configure CE to use it's DSP Link Linux version */
+-osalGlobal.runtimeEnv = osalGlobal.LINUX;
+-
+-/*
+- * ======== Engine Configuration ========
+- */
+-var videnc = xdc.module('ti.sdo.ce.video1.IVIDENC1');
+-var viddec = xdc.module('ti.sdo.ce.video2.IVIDDEC2');
+-
+-var MPEG4ENC = xdc.useModule('ti.sdo.codecs.mpeg4enc.ce.MPEG4ENC');
+-var H264ENC = xdc.useModule('ti.sdo.codecs.h264enc.ce.H264ENC');
+-var MPEG4DEC = xdc.useModule('ti.sdo.codecs.mpeg4dec.ce.MPEG4DEC');
+-var H264DEC = xdc.useModule('ti.sdo.codecs.h264dec.ce.H264DEC');
+-var JPEGENC = xdc.useModule('ti.sdo.codecs.jpegenc.ce.JPEGENC');
+-var JPEGDEC = xdc.useModule('ti.sdo.codecs.jpegdec.ce.JPEGDEC');
+-
+-var Engine = xdc.useModule('ti.sdo.ce.Engine');
+-var encodeEngine = Engine.create("encode", [
+- {name: "mpeg4enc", mod: MPEG4ENC, local: true, groupId: 1},
+- {name: "h264enc", mod: H264ENC, local: true, groupId: 1},
+- {name: "jpegenc", mod: JPEGENC, local: true, groupId: 1},
+-]);
+-var decodeEngine = Engine.create("decode", [
+- {name: "mpeg4dec", mod: MPEG4DEC, local: true, groupId: 1},
+- {name: "h264dec", mod: H264DEC, local: true, groupId: 1},
+- {name: "jpegdec", mod: JPEGDEC, local: true, groupId: 1},
+-]);
+-
+-/* Load support for the 'Davinci Multimedia Application Interface' modules */
+-var DMAI = xdc.loadPackage('ti.sdo.dmai');
+-
+-/* Load support for SimpleWidget */
+-/*var SW = xdc.loadPackage('ti.sdo.simplewidget');*/
+-
+-
+-/* Configure RMAN */
+-var RMAN = xdc.useModule('ti.sdo.fc.rman.RMAN');
+-RMAN.useDSKT2 = false;
+-RMAN.persistentAllocFxn = "__ALG_allocMemory";
+-RMAN.persistentFreeFxn = "__ALG_freeMemory";
+-RMAN.semCreateFxn = "Sem_create";
+-RMAN.semDeleteFxn = "Sem_delete";
+-RMAN.semPendFxn = "Sem_pend";
+-RMAN.semPostFxn = "Sem_post";
+-RMAN.tableSize = 10;
+-
+-/* Configure VICPSYNC */
+-var VICPSYNC = xdc.useModule('ti.sdo.fc.vicpsync.VICPSYNC');
+-
+-/* Configure HDVICPSYNC */
+-var HDVICPSYNC = xdc.useModule('ti.sdo.fc.hdvicpsync.HDVICPSYNC');
+-
+-/* Configure MEMUTILS */
+-var MEMUTILS = xdc.useModule('ti.sdo.fc.memutils.MEMUTILS');
+-
+-var EDMA3 = xdc.useModule('ti.sdo.fc.edma3.Settings');
+-
+-var HDVICP = xdc.useModule('ti.sdo.fc.ires.hdvicp.HDVICP');
+-
+-var VICP = xdc.useModule('ti.sdo.fc.ires.vicp.VICP2');
+-
+-var ADDRSPACE = xdc.useModule('ti.sdo.fc.ires.addrspace.ADDRSPACE');
+-
+-var EDMA3CHAN = xdc.useModule('ti.sdo.fc.ires.edma3chan.EDMA3CHAN');
+-
+-var LSP = xdc.useModule('ti.sdo.linuxutils.edma.EDMA');
+-
+-var CMEM = xdc.useModule('ti.sdo.linuxutils.cmem.CMEM');
+-
+-
+-/* Uncomment these lines if you wish to debug FC and enable FC trace */
+-
+-/*
+-xdc.loadPackage('ti.sdo.fc.ires.vicp').profile = "debug_trace";
+-xdc.loadPackage('ti.sdo.fc.ires.edma3chan').profile = "debug_trace";
+-xdc.loadPackage('ti.sdo.fc.rman').profile = "debug_trace";
+-xdc.loadPackage('ti.sdo.fc.edma3').profile = "debug_trace";
+-EDMA3CHAN.trace = true;
+-EDMA3CHAN.debug = true;
+-*/
++/* ============================================================================
++ * Copyright (c) Texas Instruments Incorporated 2009
++ *
++ * Use of this software is controlled by the terms and conditions found in the
++ * license agreement under which this software has been supplied or provided.
++ * ============================================================================
++ */
++
++/* Load support for the Codec Engine OSAL */
++var osalGlobal = xdc.useModule('ti.sdo.ce.osal.Global');
++
++/* Configure CE to use it's DSP Link Linux version */
++osalGlobal.runtimeEnv = osalGlobal.LINUX;
++
++/*
++ * ======== Engine Configuration ========
++ */
++var viddec = xdc.module('ti.sdo.ce.video2.IVIDDEC2');
++var auddec = xdc.module('ti.sdo.ce.audio.IAUDDEC');
++
++var MPEG4DEC = xdc.useModule('ti.sdo.codecs.mpeg4dec_hdvicp.ce.MPEG4DEC_HDVICP');
++var MPEG2DEC = xdc.useModule('ti.sdo.codecs.mpeg2dec.ce.MPEG2DEC');
++var H264DEC = xdc.useModule('ti.sdo.codecs.h264dec.ce.H264DEC');
++var MPEG4ENC = xdc.useModule('ti.sdo.codecs.mpeg4enc_hdvicp.ce.MPEG4ENC_HDVICP');
++var MPEG2ENC = xdc.useModule('ti.sdo.codecs.mpeg2enc.ce.MPEG2ENC');
++var H264ENC = xdc.useModule('ti.sdo.codecs.h264enc.ce.H264ENC');
++
++var Engine = xdc.useModule('ti.sdo.ce.Engine');
++var myEngine = Engine.create("codecServer", [
++ {name: "mpeg4dec", mod: MPEG4DEC, local: true, groupId: 1},
++ {name: "mpeg2dec", mod: MPEG2DEC, local: true, groupId: 1},
++ {name: "h264dec", mod: H264DEC, local: true, groupId: 1},
++ {name: "mpeg4enc", mod: MPEG4ENC, local: true, groupId: 1},
++ {name: "mpeg2enc", mod: MPEG2ENC, local: true, groupId: 1},
++ {name: "h264enc", mod: H264ENC, local: true, groupId: 1},
++]);
++
++
++
++/* Load support for the 'Davinci Multimedia Application Interface' modules */
++var DMAI = xdc.loadPackage('ti.sdo.dmai');
++
++/* Configure RMAN */
++var RMAN = xdc.useModule('ti.sdo.fc.rman.RMAN');
++RMAN.useDSKT2 = false;
++RMAN.persistentAllocFxn = "__ALG_allocMemory";
++RMAN.persistentFreeFxn = "__ALG_freeMemory";
++RMAN.semCreateFxn = "Sem_create";
++RMAN.semDeleteFxn = "Sem_delete";
++RMAN.semPendFxn = "Sem_pend";
++RMAN.semPostFxn = "Sem_post";
++RMAN.tableSize = 10;
++
++/* Configure VICPSYNC */
++var VICPSYNC = xdc.useModule('ti.sdo.fc.vicpsync.VICPSYNC');
++
++/* Configure HDVICPSYNC */
++var HDVICPSYNC = xdc.useModule('ti.sdo.fc.hdvicpsync.HDVICPSYNC');
++
++/* Configure MEMUTILS */
++var MEMUTILS = xdc.useModule('ti.sdo.fc.memutils.MEMUTILS');
++
++var EDMA3 = xdc.useModule('ti.sdo.fc.edma3.Settings');
++
++var HDVICP = xdc.useModule('ti.sdo.fc.ires.hdvicp.HDVICP');
++
++var VICP = xdc.useModule('ti.sdo.fc.ires.vicp.VICP2');
++
++var EDMA3CHAN = xdc.useModule('ti.sdo.fc.ires.edma3chan.EDMA3CHAN');
++
++var EDMA = xdc.useModule('ti.sdo.linuxutils.edma.EDMA');
++
++var ADDRSPACE = xdc.useModule('ti.sdo.fc.ires.addrspace.ADDRSPACE');
++
++var CMEM = xdc.useModule('ti.sdo.linuxutils.cmem.CMEM');
++
++/* Uncomment these lines if you wish to debug FC and enable FC trace */
++/*
++/*
++xdc.loadPackage('ti.sdo.fc.ires.vicp').profile = "debug_trace";
++xdc.loadPackage('ti.sdo.fc.ires.edma3chan').profile = "debug_trace";
++xdc.loadPackage('ti.sdo.fc.rman').profile = "debug_trace";
++xdc.loadPackage('ti.sdo.fc.edma3').profile = "debug_trace";
++EDMA3CHAN.trace = true;
++EDMA3CHAN.debug = true;
++*/
+diff --git a/src/gstticodecplugin_dm6467t.cfg b/src/gstticodecplugin_dm6467t.cfg
+new file mode 100644
+index 0000000..686cfeb
+--- /dev/null
++++ b/src/gstticodecplugin_dm6467t.cfg
+@@ -0,0 +1,34 @@
++/* ============================================================================
++ * Copyright (c) Texas Instruments Incorporated 2009
++ *
++ * Use of this software is controlled by the terms and conditions found in the
++ * license agreement under which this software has been supplied or provided.
++ * ============================================================================
++ */
++
++/* Load support for the Codec Engine OSAL */
++var osalGlobal = xdc.useModule('ti.sdo.ce.osal.Global');
++var os = xdc.useModule('ti.sdo.ce.osal.linux.Settings');
++osalGlobal.os = os;
++
++/* Configure CE to use it's DSP Link Linux version */
++var ipc = xdc.useModule('ti.sdo.ce.ipc.Settings');
++ipc.commType = ipc.COMM_DSPLINK;
++
++/*
++ * ======== Engine Configuration ========
++ */
++var Engine = xdc.useModule('ti.sdo.ce.Engine');
++var demoEngine = Engine.createFromServer(
++ "codecServer",
++ "./bin/cs.x64P",
++ "ti.sdo.server.cs"
++ );
++
++var combopath = "" + java.lang.System.getenv("CODEC_SERVER");
++if (combopath != "" && combopath != "null") {
++ demoEngine.server = java.lang.System.getenv("CODEC_SERVER");
++}
++
++/* Load support for the 'Davinci Multimedia Application Interface' modules */
++var DMAI = xdc.loadPackage('ti.sdo.dmai');
+diff --git a/src/gstticodecs_dm355.c b/src/gstticodecs_dm355.c
+index a372b06..9d4325b 100644
+--- a/src/gstticodecs_dm355.c
++++ b/src/gstticodecs_dm355.c
+@@ -22,8 +22,7 @@
+ #include "gstticodecs.h"
+
+ /* Declaration of the production engine and decoders shipped with the DVSDK */
+-static Char decodeEngine[] = "decode";
+-static Char encodeEngine[] = "encode";
++static Char codecServer[] = "codecServer";
+
+ /* NULL terminated list of speech decoders in the engine to use in the demo */
+ GstTICodec gst_ticodec_codecs[] = {
+@@ -32,25 +31,25 @@ GstTICodec gst_ticodec_codecs[] = {
+ {
+ "MPEG4 Video Decoder", /* String name of codec used by plugin */
+ "mpeg4dec", /* String name of codec used by CE */
+- decodeEngine /* Engine that contains this codec */
++ codecServer /* Engine that contains this codec */
+ },
+
+ {
+ "MPEG4 Video Encoder", /* String name of codec used by plugin */
+ "mpeg4enc", /* String name of codec used by CE */
+- encodeEngine /* Engine that contains this codec */
++ codecServer /* Engine that contains this codec */
+ },
+
+ /* Imaging Codecs */
+ {
+ "JPEG Image Encoder",
+ "jpegenc",
+- encodeEngine
++ codecServer
+ },
+ {
+ "JPEG Image Decoder",
+ "jpegdec",
+- decodeEngine
++ codecServer
+ },
+
+ { NULL }
+diff --git a/src/gstticodecs_dm365.c b/src/gstticodecs_dm365.c
+index 9572403..cf81e6f 100644
+--- a/src/gstticodecs_dm365.c
++++ b/src/gstticodecs_dm365.c
+@@ -22,8 +22,7 @@
+ #include "gstticodecs.h"
+
+ /* Declaration of the production engine and decoders shipped with the DVSDK */
+-static Char decodeEngine[] = "decode";
+-static Char encodeEngine[] = "encode";
++static Char codecServer[] = "codecServer";
+
+ /* NULL terminated list of speech decoders in the engine to use in the demo */
+ GstTICodec gst_ticodec_codecs[] = {
+@@ -32,25 +31,37 @@ GstTICodec gst_ticodec_codecs[] = {
+ {
+ "MPEG4 Video Decoder", /* String name of codec used by plugin */
+ "mpeg4dec", /* String name of codec used by CE */
+- decodeEngine /* Engine that contains this codec */
++ codecServer /* Engine that contains this codec */
++ },
++
++ {
++ "MPEG2 Video Decoder", /* String name of codec used by plugin */
++ "mpeg2dec", /* String name of codec used by CE */
++ codecServer /* Engine that contains this codec */
+ },
+
+ {
+ "MPEG4 Video Encoder", /* String name of codec used by plugin */
+ "mpeg4enc", /* String name of codec used by CE */
+- encodeEngine /* Engine that contains this codec */
++ codecServer /* Engine that contains this codec */
++ },
++
++ {
++ "MPEG2 Video Encoder", /* String name of codec used by plugin */
++ "mpeg2enc", /* String name of codec used by CE */
++ codecServer /* Engine that contains this codec */
+ },
+
+ {
+ "H.264 Video Decoder", /* String name of codec used by plugin */
+ "h264dec", /* String name of codec used by CE */
+- decodeEngine /* Engine that contains this codec */
++ codecServer /* Engine that contains this codec */
+ },
+
+ {
+ "H.264 Video Encoder", /* String name of codec used by plugin */
+ "h264enc", /* String name of codec used by CE */
+- encodeEngine /* Engine that contains this codec */
++ codecServer /* Engine that contains this codec */
+ },
+
+ { NULL }
+diff --git a/src/gstticodecs_dm6467.c b/src/gstticod