summaryrefslogtreecommitdiffstats
path: root/recipes/mplayer
diff options
context:
space:
mode:
authorKoen Kooi <koen@openembedded.org>2010-06-23 12:19:07 +0200
committerKoen Kooi <koen@openembedded.org>2010-06-23 12:19:32 +0200
commit7cdd2ffa872cf478c6d0198f2c3f30b423cf56c6 (patch)
tree3c522e0e9607ef09f76655b86c9c05785da20ff3 /recipes/mplayer
parentcb449259e0194c00fcd01cd789ff696d72356e21 (diff)
downloadopenembedded-7cdd2ffa872cf478c6d0198f2c3f30b423cf56c6.tar.gz
mplayer: add webm patches
Diffstat (limited to 'recipes/mplayer')
-rw-r--r--recipes/mplayer/mplayer/codecs_conf-VP8.diff19
-rw-r--r--recipes/mplayer/mplayer/configure-libvpx_test.diff72
-rw-r--r--recipes/mplayer/mplayer/demux_mkv-V_VP8__webm_doctype.diff33
-rw-r--r--recipes/mplayer/mplayer_svn.bb8
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 0000000000..ef923ddcf8
--- /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 0000000000..35250c3d53
--- /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 0000000000..58b6e70c35
--- /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 af20c91ce0..82e46bdada 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' \