[oe-commits] Koen Kooi : mplayer: add webm patches

git version control git at git.openembedded.org
Wed Jun 23 10:19:48 UTC 2010


Module: openembedded.git
Branch: org.openembedded.dev
Commit: 7cdd2ffa872cf478c6d0198f2c3f30b423cf56c6
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=7cdd2ffa872cf478c6d0198f2c3f30b423cf56c6

Author: Koen Kooi <koen at openembedded.org>
Date:   Wed Jun 23 12:19:07 2010 +0200

mplayer: add webm patches

---

 recipes/mplayer/mplayer/codecs_conf-VP8.diff       |   19 +++++
 recipes/mplayer/mplayer/configure-libvpx_test.diff |   72 ++++++++++++++++++++
 .../mplayer/demux_mkv-V_VP8__webm_doctype.diff     |   33 +++++++++
 recipes/mplayer/mplayer_svn.bb                     |    8 ++-
 4 files changed, 130 insertions(+), 2 deletions(-)

diff --git a/recipes/mplayer/mplayer/codecs_conf-VP8.diff b/recipes/mplayer/mplayer/codecs_conf-VP8.diff
new file mode 100644
index 0000000..ef923dd
--- /dev/null
+++ b/recipes/mplayer/mplayer/codecs_conf-VP8.diff
@@ -0,0 +1,19 @@
+Index: etc/codecs.conf
+===================================================================
+--- etc/codecs.conf	(revision 29308)
++++ etc/codecs.conf	(working copy)
+@@ -1942,6 +1942,14 @@
+   out YUY2
+   out BGR32,BGR24
+ 
++videocodec fflibvpxvp8
++  info "FFmpeg wrapper for libvpx/VP8"
++  status working
++  fourcc VP80
++  driver ffmpeg
++  dll "libvpx_vp8"
++  out YV12
++
+ videocodec mwv1
+   info "Motion Wavelets"
+   status working
diff --git a/recipes/mplayer/mplayer/configure-libvpx_test.diff b/recipes/mplayer/mplayer/configure-libvpx_test.diff
new file mode 100644
index 0000000..35250c3
--- /dev/null
+++ b/recipes/mplayer/mplayer/configure-libvpx_test.diff
@@ -0,0 +1,72 @@
+--- /tmp/configure	2010-06-23 12:12:45.000000000 +0200
++++ trunk/configure	2010-06-23 12:13:53.000000000 +0200
+@@ -302,6 +302,7 @@
+   --disable-libdirac-lavc   disable Dirac in libavcodec [autodetect]
+   --disable-libschroedinger-lavc   disable Dirac in libavcodec (Schroedinger
+                                    decoder) [autodetect]
++  --disable-libvpx-vp8-lavc disable VP8 in libavcodec [autodetect]
+   --disable-libnut          disable libnut [autodetect]
+   --disable-libavutil_a     disable static libavutil [autodetect]
+   --disable-libavcodec_a    disable static libavcodec [autodetect]
+@@ -689,6 +690,7 @@
+ _x264_lavc=auto
+ _libdirac_lavc=auto
+ _libschroedinger_lavc=auto
++_libvpx_vp8_lavc=auto
+ _libnut=auto
+ _lirc=auto
+ _lircc=auto
+@@ -1142,6 +1144,8 @@
+   --disable-libdirac-lavc)  _libdirac_lavc=no   ;;
+   --enable-libschroedinger-lavc)   _libschroedinger_lavc=yes  ;;
+   --disable-libschroedinger-lavc)  _libschroedinger_lavc=no   ;;
++  --enable-libvpx-vp8-lavc)   _libvpx_vp8_lavc=yes  ;;
++  --disable-libvpx-vp8-lavc)  _libvpx_vp8_lavc=no   ;;
+   --enable-libnut)	_libnut=yes	;;
+   --disable-libnut)	_libnut=no	;;
+   --enable-libavutil_a)		_libavutil_a=yes	;;
+@@ -7425,6 +7429,44 @@
+ fi
+ echores "$_libschroedinger_lavc"
+ 
++echocheck "libvpx_vp8"
++if test "$_libvpx_vp8_lavc" = auto; then
++  _libvpx_vp8_lavc=no
++  if test "$_libavcodec_a" != yes; then
++    res_comment="libavcodec (static) is required by libvpx_vp8, sorry"
++  else
++    cat > $TMPC << EOF
++#define HAVE_STDINT_H 1
++#include <vpx_decoder.h>
++#include <vp8dx.h>
++#include <vpx_encoder.h>
++#include <vp8cx.h>
++int main(void)
++{
++    vpx_codec_dec_init(NULL,&vpx_codec_vp8_dx_algo,NULL,0);
++    vpx_codec_enc_init(NULL,&vpx_codec_vp8_cx_algo,NULL,0);
++    return 0;
++}
++EOF
++    _inc_vpx_vp8=
++    _ld_vpx_vp8=-lvpx
++    cc_check $_inc_vpx_vp8 $_ld_vpx_vp8        &&
++    _libvpx_vp8_lavc=yes                       &&
++    extra_cflags="$extra_cflags $_inc_vpx_vp8" &&
++    extra_ldflags="$extra_ldflags $_ld_vpx_vp8"
++  fi
++fi
++if test "$_libvpx_vp8_lavc" = yes ; then
++  def_libvpx_vp8_lavc='#define CONFIG_LIBVPX_VP8 1'
++  _libavencoders="$_libavencoders LIBVPX_VP8_ENCODER"
++  _libavdecoders="$_libavdecoders LIBVPX_VP8_DECODER"
++  codecmodules="libvpx_vp8 $codecmodules"
++else
++  def_libvpx_vp8_lavc='#define CONFIG_LIBVPX_VP8 0'
++  nocodecmodules="libvpx_vp8 $nocodecmodules"
++fi
++echores "$_libvpx_vp8_lavc"
++
+ echocheck "libnut"
+ if test "$_libnut" = auto ; then
+   cat > $TMPC << EOF
diff --git a/recipes/mplayer/mplayer/demux_mkv-V_VP8__webm_doctype.diff b/recipes/mplayer/mplayer/demux_mkv-V_VP8__webm_doctype.diff
new file mode 100644
index 0000000..58b6e70
--- /dev/null
+++ b/recipes/mplayer/mplayer/demux_mkv-V_VP8__webm_doctype.diff
@@ -0,0 +1,33 @@
+Index: libmpdemux/demux_mkv.c
+===================================================================
+--- libmpdemux/demux_mkv.c	(revision 31032)
++++ libmpdemux/demux_mkv.c	(working copy)
+@@ -1519,6 +1519,7 @@ static const videocodec_info_t vinfo[] =
+   { MKV_V_MPEG4_AP,  mmioFOURCC('m', 'p', '4', 'v'), 1 },
+   { MKV_V_MPEG4_AVC, mmioFOURCC('a', 'v', 'c', '1'), 1 },
+   { MKV_V_THEORA,    mmioFOURCC('t', 'h', 'e', 'o'), 1 },
++  { MKV_V_VP8,       mmioFOURCC('V', 'P', '8', '0'), 0 },
+   { NULL, 0, 0 }
+ };
+ 
+@@ -2053,7 +2054,7 @@ demux_mkv_open (demuxer_t *demuxer)
+ 
+   stream_seek(s, s->start_pos);
+   str = ebml_read_header (s, &version);
+-  if (str == NULL || strcmp (str, "matroska") || version > 2)
++  if (str == NULL || (strcmp (str, "matroska") && strcmp (str, "webm")) || version > 2)
+     {
+       mp_msg (MSGT_DEMUX, MSGL_DBG2, "[mkv] no head found\n");
+       return 0;
+Index: libmpdemux/matroska.h
+===================================================================
+--- libmpdemux/matroska.h	(revision 31032)
++++ libmpdemux/matroska.h	(working copy)
+@@ -69,6 +69,7 @@
+ #define MKV_V_MPEG4_AP   "V_MPEG4/ISO/AP"
+ #define MKV_V_MPEG4_AVC  "V_MPEG4/ISO/AVC"
+ #define MKV_V_THEORA     "V_THEORA"
++#define MKV_V_VP8        "V_VP8"
+ 
+ #define MKV_S_TEXTASCII  "S_TEXT/ASCII"
+ #define MKV_S_TEXTUTF8   "S_TEXT/UTF8"
diff --git a/recipes/mplayer/mplayer_svn.bb b/recipes/mplayer/mplayer_svn.bb
index af20c91..82e46bd 100644
--- a/recipes/mplayer/mplayer_svn.bb
+++ b/recipes/mplayer/mplayer_svn.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "Open Source multimedia player."
 SECTION = "multimedia"
 PRIORITY = "optional"
 HOMEPAGE = "http://www.mplayerhq.hu/"
-DEPENDS = "live555 libdvdread libtheora virtual/libsdl ffmpeg xsp zlib libpng jpeg liba52 freetype fontconfig alsa-lib lzo ncurses lame libxv virtual/libx11 virtual/kernel \
+DEPENDS = "libvpx live555 libdvdread libtheora virtual/libsdl ffmpeg xsp zlib libpng jpeg liba52 freetype fontconfig alsa-lib lzo ncurses lame libxv virtual/libx11 virtual/kernel \
 	   ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad liba52 lame', d)}"
 
 RDEPENDS_${PN} = "mplayer-common"
@@ -15,6 +15,9 @@ SRC_URI = "svn://svn.mplayerhq.hu/mplayer;module=trunk \
 	   file://fix-addrinfo.patch;maxrev=30302 \
        file://fix-avconfig.diff;maxrev=30376 \
 	   file://fix-emu_qtx_api.diff;maxrev=30165 \
+       file://codecs_conf-VP8.diff;striplevel=0 \
+       file://demux_mkv-V_VP8__webm_doctype.diff;striplevel=0 \
+       file://configure-libvpx_test.diff \
 "
 
 SRCREV = "30165"
@@ -40,7 +43,7 @@ RCONFLICTS_${PN} = "mplayer-atty"
 RREPLACES_${PN} = "mplayer-atty"
 
 PV = "0.0+1.0rc3+svnr${SRCPV}"
-PR = "r21"
+PR = "r22"
 DEFAULT_PREFERENCE = "-1"
 DEFAULT_PREFERENCE_angstrom = "1"
 DEFAULT_PREFERENCE_shr = "1"
@@ -173,6 +176,7 @@ EXTRA_OECONF = " \
 	--disable-sunaudio \
 	--disable-win32waveout \
 	--enable-select \
+	--enable-libvpx-vp8-lavc \
 	\
 	--extra-libs=' -lBasicUsageEnvironment -lUsageEnvironment -lgroupsock -lliveMedia -lstdc++' \
     --enable-protocol='file_protocol pipe_protocol http_protocol rtmp_protocol tcp_protocol udp_protocol' \





More information about the Openembedded-commits mailing list