* [PATCH] omapfbplay: import from OE classic
@ 2012-05-10 12:04 Koen Kooi
2012-05-10 13:42 ` Monk, Roger
0 siblings, 1 reply; 7+ messages in thread
From: Koen Kooi @ 2012-05-10 12:04 UTC (permalink / raw)
To: meta-ti; +Cc: denys
Signed-off-by: Koen Kooi <koen@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.patch
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.patch b/recipes-graphics/omapfbplay/files/0001-rollback-to-libav-0.7.4-API.patch
new file mode 100644
index 0000000..9095fe5
--- /dev/null
+++ b/recipes-graphics/omapfbplay/files/0001-rollback-to-libav-0.7.4-API.patch
@@ -0,0 +1,26 @@
+From dca631cfa22b1f903c943a9e03597aa6f9ae10d4 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@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@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@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=05d3789ab362e6f4a9682e98100ea0fa"
+
+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
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] omapfbplay: import from OE classic
2012-05-10 12:04 [PATCH] omapfbplay: import from OE classic Koen Kooi
@ 2012-05-10 13:42 ` Monk, Roger
2012-05-10 14:09 ` Koen Kooi
0 siblings, 1 reply; 7+ messages in thread
From: Monk, Roger @ 2012-05-10 13:42 UTC (permalink / raw)
To: Koen Kooi, meta-ti@yoctoproject.org; +Cc: Dmytriyenko, Denys
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...
~rog
Texas Instruments Limited, 800 Pavilion Drive, Northampton, NN4 7YL. Registered in England & Wales under company number 00574102
-----Original Message-----
From: meta-ti-bounces@yoctoproject.org [mailto:meta-ti-bounces@yoctoproject.org] On Behalf Of Koen Kooi
Sent: 10 May 2012 13:04
To: meta-ti@yoctoproject.org
Cc: Dmytriyenko, Denys
Subject: [meta-ti] [PATCH] omapfbplay: import from OE classic
Signed-off-by: Koen Kooi <koen@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.patch
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.patch b/recipes-graphics/omapfbplay/files/0001-rollback-to-libav-0.7.4-API.patch
new file mode 100644
index 0000000..9095fe5
--- /dev/null
+++ b/recipes-graphics/omapfbplay/files/0001-rollback-to-libav-0.7.4-API.patch
@@ -0,0 +1,26 @@
+From dca631cfa22b1f903c943a9e03597aa6f9ae10d4 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@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@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@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=05d3789ab362e6f4a9682e98100ea0fa"
+
+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@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-ti
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] omapfbplay: import from OE classic
2012-05-10 13:42 ` Monk, Roger
@ 2012-05-10 14:09 ` Koen Kooi
2012-05-10 14:13 ` Monk, Roger
0 siblings, 1 reply; 7+ messages in thread
From: Koen Kooi @ 2012-05-10 14:09 UTC (permalink / raw)
To: Monk, Roger; +Cc: meta-ti@yoctoproject.org, Dmytriyenko, Denys
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.
regards,
Koen
>
> ~rog
>
>
> Texas Instruments Limited, 800 Pavilion Drive, Northampton, NN4 7YL. Registered in England & Wales under company number 00574102
>
> -----Original Message-----
> From: meta-ti-bounces@yoctoproject.org [mailto:meta-ti-bounces@yoctoproject.org] On Behalf Of Koen Kooi
> Sent: 10 May 2012 13:04
> To: meta-ti@yoctoproject.org
> Cc: Dmytriyenko, Denys
> Subject: [meta-ti] [PATCH] omapfbplay: import from OE classic
>
> Signed-off-by: Koen Kooi <koen@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.patch
> 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.patch b/recipes-graphics/omapfbplay/files/0001-rollback-to-libav-0.7.4-API.patch
> new file mode 100644
> index 0000000..9095fe5
> --- /dev/null
> +++ b/recipes-graphics/omapfbplay/files/0001-rollback-to-libav-0.7.4-API.patch
> @@ -0,0 +1,26 @@
> +From dca631cfa22b1f903c943a9e03597aa6f9ae10d4 Mon Sep 17 00:00:00 2001
> +From: Koen Kooi <koen@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@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@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=05d3789ab362e6f4a9682e98100ea0fa"
> +
> +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@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-ti
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] omapfbplay: import from OE classic
2012-05-10 14:09 ` Koen Kooi
@ 2012-05-10 14:13 ` Monk, Roger
2012-05-10 14:20 ` Koen Kooi
0 siblings, 1 reply; 7+ messages in thread
From: Monk, Roger @ 2012-05-10 14:13 UTC (permalink / raw)
To: Koen Kooi; +Cc: meta-ti@yoctoproject.org, Dmytriyenko, Denys
[-- Attachment #1: Type: text/plain, Size: 10205 bytes --]
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@yoctoproject.org
> > [mailto:meta-ti-bounces@yoctoproject.org] On Behalf Of Koen Kooi
> > Sent: 10 May 2012 13:04
> > To: meta-ti@yoctoproject.org
> > Cc: Dmytriyenko, Denys
> > Subject: [meta-ti] [PATCH] omapfbplay: import from OE classic
> >
> > Signed-off-by: Koen Kooi <koen@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@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@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@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@yoctoproject.org
> > https://lists.yoctoproject.org/listinfo/meta-ti
> >
[-- Attachment #2: 0001-omapfbplay-import-from-OE-classic-api-tweak.patch --]
[-- Type: application/octet-stream, Size: 7514 bytes --]
From ecf149f283aaa0afd2a3149ad75776680c2c13b9 Mon Sep 17 00:00:00 2001
From: Roger Monk <r-monk@ti.com>
Date: Thu, 10 May 2012 14:57:09 +0100
Subject: [PATCH] omapfbplay: import from OE classic + api tweak
Signed-off-by: Roger Monk <r-monk@ti.com>
---
...switch-CODEC_TYPE_VIDEO-to-AVMEDIA_TYPE_V.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(+), 0 deletions(-)
create mode 100644 recipes-graphics/omapfbplay/files/0001-omapfbplay-switch-CODEC_TYPE_VIDEO-to-AVMEDIA_TYPE_V.patch
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-omapfbplay-switch-CODEC_TYPE_VIDEO-to-AVMEDIA_TYPE_V.patch b/recipes-graphics/omapfbplay/files/0001-omapfbplay-switch-CODEC_TYPE_VIDEO-to-AVMEDIA_TYPE_V.patch
new file mode 100644
index 0000000..e01fddb
--- /dev/null
+++ b/recipes-graphics/omapfbplay/files/0001-omapfbplay-switch-CODEC_TYPE_VIDEO-to-AVMEDIA_TYPE_V.patch
@@ -0,0 +1,26 @@
+From 71670f4a067efc169018a9ec9321ccc9af3bbd59 Mon Sep 17 00:00:00 2001
+From: Roger Monk <r-monk@ti.com>
+Date: Thu, 10 May 2012 14:50:11 +0100
+Subject: [PATCH] omapfbplay: switch CODEC_TYPE_VIDEO to AVMEDIA_TYPE_VIDEO
+
+Signed-off-by: Roger Monk <r-monk@ti.com>
+---
+ omapfbplay.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/omapfbplay.c b/omapfbplay.c
+index ad35bd5..818cf2c 100644
+--- a/omapfbplay.c
++++ b/omapfbplay.c
+@@ -74,7 +74,7 @@ find_stream(AVFormatContext *afc)
+ int i;
+
+ for (i = 0; i < afc->nb_streams; i++) {
+- if (afc->streams[i]->codec->codec_type == CODEC_TYPE_VIDEO && !st)
++ if (afc->streams[i]->codec->codec_type == AVMEDIA_TYPE_VIDEO && !st)
+ st = afc->streams[i];
+ else
+ afc->streams[i]->discard = AVDISCARD_ALL;
+--
+1.7.0.4
+
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@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..77e2380
--- /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=05d3789ab362e6f4a9682e98100ea0fa"
+
+PV = "0.0+${PR}+gitr${SRCREV}"
+
+SRCREV = "34293052c5a2ae328eac6903512e6b4ce19b5639"
+SRC_URI = "git://git.mansr.com/omapfbplay;protocol=git \
+ file://omapfbplay-errorhandling.patch \
+ file://0001-omapfbplay-switch-CODEC_TYPE_VIDEO-to-AVMEDIA_TYPE_V.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.0.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] omapfbplay: import from OE classic
2012-05-10 14:13 ` Monk, Roger
@ 2012-05-10 14:20 ` Koen Kooi
2012-05-10 14:23 ` Monk, Roger
0 siblings, 1 reply; 7+ messages in thread
From: Koen Kooi @ 2012-05-10 14:20 UTC (permalink / raw)
To: Monk, Roger; +Cc: meta-ti@yoctoproject.org, Dmytriyenko, Denys
Op 10 mei 2012, om 16:13 heeft Monk, Roger het volgende geschreven:
> 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?
The patch looks good to me. Once the beaglebone a6 release it out I'll have time to look at libav. I'll need it for a customer project in that timeframe as well. Thanks for updating the patch!
regards,
Koen
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] omapfbplay: import from OE classic
2012-05-10 14:20 ` Koen Kooi
@ 2012-05-10 14:23 ` Monk, Roger
2012-05-21 20:47 ` Denys Dmytriyenko
0 siblings, 1 reply; 7+ messages in thread
From: Monk, Roger @ 2012-05-10 14:23 UTC (permalink / raw)
To: Koen Kooi; +Cc: meta-ti@yoctoproject.org, Dmytriyenko, Denys
On Thu, May 10, 2012 at 15:20:31, Koen Kooi wrote:
> Subject: Re: [meta-ti] [PATCH] omapfbplay: import from OE classic
>
>
> Op 10 mei 2012, om 16:13 heeft Monk, Roger het volgende geschreven:
>
> > 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?
>
> The patch looks good to me. Once the beaglebone a6 release it out I'll
> have time to look at libav. I'll need it for a customer project in
> that timeframe as well. Thanks for updating the patch!
>
Np! - you gave me great head-start! - I'll re-send via git send-email.
> regards,
>
> Koen
Texas Instruments Limited, 800 Pavilion Drive, Northampton, NN4 7YL. Registered in England & Wales under company number 00574102
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] omapfbplay: import from OE classic
2012-05-10 14:23 ` Monk, Roger
@ 2012-05-21 20:47 ` Denys Dmytriyenko
0 siblings, 0 replies; 7+ messages in thread
From: Denys Dmytriyenko @ 2012-05-21 20:47 UTC (permalink / raw)
To: Monk, Roger; +Cc: meta-ti@yoctoproject.org, Dmytriyenko, Denys
On Thu, May 10, 2012 at 02:23:35PM +0000, Monk, Roger wrote:
> On Thu, May 10, 2012 at 15:20:31, Koen Kooi wrote:
> > Subject: Re: [meta-ti] [PATCH] omapfbplay: import from OE classic
> >
> >
> > Op 10 mei 2012, om 16:13 heeft Monk, Roger het volgende geschreven:
> >
> > > 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?
> >
> > The patch looks good to me. Once the beaglebone a6 release it out I'll
> > have time to look at libav. I'll need it for a customer project in
> > that timeframe as well. Thanks for updating the patch!
>
> Np! - you gave me great head-start! - I'll re-send via git send-email.
BTW, do we want to have PROVIDES and PREFERRED_PROVIDER for all those
different variants of omapfbplay?
--
Denys
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2012-05-21 20:47 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-10 12:04 [PATCH] omapfbplay: import from OE classic Koen Kooi
2012-05-10 13:42 ` Monk, Roger
2012-05-10 14:09 ` Koen Kooi
2012-05-10 14:13 ` Monk, Roger
2012-05-10 14:20 ` Koen Kooi
2012-05-10 14:23 ` Monk, Roger
2012-05-21 20:47 ` Denys Dmytriyenko
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.