[meta-ti] [PATCH] omapfbplay: import from OE classic

Monk, Roger r-monk at ti.com
Thu May 10 07:13:37 PDT 2012


On Thu, May 10, 2012 at 15:09:36, Koen Kooi wrote:
> Subject: Re: [meta-ti] [PATCH] omapfbplay: import from OE classic
>
>
> Op 10 mei 2012, om 15:42 heeft Monk, Roger het volgende geschreven:
>
> > Hi Koen,
> >
> > Think we've still got some API incompatibility here.  I needed to
> roll
> > back to an earlier omapfbplay commit
> > (34293052c5a2ae328eac6903512e6b4ce19b5639) and patch CODEC_TYPE :-
> >
> > -        if (afc->streams[i]->codec->codec_type == CODEC_TYPE_VIDEO
> && !st)
> > +        if (afc->streams[i]->codec->codec_type ==
> > + AVMEDIA_TYPE_VIDEO && !st)
> >
> > to get this working on beagleboard-xm, so I suspect there may have
> been an API change after Aug11, or
> d03f042ecac0a231bedeadc7a6c67f0102d5505a was rebased against 0.8
> branch?  I guess we should ask Mans...
>
> We still use libav 0.7.4 in meta-oe, I suspect Mans updated to 0.8.x
> or even newer. I only build tested it, so I'm open for fixes that make
> it run :) Upgrading libav might be an option as well, but I'm not sure
> of that will get accepted for the meta-oe release branch.
>

See attached for now - probably ok as reasonable known working baseline before we upgrade other bits?

> regards,
>
> Koen
>
>
> >
> > ~rog
> >
> >
> > Texas Instruments Limited, 800 Pavilion Drive, Northampton, NN4 7YL.
> > Registered in England & Wales under company number 00574102
> >
> >
Texas Instruments Limited, 800 Pavilion Drive, Northampton, NN4 7YL. Registered in England & Wales under company number 00574102

