Mercurial > mplayer.hg
changeset 31163:07faae7acdfa
Add support for decoding VP8 through libvpx wrapper in FFmpeg.
patch by James Zern, jzern google com
author | diego |
---|---|
date | Tue, 25 May 2010 23:41:30 +0000 |
parents | 3221c1d5a164 |
children | 4ab80ac9c2d1 |
files | Changelog configure etc/codecs.conf |
diffstat | 3 files changed, 37 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/Changelog Tue May 25 23:09:20 2010 +0000 +++ b/Changelog Tue May 25 23:41:30 2010 +0000 @@ -17,6 +17,7 @@ * 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
--- a/configure Tue May 25 23:09:20 2010 +0000 +++ b/configure Tue May 25 23:41:30 2010 +0000 @@ -299,6 +299,7 @@ --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_lavc=auto _libdirac_lavc=auto _libschroedinger_lavc=auto +_libvpx_lavc=auto _libnut=auto _lirc=auto _lircc=auto @@ -1137,6 +1139,8 @@ --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 @@ 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
--- a/etc/codecs.conf Tue May 25 23:09:20 2010 +0000 +++ b/etc/codecs.conf Tue May 25 23:41:30 2010 +0000 @@ -2173,6 +2173,14 @@ 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