diff options
Diffstat (limited to 'recipes')
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 |
