diff options
author | Koen Kooi <koen@openembedded.org> | 2010-06-23 12:19:07 +0200 |
---|---|---|
committer | Koen Kooi <koen@openembedded.org> | 2010-06-23 12:19:32 +0200 |
commit | 7cdd2ffa872cf478c6d0198f2c3f30b423cf56c6 (patch) | |
tree | 3c522e0e9607ef09f76655b86c9c05785da20ff3 /recipes/mplayer | |
parent | cb449259e0194c00fcd01cd789ff696d72356e21 (diff) |
mplayer: add webm patches
Diffstat (limited to 'recipes/mplayer')
-rw-r--r-- | recipes/mplayer/mplayer/codecs_conf-VP8.diff | 19 | ||||
-rw-r--r-- | recipes/mplayer/mplayer/configure-libvpx_test.diff | 72 | ||||
-rw-r--r-- | recipes/mplayer/mplayer/demux_mkv-V_VP8__webm_doctype.diff | 33 | ||||
-rw-r--r-- | 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 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' \ |