summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordiego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2>2010-05-25 23:41:30 +0000
committerdiego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2>2010-05-25 23:41:30 +0000
commitab1c858071ac93fc4736582f259b580c4734cc71 (patch)
tree0decdd15c73bbd1edbb56d656702d0cc5f943a00
parenteacce255b0a462493155f2e85cdd06cf03de0eae (diff)
downloadmpv-ab1c858071ac93fc4736582f259b580c4734cc71.tar.bz2
mpv-ab1c858071ac93fc4736582f259b580c4734cc71.tar.xz
Add support for decoding VP8 through libvpx wrapper in FFmpeg.
patch by James Zern, jzern google com git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31220 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r--Changelog1
-rwxr-xr-xconfigure28
-rw-r--r--etc/codecs.conf8
3 files changed, 37 insertions, 0 deletions
diff --git a/Changelog b/Changelog
index b15c7fb655..9a24914a59 100644
--- a/Changelog
+++ b/Changelog
@@ -17,6 +17,7 @@ MPlayer (1.0)
* JPEG 2000 support via OpenJPEG
* internal liba52 copy removed
* CineForm HD (CFHD) via binary DLL
+ * VP8 decoding through libvpx wrapper in FFmpeg
Demuxers:
* support for TrueHD in Blu-ray streams in libmpdemux
diff --git a/configure b/configure
index 021708e83d..0e851da0be 100755
--- a/configure
+++ b/configure
@@ -299,6 +299,7 @@ Codecs:
--disable-libdirac-lavc disable Dirac in libavcodec [autodetect]
--disable-libschroedinger-lavc disable Dirac in libavcodec (Schroedinger
decoder) [autodetect]
+ --disable-libvpx-lavc disable libvpx in libavcodec [autodetect]
--disable-libnut disable libnut [autodetect]
--disable-libavutil_a disable static libavutil [autodetect]
--disable-libavcodec_a disable static libavcodec [autodetect]
@@ -693,6 +694,7 @@ _x264=auto
_x264_lavc=auto
_libdirac_lavc=auto
_libschroedinger_lavc=auto
+_libvpx_lavc=auto
_libnut=auto
_lirc=auto
_lircc=auto
@@ -1137,6 +1139,8 @@ for ac_option do
--disable-libdirac-lavc) _libdirac_lavc=no ;;
--enable-libschroedinger-lavc) _libschroedinger_lavc=yes ;;
--disable-libschroedinger-lavc) _libschroedinger_lavc=no ;;
+ --enable-libvpx-lavc) _libvpx_lavc=yes ;;
+ --disable-libvpx-lavc) _libvpx_lavc=no ;;
--enable-libnut) _libnut=yes ;;
--disable-libnut) _libnut=no ;;
--enable-libavutil_a) _libavutil_a=yes ;;
@@ -7596,6 +7600,30 @@ else
fi
echores "$_libschroedinger_lavc"
+echocheck "libvpx"
+if test "$_libvpx_lavc" = auto; then
+ _libvpx_lavc=no
+ if test "$_libavcodec_a" != yes; then
+ res_comment="libavcodec (static) is required by libvpx, sorry"
+ else
+ cat > $TMPC << EOF
+#include <vpx/vpx_decoder.h>
+#include <vpx/vp8dx.h>
+int main(void) { vpx_codec_dec_init(NULL, &vpx_codec_vp8_dx_algo, NULL, 0); return 0; }
+EOF
+ cc_check -lvpx && _libvpx_lavc=yes && extra_ldflags="$extra_ldflags -lvpx"
+ fi
+fi
+if test "$_libvpx_lavc" = yes ; then
+ def_libvpx_lavc='#define CONFIG_LIBVPX 1'
+ _libavdecoders="$_libavdecoders LIBVPX_DECODER"
+ codecmodules="libvpx $codecmodules"
+else
+ def_libvpx_lavc='#define CONFIG_LIBVPX 0'
+ nocodecmodules="libvpx $nocodecmodules"
+fi
+echores "$_libvpx_lavc"
+
echocheck "libnut"
if test "$_libnut" = auto ; then
cat > $TMPC << EOF
diff --git a/etc/codecs.conf b/etc/codecs.conf
index 3b1e356662..23bff5dc8e 100644
--- a/etc/codecs.conf
+++ b/etc/codecs.conf
@@ -2173,6 +2173,14 @@ videocodec vp7
out YUY2
out BGR32,BGR24
+videocodec fflibvpx
+ info "FFmpeg wrapper for libvpx/VP8"
+ status working
+ fourcc VP80
+ driver ffmpeg
+ dll "libvpx"
+ out YV12
+
videocodec mwv1
info "Motion Wavelets"
status working