diff options
| author | Brijesh Singh <bksingh@ti.com> | 2010-05-09 11:21:07 -0500 |
|---|---|---|
| committer | Koen Kooi <koen@openembedded.org> | 2010-06-12 11:03:51 +0200 |
| commit | 6080d94ac0c1d9c985f4cf677000b4cd50e1e9ae (patch) | |
| tree | 5e6afafe7d2c093c189f7d7e303cd329e7404ac9 | |
| parent | e891fc68026e6005c844480f9ee519b814053130 (diff) | |
gstreamer_ti: use latest svn rev and apply the patches from tracker 1055.
* move the common build logic in gstreamer-ti.inc
* rebase patches to latest svn rev.
* add profile .sh to disable XDM 0.9 elements.
* Except beagleboard, do not autoload kernel module in initscript. this is
mainly because gst-ti loadmodule is not enough for all application (e.g
dvsdk demo, dmai etc). And since beagle community is not installing dvsdk
demo's hence its safe to install those kernel modules as the boot time.
Signed-off-by: Brijesh Singh <bksingh@ti.com>
Signed-off-by: Koen Kooi <k-kooi@ti.com>
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 C |
