diff -up mplayer-export-2011-04-12/configure.ffmpeg mplayer-export-2011-04-12/configure --- mplayer-export-2011-04-12/configure.ffmpeg 2011-04-12 17:18:33.000000000 +0200 +++ mplayer-export-2011-04-12/configure 2011-04-12 17:18:33.000000000 +0200 @@ -6888,7 +6888,8 @@ elif test "$ffmpeg_so" = auto ; then inc_ffmpeg=$($_pkg_config --cflags libpostproc libswscale libavformat libavcodec libavutil) _ld_tmp=$($_pkg_config --libs libpostproc libswscale libavformat libavcodec libavutil) header_check libavutil/avutil.h $inc_ffmpeg $_ld_tmp && - extra_ldflags="$extra_ldflags $_ld_tmp" && ffmpeg_so=yes && ffmpeg=yes + extra_ldflags="$extra_ldflags $_ld_tmp" && ffmpeg_so=yes && ffmpeg=yes && + extra_cflags="$extra_cflags $inc_ffmpeg" elif header_check libavutil/avutil.h -lpostproc -lswscale -lavformat -lavcodec -lavutil $_ld_lm ; then extra_ldflags="$extra_ldflags -lpostproc -lswscale -lavformat -lavcodec -lavutil" ffmpeg_so=yes @@ -7593,7 +7594,7 @@ if test "$_gui" = yes ; then # Required libraries if test "$ffmpeg" != yes || - ! echo $libavdecoders | grep -q PNG_DECODER ; then + ! objdump -T $_libdir/libavcodec.so | grep -q ff_png ; then die "The GUI requires libavcodec with PNG support (needs zlib)." fi test "$_freetype" = no && test "$_bitmap_font" = no && diff -up mplayer-export-2011-04-12/ffmpeg/libavformat/riff.h.ffmpeg mplayer-export-2011-04-12/ffmpeg/libavformat/riff.h --- mplayer-export-2011-04-12/ffmpeg/libavformat/riff.h.ffmpeg 2011-04-12 17:18:33.000000000 +0200 +++ mplayer-export-2011-04-12/ffmpeg/libavformat/riff.h 2011-04-12 17:18:33.000000000 +0200 @@ -0,0 +1,41 @@ +/* + * RIFF codec tags + * copyright (c) 2000 Fabrice Bellard + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * internal header for RIFF based (de)muxers + * do NOT include this in end user applications + */ + +#ifndef AVFORMAT_RIFF_H +#define AVFORMAT_RIFF_H + +#include "libavcodec/avcodec.h" + +typedef struct AVCodecTag { + enum CodecID id; + unsigned int tag; +} AVCodecTag; + +extern const AVCodecTag ff_codec_bmp_tags[]; +extern const AVCodecTag ff_codec_wav_tags[]; + +#endif /* AVFORMAT_RIFF_H */ diff -up mplayer-export-2011-04-12/ffmpeg/libavutil/aes.h.ffmpeg mplayer-export-2011-04-12/ffmpeg/libavutil/aes.h --- mplayer-export-2011-04-12/ffmpeg/libavutil/aes.h.ffmpeg 2011-04-12 17:18:33.000000000 +0200 +++ mplayer-export-2011-04-12/ffmpeg/libavutil/aes.h 2011-04-12 17:18:33.000000000 +0200 @@ -0,0 +1,47 @@ +/* + * copyright (c) 2007 Michael Niedermayer + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_AES_H +#define AVUTIL_AES_H + +#include + +extern const int av_aes_size; + +struct AVAES; + +/** + * Initialize an AVAES context. + * @param key_bits 128, 192 or 256 + * @param decrypt 0 for encryption, 1 for decryption + */ +int av_aes_init(struct AVAES *a, const uint8_t *key, int key_bits, int decrypt); + +/** + * Encrypt or decrypt a buffer using a previously initialized context. + * @param count number of 16 byte blocks + * @param dst destination array, can be equal to src + * @param src source array, can be equal to dst + * @param iv initialization vector for CBC mode, if NULL then ECB will be used + * @param decrypt 0 for encryption, 1 for decryption + */ +void av_aes_crypt(struct AVAES *a, uint8_t *dst, const uint8_t *src, int count, uint8_t *iv, int decrypt); + +#endif /* AVUTIL_AES_H */ diff -up mplayer-export-2011-04-12/ffmpeg/libavutil/sha.h.ffmpeg mplayer-export-2011-04-12/ffmpeg/libavutil/sha.h --- mplayer-export-2011-04-12/ffmpeg/libavutil/sha.h.ffmpeg 2011-04-12 17:18:33.000000000 +0200 +++ mplayer-export-2011-04-12/ffmpeg/libavutil/sha.h 2011-04-12 17:18:33.000000000 +0200 @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2007 Michael Niedermayer + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_SHA_H +#define AVUTIL_SHA_H + +#include + +extern const int av_sha_size; + +struct AVSHA; + +/** + * Initialize SHA-1 or SHA-2 hashing. + * + * @param context pointer to the function context (of size av_sha_size) + * @param bits number of bits in digest (SHA-1 - 160 bits, SHA-2 224 or 256 bits) + * @return zero if initialization succeeded, -1 otherwise + */ +int av_sha_init(struct AVSHA* context, int bits); + +/** + * Update hash value. + * + * @param context hash function context + * @param data input data to update hash with + * @param len input data length + */ +void av_sha_update(struct AVSHA* context, const uint8_t* data, unsigned int len); + +/** + * Finish hashing and output digest value. + * + * @param context hash function context + * @param digest buffer where output digest value is stored + */ +void av_sha_final(struct AVSHA* context, uint8_t *digest); + +#endif /* AVUTIL_SHA_H */ diff -up mplayer-export-2011-04-12/ffmpeg/libavutil/x86_cpu.h.ffmpeg mplayer-export-2011-04-12/ffmpeg/libavutil/x86_cpu.h --- mplayer-export-2011-04-12/ffmpeg/libavutil/x86_cpu.h.ffmpeg 2011-04-12 17:18:33.000000000 +0200 +++ mplayer-export-2011-04-12/ffmpeg/libavutil/x86_cpu.h 2011-04-12 17:18:33.000000000 +0200 @@ -0,0 +1,98 @@ +/* + * copyright (c) 2006 Michael Niedermayer + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_X86_CPU_H +#define AVUTIL_X86_CPU_H + +#include +#include "config.h" + +#if ARCH_X86_64 +# define OPSIZE "q" +# define REG_a "rax" +# define REG_b "rbx" +# define REG_c "rcx" +# define REG_d "rdx" +# define REG_D "rdi" +# define REG_S "rsi" +# define PTR_SIZE "8" +typedef int64_t x86_reg; + +# define REG_SP "rsp" +# define REG_BP "rbp" +# define REGBP rbp +# define REGa rax +# define REGb rbx +# define REGc rcx +# define REGd rdx +# define REGSP rsp + +#elif ARCH_X86_32 + +# define OPSIZE "l" +# define REG_a "eax" +# define REG_b "ebx" +# define REG_c "ecx" +# define REG_d "edx" +# define REG_D "edi" +# define REG_S "esi" +# define PTR_SIZE "4" +typedef int32_t x86_reg; + +# define REG_SP "esp" +# define REG_BP "ebp" +# define REGBP ebp +# define REGa eax +# define REGb ebx +# define REGc ecx +# define REGd edx +# define REGSP esp +#else +typedef int x86_reg; +#endif + +#define HAVE_7REGS (ARCH_X86_64 || (HAVE_EBX_AVAILABLE && HAVE_EBP_AVAILABLE)) +#define HAVE_6REGS (ARCH_X86_64 || (HAVE_EBX_AVAILABLE || HAVE_EBP_AVAILABLE)) + +#if ARCH_X86_64 && defined(PIC) +# define BROKEN_RELOCATIONS 1 +#endif + +/* + * If gcc is not set to support sse (-msse) it will not accept xmm registers + * in the clobber list for inline asm. XMM_CLOBBERS takes a list of xmm + * registers to be marked as clobbered and evaluates to nothing if they are + * not supported, or to the list itself if they are supported. Since a clobber + * list may not be empty, XMM_CLOBBERS_ONLY should be used if the xmm + * registers are the only in the clobber list. + * For example a list with "eax" and "xmm0" as clobbers should become: + * : XMM_CLOBBERS("xmm0",) "eax" + * and a list with only "xmm0" should become: + * XMM_CLOBBERS_ONLY("xmm0") + */ +#if HAVE_XMM_CLOBBERS +# define XMM_CLOBBERS(...) __VA_ARGS__ +# define XMM_CLOBBERS_ONLY(...) : __VA_ARGS__ +#else +# define XMM_CLOBBERS(...) +# define XMM_CLOBBERS_ONLY(...) +#endif + +#endif /* AVUTIL_X86_CPU_H */ diff -up mplayer-export-2011-04-12/Makefile.ffmpeg mplayer-export-2011-04-12/Makefile --- mplayer-export-2011-04-12/Makefile.ffmpeg 2011-04-12 17:18:33.000000000 +0200 +++ mplayer-export-2011-04-12/Makefile 2011-04-12 17:18:33.000000000 +0200 @@ -809,7 +809,7 @@ mencoder$(EXESUF) mplayer$(EXESUF): $(CC) -o $@ $^ $(EXTRALIBS) codec-cfg$(EXESUF): codec-cfg.c codec-cfg.h help_mp.h - $(HOST_CC) -O -DCODECS2HTML -I. -Iffmpeg -o $@ $< + $(HOST_CC) -O -DCODECS2HTML -I. -Iffmpeg $(CFLAGS) -o $@ $< codecs.conf.h: codec-cfg$(EXESUF) etc/codecs.conf ./$^ > $@