diff options
Diffstat (limited to 'recipes/ti/gstreamer-ti')
-rw-r--r-- | recipes/ti/gstreamer-ti/codec_combo_directory_fix.patch | 52 | ||||
-rw-r--r-- | recipes/ti/gstreamer-ti/gst-buffsize.diff | 113 |
2 files changed, 165 insertions, 0 deletions
diff --git a/recipes/ti/gstreamer-ti/codec_combo_directory_fix.patch b/recipes/ti/gstreamer-ti/codec_combo_directory_fix.patch new file mode 100644 index 0000000000..7c03641707 --- /dev/null +++ b/recipes/ti/gstreamer-ti/codec_combo_directory_fix.patch @@ -0,0 +1,52 @@ +From: Vishnudas P <vishnudas@gmail.com> + +Found the fix here. +http://wiki.davincidsp.com/index.php?title=Configuring_Codec_Engine_in_Arm_apps_with_createFromServer +In the section "Advanced: overwriting fields, creating multiple engines" + +Needed tor reverse the previous patch 263 and apply the attached patch. + +When you call createFromServer the path you give is relative to +package, not the filesystem one. For that you need to set +"engine.server" to the desired full filesystem path. +This is what the attached patch does. + +-- + + +diff -Naur ticodecplugin.orig/src/gstticodecplugin_dm6446.cfg ticodecplugin/src/gstticodecplugin_dm6446.cfg +--- ticodecplugin.orig/src/gstticodecplugin_dm6446.cfg 2009-07-21 12:55:32.000000000 -0700 ++++ ticodecplugin/src/gstticodecplugin_dm6446.cfg 2009-07-21 12:55:26.000000000 -0700 +@@ -38,6 +38,8 @@ + "./encodeCombo.x64P", + "ti.sdo.servers.encode" + ); ++codecServer.server = "/usr/share/ti-codec-combos/cs.x64P"; ++ + + /* Load support for the 'Davinci Multimedia Application Interface' modules */ + var DMAI = xdc.loadPackage('ti.sdo.dmai'); +diff -Naur ticodecplugin.orig/src/gstticodecplugin_dm6467.cfg ticodecplugin/src/gstticodecplugin_dm6467.cfg +--- ticodecplugin.orig/src/gstticodecplugin_dm6467.cfg 2009-07-21 12:55:32.000000000 -0700 ++++ ticodecplugin/src/gstticodecplugin_dm6467.cfg 2009-07-21 12:55:26.000000000 -0700 +@@ -39,6 +39,8 @@ + "./encodeCombo.x64P", + "ti.sdo.servers.encode" + ); ++codecServer.server = "/usr/share/ti-codec-combos/cs.x64P"; ++ + + /* Load support for the 'Davinci Multimedia Application Interface' modules */ + var DMAI = xdc.loadPackage('ti.sdo.dmai'); +diff -Naur ticodecplugin.orig/src/gstticodecplugin_omap3530.cfg ticodecplugin/src/gstticodecplugin_omap3530.cfg +--- ticodecplugin.orig/src/gstticodecplugin_omap3530.cfg 2009-07-21 12:55:32.000000000 -0700 ++++ ticodecplugin/src/gstticodecplugin_omap3530.cfg 2009-07-21 12:55:26.000000000 -0700 +@@ -38,6 +38,8 @@ + "./decodeCombo.x64P", + "ti.sdo.servers.decode" + ); ++codecServer.server = "/usr/share/ti-codec-combos/cs.x64P"; ++ + + /* Load support for the DMAI module */ + var DMAI = xdc.loadPackage('ti.sdo.dmai'); diff --git a/recipes/ti/gstreamer-ti/gst-buffsize.diff b/recipes/ti/gstreamer-ti/gst-buffsize.diff new file mode 100644 index 0000000000..2d71286498 --- /dev/null +++ b/recipes/ti/gstreamer-ti/gst-buffsize.diff @@ -0,0 +1,113 @@ + ChangeLog | 10 ++++++++++ + src/gsttividdec2.c | 25 +++++++++++++++++++++---- + src/gsttividdec2.h | 2 ++ + 3 files changed, 33 insertions(+), 4 deletions(-) + +diff -Nurd --exclude .svn trunk/gstreamer_ti/ti_build/ticodecplugin/ChangeLog branches/BRANCH_DDOMPE_BUFFERSIZES/gstreamer_ti/ti_build/ticodecplugin/ChangeLog +--- ticodecplugin/ChangeLog 2009-03-03 08:57:50.000000000 +0100 ++++ ticodecplugin/ChangeLog 2009-03-03 08:59:20.000000000 +0100 +@@ -1,3 +1,13 @@ ++2009-03-01 Diego Dompe, RidgeRun ++ * src/gsttividdec2.{c.h}: ++ Create the output buffer tab using the recently added height and width ++ attributes passed by the capabilities. This solves integration problems ++ with other elements like ffmpegcolorspace and xvimagesink, where they ++ will fail because the second buffer pushed over the src pad of the ++ decoder has a size different from the first one. Using the input caps ++ for the creation of the buffer tab we have a more educated guess on the ++ output buffer size, and the resizing won't be required. ++ + 2009-02-25 Brijesh Singh, Texas Instruments, Inc. + * src/{gsttividenc1.{c,h},gsttividenc.{c,h},gsttividdec1.{c,h},gsttividdec. + {c,h},gsttiauddec1.{c,h},gsttiauddec.{c,h},gsttiimgdec1.{c,h},gsttiimgenc1. +diff -Nurd --exclude .svn trunk/gstreamer_ti/ti_build/ticodecplugin/src/gsttividdec2.c branches/BRANCH_DDOMPE_BUFFERSIZES/gstreamer_ti/ti_build/ticodecplugin/src/gsttividdec2.c +--- ticodecplugin/src/gsttividdec2.c 2009-03-03 08:57:50.000000000 +0100 ++++ ticodecplugin/src/gsttividdec2.c 2009-03-03 08:59:20.000000000 +0100 +@@ -21,7 +21,11 @@ + * Original Author: + * Don Darling, Texas Instruments, Inc. + * ++ * Contributors: ++ * Diego Dompe, RidgeRun ++ * + * Copyright (C) $year Texas Instruments Incorporated - http://www.ti.com/ ++ * Copyright (C) $year RidgeRun + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as +@@ -350,6 +354,8 @@ + + viddec2->framerateNum = 0; + viddec2->framerateDen = 0; ++ viddec2->height = 0; ++ viddec2->width = 0; + + viddec2->numOutputBufs = 0UL; + viddec2->hOutBufTab = NULL; +@@ -484,6 +490,14 @@ + viddec2->framerateNum = framerateNum; + viddec2->framerateDen = framerateDen; + } ++ ++ if (!gst_structure_get_int(capStruct, "height", &viddec2->height)) { ++ viddec2->height = 0; ++ } ++ ++ if (!gst_structure_get_int(capStruct, "width", &viddec2->width)) { ++ viddec2->width = 0; ++ } + } + + /* MPEG Decode */ +@@ -1048,6 +1062,7 @@ + Cpu_Device device; + ColorSpace_Type colorSpace; + Int defaultNumBufs; ++ Int outBufSize; + + /* Open the codec engine */ + GST_LOG("opening codec engine \"%s\"\n", viddec2->engineName); +@@ -1116,8 +1131,8 @@ + /* Create codec output buffers */ + GST_LOG("creating output buffer table\n"); + gfxAttrs.colorSpace = colorSpace; +- gfxAttrs.dim.width = params.maxWidth; +- gfxAttrs.dim.height = params.maxHeight; ++ gfxAttrs.dim.width = viddec2->width; ++ gfxAttrs.dim.height = viddec2->height; + gfxAttrs.dim.lineLength = BufferGfx_calcLineLength( + gfxAttrs.dim.width, gfxAttrs.colorSpace); + +@@ -1125,8 +1140,10 @@ + gfxAttrs.bAttrs.useMask = gst_tidmaibuffertransport_GST_FREE | + gst_tividdec2_CODEC_FREE; + ++ outBufSize = gfxAttrs.dim.lineLength * viddec2->height; ++ + viddec2->hOutBufTab = +- BufTab_create(viddec2->numOutputBufs, Vdec2_getOutBufSize(viddec2->hVd), ++ BufTab_create(viddec2->numOutputBufs, outBufSize, + BufferGfx_getBufferAttrs(&gfxAttrs)); + + if (viddec2->hOutBufTab == NULL) { +@@ -1295,7 +1312,7 @@ + */ + outBuf = gst_tidmaibuffertransport_new(hDstBuf); + gst_buffer_set_data(outBuf, GST_BUFFER_DATA(outBuf), +- Buffer_getNumBytesUsed(hDstBuf)); ++ Vdec2_getOutBufSize(viddec2->hVd)); + gst_buffer_set_caps(outBuf, GST_PAD_CAPS(viddec2->srcpad)); + + /* If we have a valid time stamp, set it on the buffer */ +diff -Nurd --exclude .svn trunk/gstreamer_ti/ti_build/ticodecplugin/src/gsttividdec2.h branches/BRANCH_DDOMPE_BUFFERSIZES/gstreamer_ti/ti_build/ticodecplugin/src/gsttividdec2.h +--- ticodecplugin/src/gsttividdec2.h 2009-03-03 08:57:50.000000000 +0100 ++++ ticodecplugin/src/gsttividdec2.h 2009-03-03 08:59:20.000000000 +0100 +@@ -96,6 +96,8 @@ + /* Framerate (Num/Den) */ + gint framerateNum; + gint framerateDen; ++ gint height; ++ gint width; + + /* Buffer management */ + UInt32 numOutputBufs; |