-----Original Message-----
> > From: meta-ti-bounces at yoctoproject.org
> > [mailto:meta-ti-bounces at yoctoproject.org] On Behalf Of Koen Kooi
> > Sent: 10 May 2012 13:04
> > To: meta-ti at yoctoproject.org
> > Cc: Dmytriyenko, Denys
> > Subject: [meta-ti] [PATCH] omapfbplay: import from OE classic
> >
> > Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
> > ---
> > .../files/0001-rollback-to-libav-0.7.4-API.patch   |   26
> +++++++++++++++
> > .../files/omapfbplay-errorhandling.patch           |   34
> ++++++++++++++++++++
> > recipes-graphics/omapfbplay/omapfbplay-cmem_git.bb |   16 +++++++++
> > recipes-graphics/omapfbplay/omapfbplay-dce_git.bb  |    7 ++++
> > recipes-graphics/omapfbplay/omapfbplay-xv_git.bb   |    3 ++
> > recipes-graphics/omapfbplay/omapfbplay.inc         |   33
> +++++++++++++++++++
> > recipes-graphics/omapfbplay/omapfbplay_git.bb      |    3 ++
> > 7 files changed, 122 insertions(+)
> > create mode 100644
> > recipes-graphics/omapfbplay/files/0001-rollback-to-libav-0.7.4-
> API.pat
> > ch create mode 100644
> > recipes-graphics/omapfbplay/files/omapfbplay-errorhandling.patch
> > create mode 100644
> > recipes-graphics/omapfbplay/omapfbplay-cmem_git.bb
> > create mode 100644 recipes-graphics/omapfbplay/omapfbplay-dce_git.bb
> > create mode 100644 recipes-graphics/omapfbplay/omapfbplay-xv_git.bb
> > create mode 100644 recipes-graphics/omapfbplay/omapfbplay.inc
> > create mode 100644 recipes-graphics/omapfbplay/omapfbplay_git.bb
> >
> > diff --git
> > a/recipes-graphics/omapfbplay/files/0001-rollback-to-libav-0.7.4-
> API.p
> > atch
> > b/recipes-graphics/omapfbplay/files/0001-rollback-to-libav-0.7.4-
> API.p
> > atch
> > new file mode 100644
> > index 0000000..9095fe5
> > --- /dev/null
> > +++ b/recipes-graphics/omapfbplay/files/0001-rollback-to-libav-0.7.4
> > +++ -
> A
> > +++ PI.patch
> > @@ -0,0 +1,26 @@
> > +From dca631cfa22b1f903c943a9e03597aa6f9ae10d4 Mon Sep 17 00:00:00
> > +2001
> > +From: Koen Kooi <koen at dominion.thruhere.net>
> > +Date: Thu, 10 May 2012 14:01:27 +0200
> > +Subject: [PATCH] rollback to libav 0.7.4 API
> > +
> > +Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
> > +---
> > + omapfbplay.c |    2 +-
> > + 1 file changed, 1 insertion(+), 1 deletion(-)
> > +
> > +diff --git a/omapfbplay.c b/omapfbplay.c index 6a6fc96..1e5a29c
> > +100644
> > +--- a/omapfbplay.c
> > ++++ b/omapfbplay.c
> > +@@ -674,7 +674,7 @@ main(int argc, char **argv)
> > +     pthread_join(dispt, NULL);
> > +
> > + out:
> > +-    if (afc) avformat_close_input(&afc);
> > ++    if (afc) av_close_input_file(&afc);
> > +
> > +     if (codec)   codec->close();
> > +     if (timer)   timer->close();
> > +--
> > +1.7.10
> > +
> > diff --git
> > a/recipes-graphics/omapfbplay/files/omapfbplay-errorhandling.patch
> > b/recipes-graphics/omapfbplay/files/omapfbplay-errorhandling.patch
> > new file mode 100644
> > index 0000000..7dd544f
> > --- /dev/null
> > +++ b/recipes-graphics/omapfbplay/files/omapfbplay-
> errorhandling.patch
> > @@ -0,0 +1,34 @@
> > +From e321ae7df57ada9ecc8c155fa4e5511c96ef5db3 Mon Sep 17 00:00:00
> > +2001
> > +From: Rob Clark <rob at ti.com>
> > +Date: Fri, 18 Mar 2011 12:40:51 -0500
> > +Subject: [PATCH] dce: differentiate between fatal and non-fatal
> > +errors
> > +
> > +For streams with errors, the codec will throw back an error. But
> > +not all errors are fatal.
> > +---
> > + dce.c |   10 ++++++++--
> > + 1 files changed, 8 insertions(+), 2 deletions(-)
> > +
> > +diff --git a/dce.c b/dce.c
> > +index ab7ad0a..88f175e 100644
> > +--- a/dce.c
> > ++++ b/dce.c
> > +@@ -270,8 +270,14 @@ static int dce_decode(AVPacket *p)
> > +
> > +     err = VIDDEC3_process(codec, inbufs, outbufs, in_args,
> out_args);
> > +     if (err) {
> > +-        fprintf(stderr, "VIDDEC3_process() error %d\n", err);
> > +-        return -1;
> > ++        fprintf(stderr, "VIDDEC3_process() error %d %08x\n", err,
> > ++                    out_args->extendedError);
> > ++        /* for non-fatal errors, keep going.. a non-fatal error
> could
> > ++         * just indicate an error in the input stream which the
> codec
> > ++         * was able to conceal
> > ++         */
> > ++        if (XDM_ISFATALERROR(out_args->extendedError))
> > ++            return -1;
> > +     }
> > +
> > +     for (i = 0; i < out_args->outputID[i]; i++) {
> > +--
> > +1.7.1
> > diff --git a/recipes-graphics/omapfbplay/omapfbplay-cmem_git.bb
> > b/recipes-graphics/omapfbplay/omapfbplay-cmem_git.bb
> > new file mode 100644
> > index 0000000..a0392f6
> > --- /dev/null
> > +++ b/recipes-graphics/omapfbplay/omapfbplay-cmem_git.bb
> > @@ -0,0 +1,16 @@
> > +require omapfbplay.inc
> > +
> > +DEPENDS += "ti-linuxutils"
> > +
> > +require recipes-ti/includes/ti-paths.inc
> > +
> > +PACKAGE_ARCH = "${MACHINE_ARCH}"
> > +
> > +SDMA_CFLAGS = " -
> I${LINUXUTILS_INSTALL_DIR}/packages/ti/sdo/linuxutils/sdma/include/"
> > +CMEM_CFLAGS = " -
> I${LINUXUTILS_INSTALL_DIR}/packages/ti/sdo/linuxutils/cmem/include/"
> > +CFLAGS += " -I. -I${STAGING_KERNEL_DIR}/include ${SDMA_CFLAGS}
> ${CMEM_CFLAGS}"
> > +
> > +export SDMA_LIBS = "-
> L${LINUXUTILS_INSTALL_DIR}/packages/ti/sdo/linuxutils/sdma/lib -
> l:sdma.a470MV"
> > +export CMEM_LIBS = "-
> L${LINUXUTILS_INSTALL_DIR}/packages/ti/sdo/linuxutils/cmem/lib -
> l:cmem.a470MV"
> > +
> > +OMAPFBPLAYOPTS = "V4L2=y OMAPFB=y NETSYNC=y CMEM=y SDMA=y"
> > diff --git a/recipes-graphics/omapfbplay/omapfbplay-dce_git.bb
> > b/recipes-graphics/omapfbplay/omapfbplay-dce_git.bb
> > new file mode 100644
> > index 0000000..e70ac72
> > --- /dev/null
> > +++ b/recipes-graphics/omapfbplay/omapfbplay-dce_git.bb
> > @@ -0,0 +1,7 @@
> > +require omapfbplay.inc
> > +
> > +DEPENDS += "libdce"
> > +
> > +CFLAGS += " -I. -I${STAGING_INCDIR}/dce -
> I${STAGING_KERNEL_DIR}/include "
> > +
> > +OMAPFBPLAYOPTS = "V4L2=y OMAPFB=y NETSYNC=y DCE=y"
> > diff --git a/recipes-graphics/omapfbplay/omapfbplay-xv_git.bb
> > b/recipes-graphics/omapfbplay/omapfbplay-xv_git.bb
> > new file mode 100644
> > index 0000000..cadf6d8
> > --- /dev/null
> > +++ b/recipes-graphics/omapfbplay/omapfbplay-xv_git.bb
> > @@ -0,0 +1,3 @@
> > +require omapfbplay.inc
> > +
> > +OMAPFBPLAYOPTS = "V4L2=y NETSYNC=y XV=y"
> > diff --git a/recipes-graphics/omapfbplay/omapfbplay.inc
> > b/recipes-graphics/omapfbplay/omapfbplay.inc
> > new file mode 100644
> > index 0000000..88de77b
> > --- /dev/null
> > +++ b/recipes-graphics/omapfbplay/omapfbplay.inc
> > @@ -0,0 +1,33 @@
> > +DESCRIPTION = "Simple libav-based player that uses the omapfb
> overlays"
> > +DEPENDS = "bzip2 lame libav virtual/kernel"
> > +LICENSE = "MIT"
> > +LIC_FILES_CHKSUM =
> "file://omapfbplay.c;beginline=2;endline=22;md5=05d3789ab362e6f4a9682e
> 9
> 8100ea0fa"
> > +
> > +PV = "0.0+${PR}+gitr${SRCREV}"
> > +
> > +SRCREV = "d03f042ecac0a231bedeadc7a6c67f0102d5505a"
> > +SRC_URI = "git://git.mansr.com/omapfbplay;protocol=git \
> > +           file://omapfbplay-errorhandling.patch \
> > +           file://0001-rollback-to-libav-0.7.4-API.patch \
> > +          "
> > +
> > +S = "${WORKDIR}/git"
> > +
> > +# We want a kernel header for armv7a, but we don't want to make
> > +mplayer machine specific for that STAGING_KERNEL_DIR =
> "${STAGING_DIR}/${MACHINE_ARCH}${TARGET_VENDOR}-${TARGET_OS}/kernel"
> > +CFLAGS += " -I. -I${STAGING_KERNEL_DIR}/include "
> > +
> > +OMAPFBPLAYVARIANT ?= "${PN}"
> > +OMAPFBPLAYOPTS ?= "V4L2=y NETSYNC=y"
> > +
> > +do_compile() {
> > +       cp ${STAGING_KERNEL_DIR}/arch/arm/plat-
> omap/include/mach/omapfb.h ${S} || true
> > +       cp ${STAGING_KERNEL_DIR}/include/asm-arm/arch-omap/omapfb.h
> ${S} || true
> > +       cp ${STAGING_KERNEL_DIR}/include/linux/omapfb.h ${S} || true
> > +       oe_runmake ${TARGET_ARCH}=y ${OMAPFBPLAYOPTS} -e }
> > +
> > +do_install() {
> > +       install -d ${D}/${bindir}
> > +       install -m 0755 ${S}/omapfbplay
> > +${D}/${bindir}/${OMAPFBPLAYVARIANT}
> > +}
> > diff --git a/recipes-graphics/omapfbplay/omapfbplay_git.bb
> > b/recipes-graphics/omapfbplay/omapfbplay_git.bb
> > new file mode 100644
> > index 0000000..0d3956f
> > --- /dev/null
> > +++ b/recipes-graphics/omapfbplay/omapfbplay_git.bb
> > @@ -0,0 +1,3 @@
> > +require omapfbplay.inc
> > +
> > +OMAPFBPLAYOPTS = "V4L2=y OMAPFB=y NETSYNC=y"
> > --
> > 1.7.10
> >
> > _______________________________________________
> > meta-ti mailing list
> > meta-ti at yoctoproject.org
> > https://lists.yoctoproject.org/listinfo/meta-ti
> >




-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-omapfbplay-import-from-OE-classic-api-tweak.patch
Type: application/octet-stream
Size: 7514 bytes
Desc: 0001-omapfbplay-import-from-OE-classic-api-tweak.patch
URL: <http://lists.yoctoproject.org/pipermail/meta-ti/attachments/20120510/a1cab3af/attachment.obj>


More information about the meta-ti mailing list