summaryrefslogtreecommitdiff
path: root/libre/mplayer-vaapi-libre
diff options
context:
space:
mode:
Diffstat (limited to 'libre/mplayer-vaapi-libre')
-rw-r--r--libre/mplayer-vaapi-libre/PKGBUILD39
-rw-r--r--libre/mplayer-vaapi-libre/gcc-4.6-mp3lib-sse-code-miscompilation.patch21
-rw-r--r--libre/mplayer-vaapi-libre/live-media.patch13
-rw-r--r--libre/mplayer-vaapi-libre/mplayer-vaapi.install8
-rw-r--r--libre/mplayer-vaapi-libre/mplayer.desktop21
-rw-r--r--libre/mplayer-vaapi-libre/mplayer.pngbin1982 -> 0 bytes
-rw-r--r--libre/mplayer-vaapi-libre/patch-fixes.patch491
-rw-r--r--libre/mplayer-vaapi-libre/tweak-desktop-file.patch22
8 files changed, 27 insertions, 588 deletions
diff --git a/libre/mplayer-vaapi-libre/PKGBUILD b/libre/mplayer-vaapi-libre/PKGBUILD
index 9b3ace8f8..41f84e022 100644
--- a/libre/mplayer-vaapi-libre/PKGBUILD
+++ b/libre/mplayer-vaapi-libre/PKGBUILD
@@ -3,45 +3,40 @@
# Contributor: Ionut Biru <ibiru@archlinux.org>
# Contributor: Hugo Doria <hugo@archlinux.org>
# Maintainer (Parabola): fauno <fauno@kiwwwi.com.ar>
-# Contributor (Parabola): André Silva <emulatorman@lavabit.com>
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
-_pkgname=mplayer-vaapi
pkgname=mplayer-vaapi-libre
-pkgver=34578
-pkgrel=6
-pkgdesc="A movie player, compiled with vaapi and without unfree faac support"
+pkgver=35014
+pkgrel=1
+pkgdesc="A movie player, compiled with vaapi (without unfree faac support)"
arch=('i686' 'x86_64')
url="http://gitorious.org/vaapi/mplayer"
license=('GPL')
-depends=('libxxf86dga' 'libxxf86vm' 'libmad' 'libcdio' 'libxinerama' 'sdl-libre'
+depends=('libxxf86dga' 'libxxf86vm' 'libmad' 'libcdio' 'libxinerama' 'sdl'
'lame' 'fontconfig' 'libtheora' 'xvidcore' 'libmng' 'libxss' 'mesa'
'smbclient' 'aalib' 'jack' 'libcaca' 'x264' 'speex' 'faad2'
'lirc-utils' 'ttf-dejavu' 'libxvmc' 'enca' 'opencore-amr' 'libdca'
- 'a52dec' 'schroedinger' 'mpg123' 'libvpx' 'libpulse' 'fribidi' 'faad2'
- 'libva' 'libass' 'desktop-file-utils')
+ 'a52dec' 'schroedinger' 'mpg123' 'libvpx' 'libpulse' 'fribidi'
+ 'libbluray' 'libva' 'libass' 'desktop-file-utils')
makedepends=('unzip-libre' 'live-media' 'yasm' 'ladspa' 'git')
-provides=("$_pkgname=$pkgver" "mplayer=$pkgver")
-conflicts=('mplayer' "$_pkgname")
+provides=("mplayer=$pkgver" "mplayer-vaapi=$pkgver")
+conflicts=('mplayer' 'mplayer-vaapi')
replaces=('mplayer-vaapi')
backup=('etc/mplayer/codecs.conf' 'etc/mplayer/input.conf')
source=(http://pkgbuild.com/~foutrelis/mplayer-vaapi-$pkgver.tar.xz
- tweak-desktop-file.patch
- mplayer.png
- live-media.patch)
+ tweak-desktop-file.patch)
options=('!buildflags' '!emptydirs')
install=mplayer-vaapi.install
-sha256sums=('cc35a057c8a64d2cdec2dc0a037811ef0f91dd03cd3d07465c7272a08665a37d'
- '5b39f0a61969bf330c4434cb17975101be93c27334f65e154e4a93033033e795'
- '061739a8cc267748ad58f168034cc39785d949a5262772535e1b347c7842af48'
- '9c1400f27dd2ea54c125c66ed1af0eab19761b1b2ae808fa491cd3732fd8a685')
+sha256sums=('db19a938e7de46aad567b6d7d8866ec6cb3919a29d60236609a83ebf4e1bb5f0'
+ '5a09fb462729a4e573568f9e8c1f57dbe7f69c0b68cfa4f6d70b3e52c450d93b')
build() {
cd "$srcdir/mplayer-vaapi-$pkgver"
patch -d etc -Np0 -i "$srcdir/tweak-desktop-file.patch"
- patch -Np0 -i "$srcdir/live-media.patch"
- ./configure --prefix=/usr \
+ ./configure \
+ --prefix=/usr \
--enable-runtime-cpudetection \
--disable-gui \
--disable-arts \
@@ -56,6 +51,8 @@ build() {
--disable-ass-internal \
--disable-faac \
--enable-xvmc \
+ --enable-radio \
+ --enable-radio-capture \
--disable-vdpau \
--enable-vaapi \
--language=all \
@@ -69,13 +66,13 @@ build() {
package() {
cd "$srcdir/mplayer-vaapi-$pkgver"
- make -j1 DESTDIR="$pkgdir" install-mplayer install-mplayer-man
+ make DESTDIR="$pkgdir" install-mplayer install-mplayer-man
install -Dm644 etc/{codecs.conf,input.conf,example.conf} "$pkgdir/etc/mplayer/"
install -Dm644 etc/mplayer.desktop "$pkgdir/usr/share/applications/mplayer.desktop"
install -d "$pkgdir/usr/share/mplayer/"
ln -s /usr/share/fonts/TTF/DejaVuSans.ttf "$pkgdir/usr/share/mplayer/subfont.ttf"
rm -rf "$pkgdir/usr/share/mplayer/font"
- install -Dm644 "$srcdir/mplayer.png" "$pkgdir/usr/share/pixmaps/mplayer.png"
+ install -Dm644 etc/mplayer256x256.png "$pkgdir/usr/share/pixmaps/mplayer.png"
}
# vim:set ts=2 sw=2 et:
diff --git a/libre/mplayer-vaapi-libre/gcc-4.6-mp3lib-sse-code-miscompilation.patch b/libre/mplayer-vaapi-libre/gcc-4.6-mp3lib-sse-code-miscompilation.patch
deleted file mode 100644
index 58daa09e7..000000000
--- a/libre/mplayer-vaapi-libre/gcc-4.6-mp3lib-sse-code-miscompilation.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Index: mp3lib/dct64_sse.c
-===================================================================
---- mp3lib/dct64_sse.c (revision 33468)
-+++ mp3lib/dct64_sse.c (revision 33469)
-@@ -112,7 +112,6 @@
- }
-
- {
-- real *costab = costab_mmx + 24;
- int i;
-
- __asm__(
-@@ -121,7 +120,7 @@
- "movaps %1, %%xmm5\n\t"
- "movaps %%xmm5, %%xmm6\n\t"
- :
-- :"m"(*costab), "m"(*nnnn)
-+ :"m"(costab_mmx[24]), "m"(*nnnn)
- );
-
- for (i = 0; i < 0x20; i += 8)
diff --git a/libre/mplayer-vaapi-libre/live-media.patch b/libre/mplayer-vaapi-libre/live-media.patch
deleted file mode 100644
index 73a6451f5..000000000
--- a/libre/mplayer-vaapi-libre/live-media.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: libmpdemux/demux_rtp.cpp
-===================================================================
---- libmpdemux/demux_rtp.cpp (revision 34798)
-+++ libmpdemux/demux_rtp.cpp (working copy)
-@@ -19,6 +19,8 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#define RTSPCLIENT_SYNCHRONOUS_INTERFACE 1
-+
- extern "C" {
- // on MinGW, we must include windows.h before the things it conflicts
- #ifdef __MINGW32__ // with. they are each protected from
diff --git a/libre/mplayer-vaapi-libre/mplayer-vaapi.install b/libre/mplayer-vaapi-libre/mplayer-vaapi.install
index af56cdbf4..a44f19aef 100644
--- a/libre/mplayer-vaapi-libre/mplayer-vaapi.install
+++ b/libre/mplayer-vaapi-libre/mplayer-vaapi.install
@@ -1,9 +1,11 @@
post_install() {
- update-desktop-database -q
+ update-desktop-database -q
}
post_upgrade() {
- post_install
+ post_install
}
post_remove() {
- post_install
+ post_install
}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/mplayer-vaapi-libre/mplayer.desktop b/libre/mplayer-vaapi-libre/mplayer.desktop
deleted file mode 100644
index e3229d042..000000000
--- a/libre/mplayer-vaapi-libre/mplayer.desktop
+++ /dev/null
@@ -1,21 +0,0 @@
-[Desktop Entry]
-Type=Application
-Name=MPlayer Media Player
-Name[ca]=Reproductor multimèdia MPlayer
-Name[pl]=MPlayer odtwarzacz multimedialny
-GenericName=Multimedia player
-Comment=Play movies and songs
-Comment[ca]=Reproduïu vídeos i cançons
-Comment[de]=Filme und Musik abspielen
-Comment[es]=Reproduzca vídeos y canciones
-Comment[fr]=Lecteur multimédia
-Comment[it]=Lettore multimediale
-Comment[zh]=多媒体播放器
-Comment[pl]=Odtwarzaj filmy i muzykę
-Icon=mplayer
-TryExec=mplayer
-Exec=mplayer -really-quiet %F
-Terminal=false
-NoDisplay=true
-Categories=GTK;AudioVideo;Audio;Video;Player;TV;
-MimeType=application/ogg;application/x-ogg;application/sdp;application/smil;application/x-smil;application/streamingmedia;application/x-streamingmedia;application/vnd.rn-realmedia;application/vnd.rn-realmedia-vbr;audio/aac;audio/x-aac;audio/m4a;audio/x-m4a;audio/mp1;audio/x-mp1;audio/mp2;audio/x-mp2;audio/mp3;audio/x-mp3;audio/mpeg;audio/x-mpeg;audio/mpegurl;audio/x-mpegurl;audio/mpg;audio/x-mpg;audio/rn-mpeg;audio/scpls;audio/x-scpls;audio/vnd.rn-realaudio;audio/wav;audio/x-pn-windows-pcm;audio/x-realaudio;audio/x-pn-realaudio;audio/x-ms-wma;audio/x-pls;audio/x-wav;video/mpeg;video/x-mpeg;video/x-mpeg2;video/mp4;video/msvideo;video/x-msvideo;video/quicktime;video/vnd.rn-realvideo;video/x-ms-afs;video/x-ms-asf;video/x-ms-wmv;video/x-ms-wmx;video/x-ms-wvxvideo;video/x-avi;video/x-fli;video/x-flv;video/x-theora;video/x-matroska;
diff --git a/libre/mplayer-vaapi-libre/mplayer.png b/libre/mplayer-vaapi-libre/mplayer.png
deleted file mode 100644
index 799769335..000000000
--- a/libre/mplayer-vaapi-libre/mplayer.png
+++ /dev/null
Binary files differ
diff --git a/libre/mplayer-vaapi-libre/patch-fixes.patch b/libre/mplayer-vaapi-libre/patch-fixes.patch
deleted file mode 100644
index 5da97d1d9..000000000
--- a/libre/mplayer-vaapi-libre/patch-fixes.patch
+++ /dev/null
@@ -1,491 +0,0 @@
-diff -upr mplayer-vaapi-20110127.orig/patches/mplayer-vaapi-0.29.patch mplayer-vaapi-20110127/patches/mplayer-vaapi-0.29.patch
---- mplayer-vaapi-20110127.orig/patches/mplayer-vaapi-0.29.patch 2011-01-27 17:15:16.000000000 +0200
-+++ mplayer-vaapi-20110127/patches/mplayer-vaapi-0.29.patch 2011-03-30 21:22:32.000000000 +0300
-@@ -434,7 +434,7 @@ diff --git a/ffmpeg/libavcodec/vaapi_vc1
- index 34e9056..b29e50e 100644
- --- a/ffmpeg/libavcodec/vaapi_vc1.c
- +++ b/ffmpeg/libavcodec/vaapi_vc1.c
--@@ -146,101 +146,103 @@ static int vaapi_vc1_start_frame(AVCodecContext *avctx, av_unused const uint8_t
-+@@ -146,103 +146,103 @@ static int vaapi_vc1_start_frame(AVCodecContext *avctx, av_unused const uint8_t
- pic_param = ff_vaapi_alloc_pic_param(vactx, sizeof(VAPictureParameterBufferVC1));
- if (!pic_param)
- return -1;
-@@ -452,7 +452,9 @@ index 34e9056..b29e50e 100644
- - pic_param->sequence_fields.bits.syncmarker = s->resync_marker;
- - pic_param->sequence_fields.bits.rangered = v->rangered;
- - pic_param->sequence_fields.bits.max_b_frames = s->avctx->max_b_frames;
-+-#if VA_CHECK_VERSION(0,32,0)
- - pic_param->sequence_fields.bits.profile = v->profile;
-+-#endif
- - pic_param->coded_width = s->avctx->coded_width;
- - pic_param->coded_height = s->avctx->coded_height;
- - pic_param->entrypoint_fields.value = 0; /* reset all bits */
-diff -upr mplayer-vaapi-20110127.orig/patches/mplayer-vaapi.patch mplayer-vaapi-20110127/patches/mplayer-vaapi.patch
---- mplayer-vaapi-20110127.orig/patches/mplayer-vaapi.patch 2011-01-27 17:15:29.000000000 +0200
-+++ mplayer-vaapi-20110127/patches/mplayer-vaapi.patch 2011-03-30 21:09:14.000000000 +0300
-@@ -207,15 +207,6 @@ index 1e0f7fc..45e4574 100755
- echocheck "Xv"
- if test "$_xv" = auto ; then
- _xv=no
--@@ -4372,7 +4435,7 @@ if test "$_vdpau" = yes ; then
-- else
-- def_vdpau='#define CONFIG_VDPAU 0'
-- novomodules="vdpau $novomodules"
--- libavdecoders=$(echo $libavdecoders | sed -e s/MPEG_VDPAU_DECODER// -e s/MPEG1_VDPAU_DECODER// -e s/H264_VDPAU_DECODER// -e s/WMV3_VDPAU_DECODER// -e s/VC1_VDPAU_DECODER// -e s/MPEG4_VDPAU_DECODER//)
--+ libavdecoders=$(echo $libavdecoders | sed -e "s/\(MPEG\|MPEG[124]\|H26[34]\|WMV3\|VC1\)_VDPAU_DECODER//g")
-- fi
-- echores "$_vdpau"
--
- @@ -4791,6 +4854,31 @@ echores "$_corevideo"
- fi #if darwin
-
-@@ -433,30 +424,19 @@ index d353bb5..e39a926 100644
- out YV12,I420,IYUV
-
- videocodec ffzygo
--diff --git a/ffmpeg/libavcodec/vaapi_vc1.c b/ffmpeg/libavcodec/vaapi_vc1.c
--index 2c24042..34e9056 100644
----- a/ffmpeg/libavcodec/vaapi_vc1.c
--+++ b/ffmpeg/libavcodec/vaapi_vc1.c
--@@ -160,6 +160,7 @@ static int vaapi_vc1_start_frame(AVCodecContext *avctx, av_unused const uint8_t
-- pic_param->sequence_fields.bits.syncmarker = s->resync_marker;
-- pic_param->sequence_fields.bits.rangered = v->rangered;
-- pic_param->sequence_fields.bits.max_b_frames = s->avctx->max_b_frames;
--+ pic_param->sequence_fields.bits.profile = v->profile;
-- pic_param->coded_width = s->avctx->coded_width;
-- pic_param->coded_height = s->avctx->coded_height;
-- pic_param->entrypoint_fields.value = 0; /* reset all bits */
- diff --git a/fmt-conversion.c b/fmt-conversion.c
- index 9e88100..bd32ce8 100644
- --- a/fmt-conversion.c
- +++ b/fmt-conversion.c
--@@ -18,12 +18,14 @@
-+@@ -18,6 +18,7 @@
-
- #include "mp_msg.h"
- #include "libavutil/avutil.h"
- +#include "libavcodec/avcodec.h"
- #include "libmpcodecs/img_format.h"
-- #include "fmt-conversion.h"
--
-+ #include "libavutil/samplefmt.h"
-+ #include "libaf/af_format.h"
-+@@ -26,6 +27,7 @@
- static const struct {
- int fmt;
- enum PixelFormat pix_fmt;
-@@ -503,14 +483,15 @@ diff --git a/fmt-conversion.h b/fmt-conv
- index 9e133a8..962ca4e 100644
- --- a/fmt-conversion.h
- +++ b/fmt-conversion.h
--@@ -23,6 +23,6 @@
-- #include "libavutil/avutil.h"
-+@@ -24,7 +24,7 @@
-+ #include "libavutil/samplefmt.h"
-
- enum PixelFormat imgfmt2pixfmt(int fmt);
- -int pixfmt2imgfmt(enum PixelFormat pix_fmt);
- +int pixfmt2imgfmt(enum PixelFormat pix_fmt, int codec_id);
-+ enum AVSampleFormat affmt2samplefmt(int fmt);
-+ int samplefmt2affmt(enum AVSampleFormat sample_fmt);
-
-- #endif /* MPLAYER_FMT_CONVERSION_H */
- diff --git a/gui/mplayer/gtk/opts.c b/gui/mplayer/gtk/opts.c
- index 4f7ffb2..0da5434 100644
- --- a/gui/mplayer/gtk/opts.c
-@@ -808,7 +789,7 @@ index 7c68a20..609ac41 100644
- sh_video_t *sh = avctx->opaque;
- vd_ffmpeg_ctx *ctx = sh->context;
- @@ -295,6 +296,12 @@ static int init(sh_video_t *sh){
-- avctx->codec_type = CODEC_TYPE_VIDEO;
-+ avctx->codec_type = AVMEDIA_TYPE_VIDEO;
- avctx->codec_id = lavc_codec->id;
-
- +#if CONFIG_VAAPI
-@@ -817,9 +798,9 @@ index 7c68a20..609ac41 100644
- + avctx->get_format = get_format;
- + }
- +#endif /* CONFIG_VAAPI */
-- #if CONFIG_VDPAU
-- if(lavc_codec->capabilities & CODEC_CAP_HWACCEL_VDPAU){
-- avctx->get_format = get_format;
-+ avctx->get_format = get_format;
-+ if(ctx->do_dr1){
-+ avctx->flags|= CODEC_FLAG_EMU_EDGE;
- @@ -487,7 +494,7 @@ static void draw_slice(struct AVCodecContext *s,
- const AVFrame *src, int offset[4],
- int y, int type, int height){
-@@ -841,12 +822,10 @@ index 7c68a20..609ac41 100644
- ctx->vo_initialized = 1;
- }
- return 0;
--@@ -972,24 +980,62 @@ static mp_image_t *decode(sh_video_t *sh, void *data, int len, int flags){
-+@@ -974,22 +974,60 @@ static mp_image_t *decode(sh_video_t *sh
- return mpi;
- }
-
---#if CONFIG_XVMC || CONFIG_VDPAU
--+#if CONFIG_XVMC || CONFIG_VAAPI || CONFIG_VDPAU
- +static inline int is_hwaccel_format(int imgfmt)
- +{
- + switch (get_video_hwaccel()) {
-@@ -883,15 +862,14 @@ index 7c68a20..609ac41 100644
- int imgfmt;
- sh_video_t *sh = avctx->opaque;
- - int i;
---
-++ int i, try_hwaccel;
-+
- - for(i=0;fmt[i]!=PIX_FMT_NONE;i++){
- - imgfmt = pixfmt2imgfmt(fmt[i]);
- - if(!IMGFMT_IS_HWACCEL(imgfmt)) continue;
- - mp_msg(MSGT_DECVIDEO, MSGL_INFO, MSGTR_MPCODECS_TryingPixfmt, i);
- - if(init_vo(sh, fmt[i]) >= 0) {
- - break;
--+ int i, try_hwaccel;
--+
- + for (try_hwaccel = 1; try_hwaccel >= 0; --try_hwaccel) {
- + for (i = 0; fmt[i] != PIX_FMT_NONE; i++) {
- + imgfmt = pixfmt2imgfmt(fmt[i], avctx->codec_id);
-@@ -912,11 +890,9 @@ index 7c68a20..609ac41 100644
- + break;
- }
- - selected_format = fmt[i];
-+ if (selected_format == PIX_FMT_NONE)
-+ selected_format = avcodec_default_get_format(avctx, fmt);
- set_format_params(avctx, selected_format);
-- return selected_format;
-- }
---#endif /* CONFIG_XVMC || CONFIG_VDPAU */
--+#endif /* CONFIG_XVMC || CONFIG_VAAPI || CONFIG_VDPAU */
- diff --git a/libmpcodecs/vf.h b/libmpcodecs/vf.h
- index 3619e69..fd869b7 100644
- --- a/libmpcodecs/vf.h
-diff -upr mplayer-vaapi-20110127.orig/patches/mplayer-vdpau.patch mplayer-vaapi-20110127/patches/mplayer-vdpau.patch
---- mplayer-vaapi-20110127.orig/patches/mplayer-vdpau.patch 2010-11-15 08:41:19.000000000 +0200
-+++ mplayer-vaapi-20110127/patches/mplayer-vdpau.patch 2011-03-30 22:29:47.000000000 +0300
-@@ -11,15 +11,6 @@ index 91fd164..1f4434e 100755
- libavdemuxers_all=$(sed -n 's/^[^#]*DEMUX.*(.*, *\(.*\)).*/\1_demuxer/p' ffmpeg/libavformat/allformats.c | tr '[a-z]' '[A-Z]')
- libavdemuxers=$(echo $libavdemuxers_all | sed -e 's/ LIB[A-Z0-9_]*_DEMUXER//g' -e s/REDIR_DEMUXER// -e s/AVISYNTH_DEMUXER//)
- libavmuxers_all=$(sed -n 's/^[^#]*_MUX.*(.*, *\(.*\)).*/\1_muxer/p' ffmpeg/libavformat/allformats.c | tr '[a-z]' '[A-Z]')
--@@ -4466,7 +4466,7 @@ if test "$_vdpau" = yes ; then
-- else
-- def_vdpau='#define CONFIG_VDPAU 0'
-- novomodules="vdpau $novomodules"
--- libavdecoders=$(echo $libavdecoders | sed -e "s/\(MPEG\|MPEG[124]\|H26[34]\|WMV3\|VC1\)_VDPAU_DECODER//g")
--+ libavhwaccels=$(echo $libavhwaccels | sed -e "s/\(MPEG[124]\|H26[34]\|WMV3\|VC1\)_VDPAU_HWACCEL//g")
-- fi
-- echores "$_vdpau"
--
- diff --git a/etc/codecs.conf b/etc/codecs.conf
- index b0d00f4..745d3e4 100644
- --- a/etc/codecs.conf
-@@ -48,7 +39,7 @@ index b0d00f4..745d3e4 100644
- out YV12,I420,IYUV
- out 422P,444P
-
--@@ -332,41 +335,6 @@ videocodec ffmpeg12mc
-+@@ -332,38 +335,6 @@ videocodec ffmpeg12mc
- out IDCT_MPEG2
- out MOCO_MPEG2
-
-@@ -73,9 +64,6 @@ index b0d00f4..745d3e4 100644
- - fourcc xdv7,xdv8,xdv9
- - fourcc xdva,xdvb,xdvc
- - fourcc xdvd,xdve,xdvf
--- fourcc xd5a,xd5b,xd5c
--- fourcc xd5d,xd5e,xd5f
--- fourcc xd59,xd54
- - fourcc mx5n,mx4n,mx4p
- - fourcc mx3n,mx3p
- - fourcc AVmp
-@@ -87,9 +75,9 @@ index b0d00f4..745d3e4 100644
- - out VDPAU_MPEG1
- - out VDPAU_MPEG2
- -
-- videocodec mpegpes
-- info "MPEG-PES output (.mpg or DXR3/IVTV/DVB/V4L2 card)"
-- comment "for hardware decoding"
-+ videocodec ffmpeg2crystalhd
-+ info "FFmpeg MPEG-2 (CrystalHD)"
-+ status working
- @@ -943,6 +911,7 @@ videocodec ffwmv3
- driver ffmpeg
- dll wmv3
-@@ -133,7 +121,7 @@ index b0d00f4..745d3e4 100644
-
- videocodec ffh264
- info "FFmpeg H.264"
--@@ -993,19 +947,8 @@ videocodec ffh264
-+@@ -993,21 +947,8 @@ videocodec ffh264
- driver ffmpeg
- dll h264
- out VAAPI_H264
-@@ -146,6 +134,8 @@ index b0d00f4..745d3e4 100644
- - fourcc X264,x264
- - fourcc avc1,AVC1
- - fourcc davc,DAVC
-+- fourcc ai55,ai15 ; flip4mac avc intra
-+- fourcc ai1q,ai5q ; flip4mac avc intra
- - format 0x10000005
- - driver ffmpeg
- - dll h264_vdpau
-@@ -200,55 +190,41 @@ diff --git a/ffmpeg/libavcodec/allcodecs
- index fbae0f6..4b6d2e9 100644
- --- a/ffmpeg/libavcodec/allcodecs.c
- +++ b/ffmpeg/libavcodec/allcodecs.c
--@@ -65,6 +65,13 @@ void avcodec_register_all(void)
-- REGISTER_HWACCEL (WMV3_DXVA2, wmv3_dxva2);
-- REGISTER_HWACCEL (WMV3_VAAPI, wmv3_vaapi);
--
--+ REGISTER_HWACCEL (H264_VDPAU, h264_vdpau);
--+ REGISTER_HWACCEL (MPEG1_VDPAU, mpeg1_vdpau);
--+ REGISTER_HWACCEL (MPEG2_VDPAU, mpeg2_vdpau);
--+ REGISTER_HWACCEL (MPEG4_VDPAU, mpeg4_vdpau);
--+ REGISTER_HWACCEL (VC1_VDPAU, vc1_vdpau);
--+ REGISTER_HWACCEL (WMV3_VDPAU, wmv3_vdpau);
--+
-- /* video codecs */
-- REGISTER_ENCODER (A64MULTI, a64multi);
-- REGISTER_ENCODER (A64MULTI5, a64multi5);
- @@ -116,7 +123,6 @@ void avcodec_register_all(void)
-- REGISTER_DECODER (H263I, h263i);
- REGISTER_ENCODER (H263P, h263p);
- REGISTER_DECODER (H264, h264);
-+ REGISTER_DECODER (H264_CRYSTALHD, h264_crystalhd);
- - REGISTER_DECODER (H264_VDPAU, h264_vdpau);
- REGISTER_ENCDEC (HUFFYUV, huffyuv);
- REGISTER_DECODER (IDCIN, idcin);
- REGISTER_DECODER (IFF_BYTERUN1, iff_byterun1);
- @@ -140,10 +146,7 @@ void avcodec_register_all(void)
-- REGISTER_ENCDEC (MPEG1VIDEO, mpeg1video);
- REGISTER_ENCDEC (MPEG2VIDEO, mpeg2video);
- REGISTER_ENCDEC (MPEG4, mpeg4);
-+ REGISTER_DECODER (MPEG4_CRYSTALHD, mpeg4_crystalhd);
- - REGISTER_DECODER (MPEG4_VDPAU, mpeg4_vdpau);
- REGISTER_DECODER (MPEGVIDEO, mpegvideo);
- - REGISTER_DECODER (MPEG_VDPAU, mpeg_vdpau);
- - REGISTER_DECODER (MPEG1_VDPAU, mpeg1_vdpau);
-+ REGISTER_DECODER (MPEG2_CRYSTALHD, mpeg2_crystalhd);
-+ REGISTER_DECODER (MSMPEG4_CRYSTALHD, msmpeg4_crystalhd);
- REGISTER_ENCDEC (MSMPEG4V1, msmpeg4v1);
-- REGISTER_ENCDEC (MSMPEG4V2, msmpeg4v2);
-- REGISTER_ENCDEC (MSMPEG4V3, msmpeg4v3);
- @@ -196,7 +199,6 @@ void avcodec_register_all(void)
-- REGISTER_DECODER (V210X, v210x);
- REGISTER_DECODER (VB, vb);
- REGISTER_DECODER (VC1, vc1);
-+ REGISTER_DECODER (VC1_CRYSTALHD, vc1_crystalhd);
- - REGISTER_DECODER (VC1_VDPAU, vc1_vdpau);
- REGISTER_DECODER (VCR1, vcr1);
- REGISTER_DECODER (VMDVIDEO, vmdvideo);
- REGISTER_DECODER (VMNC, vmnc);
- @@ -210,7 +212,6 @@ void avcodec_register_all(void)
-- REGISTER_ENCDEC (WMV1, wmv1);
- REGISTER_ENCDEC (WMV2, wmv2);
- REGISTER_DECODER (WMV3, wmv3);
-+ REGISTER_DECODER (WMV3_CRYSTALHD, wmv3_crystalhd);
- - REGISTER_DECODER (WMV3_VDPAU, wmv3_vdpau);
- REGISTER_DECODER (WNV1, wnv1);
- REGISTER_DECODER (XAN_WC3, xan_wc3);
-- REGISTER_DECODER (XL, xl);
-+ REGISTER_DECODER (XAN_WC4, xan_wc4);
- diff --git a/ffmpeg/libavcodec/avcodec.h b/ffmpeg/libavcodec/avcodec.h
- index bff9477..1e77fa6 100644
- --- a/ffmpeg/libavcodec/avcodec.h
-@@ -285,9 +261,9 @@ index b0a3a8a..b5b9026 100644
- #include "mpeg4video_parser.h"
- #include "msmpeg4.h"
- -#include "vdpau_internal.h"
-+ #include "thread.h"
- #include "flv.h"
- #include "mpeg4video.h"
--
- @@ -620,11 +619,6 @@ retry:
- if(MPV_frame_start(s, avctx) < 0)
- return -1;
-@@ -305,23 +281,23 @@ index f99f7ea..faafa97 100644
- --- a/ffmpeg/libavcodec/h264.c
- +++ b/ffmpeg/libavcodec/h264.c
- @@ -37,7 +37,6 @@
-- #include "golomb.h"
- #include "mathops.h"
- #include "rectangle.h"
-+ #include "thread.h"
- -#include "vdpau_internal.h"
- #include "libavutil/avassert.h"
-
- #include "cabac.h"
- @@ -1647,9 +1646,6 @@ static void field_end(H264Context *h){
-- s->current_picture_ptr->qscale_type= FF_QSCALE_TYPE_H264;
-- s->current_picture_ptr->pict_type= s->pict_type;
-+ ff_thread_report_progress((AVFrame*)s->current_picture_ptr, (16*s->mb_height >> FIELD_PICTURE) - 1,
-+ s->picture_structure==PICT_BOTTOM_FIELD);
-
- - if (CONFIG_H264_VDPAU_DECODER && s->avctx->codec->capabilities&CODEC_CAP_HWACCEL_VDPAU)
- - ff_vdpau_h264_set_reference_frames(s);
- -
-- if(!s->dropable) {
-- ff_h264_execute_ref_pic_marking(h, h->mmco, h->mmco_index);
-- h->prev_poc_msb= h->poc_msb;
-+ if(in_setup || !(avctx->active_thread_type&FF_THREAD_FRAME)){
-+ if(!s->dropable) {
-+ ff_h264_execute_ref_pic_marking(h, h->mmco, h->mmco_index);
- @@ -1663,9 +1659,6 @@ static void field_end(H264Context *h){
- av_log(avctx, AV_LOG_ERROR, "hardware accelerator failed to decode picture\n");
- }
-@@ -362,13 +338,13 @@ index f99f7ea..faafa97 100644
- context_count++;
- }
- break;
--@@ -3408,20 +3392,3 @@ AVCodec h264_decoder = {
-+@@ -3408,21 +3392,3 @@ AVCodec h264_decoder = {
- .flush= flush_dpb,
- .long_name = NULL_IF_CONFIG_SMALL("H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10"),
- };
- -
- -#if CONFIG_H264_VDPAU_DECODER
---AVCodec h264_vdpau_decoder = {
-+-AVCodec ff_h264_vdpau_decoder = {
- - "h264_vdpau",
- - AVMEDIA_TYPE_VIDEO,
- - CODEC_ID_H264,
-@@ -381,6 +357,7 @@ index f99f7ea..faafa97 100644
- - .flush= flush_dpb,
- - .long_name = NULL_IF_CONFIG_SMALL("H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (VDPAU acceleration)"),
- - .pix_fmts = (const enum PixelFormat[]){PIX_FMT_VDPAU_H264, PIX_FMT_NONE},
-+- .profiles = NULL_IF_CONFIG_SMALL(profiles),
- -};
- -#endif
- diff --git a/ffmpeg/libavcodec/mpeg12.c b/ffmpeg/libavcodec/mpeg12.c
-@@ -449,7 +426,7 @@ index 6a331eb..c226797 100644
- - break;
- - }
- -
-- if(avctx->thread_count > 1){
-+ if(HAVE_THREADS && avctx->active_thread_type&FF_THREAD_SLICE){
- int threshold= (s2->mb_height*s->slice_count + avctx->thread_count/2) / avctx->thread_count;
- if(threshold <= mb_y){
- @@ -2578,36 +2561,3 @@ AVCodec mpeg_xvmc_decoder = {
-@@ -458,7 +435,7 @@ index 6a331eb..c226797 100644
- #endif
- -
- -#if CONFIG_MPEG_VDPAU_DECODER
---AVCodec mpeg_vdpau_decoder = {
-+-AVCodec ff_mpeg_vdpau_decoder = {
- - "mpegvideo_vdpau",
- - AVMEDIA_TYPE_VIDEO,
- - CODEC_ID_MPEG2VIDEO,
-@@ -474,7 +451,7 @@ index 6a331eb..c226797 100644
- -#endif
- -
- -#if CONFIG_MPEG1_VDPAU_DECODER
---AVCodec mpeg1_vdpau_decoder = {
-+-AVCodec ff_mpeg1_vdpau_decoder = {
- - "mpeg1video_vdpau",
- - AVMEDIA_TYPE_VIDEO,
- - CODEC_ID_MPEG1VIDEO,
-@@ -500,7 +477,7 @@ index b339f78..1928d03 100644
- -
- -
- -#if CONFIG_MPEG4_VDPAU_DECODER
---AVCodec mpeg4_vdpau_decoder = {
-+-AVCodec ff_mpeg4_vdpau_decoder = {
- - "mpeg4_vdpau",
- - AVMEDIA_TYPE_VIDEO,
- - CODEC_ID_MPEG4,
-@@ -527,9 +504,17 @@ index 9650066..5f8440b 100644
- PIX_FMT_NONE
- };
- @@ -1064,7 +1065,6 @@ void MPV_frame_end(MpegEncContext *s)
-- if(CONFIG_MPEG_XVMC_DECODER && s->avctx->xvmc_acceleration){
- ff_xvmc_field_end(s);
-- }else if(!s->avctx->hwaccel
-+ }else if((s->error_count || s->encoding)
-+ && !s->avctx->hwaccel
-+- && !(s->avctx->codec->capabilities&CODEC_CAP_HWACCEL_VDPAU)
-+ && s->unrestricted_mv
-+ && s->current_picture.reference
-+ && !s->intra_only
-+@@ -2254,7 +2254,6 @@ void ff_draw_horiz_band(MpegEncContext *
-+ }
-+
-+ if (!s->avctx->hwaccel
- - && !(s->avctx->codec->capabilities&CODEC_CAP_HWACCEL_VDPAU)
- && s->unrestricted_mv
- && s->current_picture.reference
-@@ -582,13 +567,13 @@ index c9a547b..71c50e7 100644
- if (avctx->hwaccel->start_frame(avctx, buf, buf_size) < 0)
- return -1;
- if (avctx->hwaccel->decode_slice(avctx, buf_start, (buf + buf_size) - buf_start) < 0)
--@@ -3376,37 +3364,3 @@ AVCodec wmv3_decoder = {
-- .pix_fmts = ff_hwaccel_pixfmt_list_420
-+@@ -3376,39 +3364,3 @@ AVCodec wmv3_decoder = {
-+ .profiles = NULL_IF_CONFIG_SMALL(profiles)
- };
- #endif
- -
- -#if CONFIG_WMV3_VDPAU_DECODER
---AVCodec wmv3_vdpau_decoder = {
-+-AVCodec ff_wmv3_vdpau_decoder = {
- - "wmv3_vdpau",
- - AVMEDIA_TYPE_VIDEO,
- - CODEC_ID_WMV3,
-@@ -600,12 +585,13 @@ index c9a547b..71c50e7 100644
- - CODEC_CAP_DR1 | CODEC_CAP_DELAY | CODEC_CAP_HWACCEL_VDPAU,
- - NULL,
- - .long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 9 VDPAU"),
--- .pix_fmts = (const enum PixelFormat[]){PIX_FMT_VDPAU_WMV3, PIX_FMT_NONE}
-+- .pix_fmts = (const enum PixelFormat[]){PIX_FMT_VDPAU_WMV3, PIX_FMT_NONE},
-+- .profiles = NULL_IF_CONFIG_SMALL(profiles)
- -};
- -#endif
- -
- -#if CONFIG_VC1_VDPAU_DECODER
---AVCodec vc1_vdpau_decoder = {
-+-AVCodec ff_vc1_vdpau_decoder = {
- - "vc1_vdpau",
- - AVMEDIA_TYPE_VIDEO,
- - CODEC_ID_VC1,
-@@ -617,7 +603,8 @@ index c9a547b..71c50e7 100644
- - CODEC_CAP_DR1 | CODEC_CAP_DELAY | CODEC_CAP_HWACCEL_VDPAU,
- - NULL,
- - .long_name = NULL_IF_CONFIG_SMALL("SMPTE VC-1 VDPAU"),
--- .pix_fmts = (const enum PixelFormat[]){PIX_FMT_VDPAU_VC1, PIX_FMT_NONE}
-+- .pix_fmts = (const enum PixelFormat[]){PIX_FMT_VDPAU_VC1, PIX_FMT_NONE},
-+- .profiles = NULL_IF_CONFIG_SMALL(profiles)
- -};
- -#endif
- diff --git a/ffmpeg/libavcodec/vdpau.c b/ffmpeg/libavcodec/vdpau.c
-@@ -1163,9 +1150,9 @@ index 8ec91c8..2386a81 100644
- PIX_FMT_BGR444LE, ///< packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), little-endian, most significant bits to 1
- PIX_FMT_Y400A, ///< 8bit gray, 8bit alpha
- + PIX_FMT_VDPAU, ///< HW decoding with VDPAU, Picture.data[3] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
-+ PIX_FMT_BGR48LE, ///< packed RGB 16:16:16, 48bpp, 16B, 16G, 16R, the 2-byte value for each R/G/B component is stored as little-endian
-+ PIX_FMT_BGR48BE, ///< packed RGB 16:16:16, 48bpp, 16B, 16G, 16R, the 2-byte value for each R/G/B component is stored as big-endian
- PIX_FMT_NB, ///< number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of formats might differ between versions
-- };
--
- diff --git a/fmt-conversion.c b/fmt-conversion.c
- index bd32ce8..8994caa 100644
- --- a/fmt-conversion.c
-@@ -1198,19 +1185,6 @@ index bd32ce8..8994caa 100644
- {0, PIX_FMT_NONE}
- };
-
--diff --git a/libmpcodecs/vd_ffmpeg.c b/libmpcodecs/vd_ffmpeg.c
--index 84b5430..aef79e9 100644
----- a/libmpcodecs/vd_ffmpeg.c
--+++ b/libmpcodecs/vd_ffmpeg.c
--@@ -303,7 +303,7 @@ static int init(sh_video_t *sh){
-- }
-- #endif /* CONFIG_VAAPI */
-- #if CONFIG_VDPAU
--- if(lavc_codec->capabilities & CODEC_CAP_HWACCEL_VDPAU){
--+ if(get_video_hwaccel() == HWACCEL_VDPAU){
-- avctx->get_format = get_format;
-- }
-- #endif /* CONFIG_VDPAU */
- diff --git a/libvo/vo_vdpau.c b/libvo/vo_vdpau.c
- index 5133b66..0ce6104 100644
- --- a/libvo/vo_vdpau.c
diff --git a/libre/mplayer-vaapi-libre/tweak-desktop-file.patch b/libre/mplayer-vaapi-libre/tweak-desktop-file.patch
index db0f377d2..606e356b0 100644
--- a/libre/mplayer-vaapi-libre/tweak-desktop-file.patch
+++ b/libre/mplayer-vaapi-libre/tweak-desktop-file.patch
@@ -1,19 +1,6 @@
---- mplayer.desktop.orig 2012-05-13 19:25:26.000000000 +0300
-+++ mplayer.desktop 2012-05-13 19:32:19.000000000 +0300
-@@ -7,12 +7,6 @@ GenericName[de]=Medienwiedergabe
- GenericName[fr]=Lecteur multimédia
- GenericName[it]=Lettore multimediale
- GenericName[ja]=メディアプレーヤー
--X-GNOME-FullName=MPlayer Media Player
--X-GNOME-FullName[ca]=MPlayer Reproductor multimèdia
--X-GNOME-FullName[de]=MPlayer Medienwiedergabe
--X-GNOME-FullName[fr]=MPlayer Lecteur multimédia
--X-GNOME-FullName[it]=MPlayer Lettore multimediale
--X-GNOME-FullName[ja]=MPlayer メディアプレーヤー
- Comment=Play movies and songs
- Comment[ca]=Reproduïu vídeos i cançons
- Comment[de]=Filme und Musik wiedergeben
-@@ -20,8 +14,9 @@ Comment[fr]=Lit les films et musiques
+--- mplayer.desktop.orig 2012-07-08 22:18:27.000000000 +0300
++++ mplayer.desktop 2012-07-08 22:19:08.000000000 +0300
+@@ -23,8 +23,9 @@ Comment[fr]=Lit les films et musiques
Comment[it]=Riproduce filmati e musica
Comment[ja]=動画や音声のファイルを再生します
Icon=mplayer
@@ -24,5 +11,4 @@
Terminal=false
+NoDisplay=true
Categories=GTK;AudioVideo;Audio;Video;Player;TV;
--MimeType=application/ogg;application/x-ogg;application/sdp;application/smil;application/x-smil;application/streamingmedia;application/x-streamingmedia;application/vnd.rn-realmedia;application/vnd.rn-realmedia-vbr;audio/aac;audio/x-aac;audio/m4a;audio/x-m4a;audio/mp1;audio/x-mp1;audio/mp2;audio/x-mp2;audio/mp3;audio/x-mp3;audio/mpeg;audio/x-mpeg;audio/mpegurl;audio/x-mpegurl;audio/mpg;audio/x-mpg;audio/rn-mpeg;audio/scpls;audio/x-scpls;audio/vnd.rn-realaudio;audio/wav;audio/x-pn-windows-pcm;audio/x-realaudio;audio/x-pn-realaudio;audio/x-ms-wma;audio/x-pls;audio/x-wav;video/mpeg;video/x-mpeg;video/x-mpeg2;video/msvideo;video/x-msvideo;video/quicktime;video/vnd.rn-realvideo;video/x-ms-afs;video/x-ms-asf;video/x-ms-wmv;video/x-ms-wmx;video/x-ms-wvxvideo;video/x-avi;video/x-fli;video/x-theora;video/x-matroska;video/3gpp;application/x-flash-video;
-+MimeType=application/ogg;application/x-ogg;application/sdp;application/smil;application/x-smil;application/streamingmedia;application/x-streamingmedia;application/vnd.rn-realmedia;application/vnd.rn-realmedia-vbr;audio/aac;audio/x-aac;audio/m4a;audio/x-m4a;audio/mp1;audio/x-mp1;audio/mp2;audio/x-mp2;audio/mp3;audio/x-mp3;audio/mpeg;audio/x-mpeg;audio/mpegurl;audio/x-mpegurl;audio/mpg;audio/x-mpg;audio/rn-mpeg;audio/scpls;audio/x-scpls;audio/vnd.rn-realaudio;audio/wav;audio/x-pn-windows-pcm;audio/x-realaudio;audio/x-pn-realaudio;audio/x-ms-wma;audio/x-pls;audio/x-wav;video/mpeg;video/x-mpeg;video/x-mpeg2;video/mp4;video/msvideo;video/x-msvideo;video/quicktime;video/vnd.rn-realvideo;video/x-ms-afs;video/x-ms-asf;video/x-ms-wmv;video/x-ms-wmx;video/x-ms-wvxvideo;video/x-avi;video/x-fli;video/x-flv;video/x-theora;video/x-matroska;video/3gpp;application/x-flash-video;
+ MimeType=application/mxf;application/x-netshow-channel;application/ogg;application/ram;application/vnd.rn-realmedia;application/x-shockwave-flash;application/smil;audio/ac3;audio/x-adpcm;audio/x-aiff;audio/AMR;audio/AMR-WB;audio/x-ape;audio/basic;audio/flac;audio/x-flac;audio/x-flac+ogg;audio/x-m4b;audio/x-matroska;audio/mp2;audio/mp4;audio/mpeg;audio/x-mpegurl;audio/x-ms-asx;audio/x-ms-wma;audio/x-musepack;audio/ogg;audio/vnd.rn-realaudio;audio/x-scpls;audio/x-voc;audio/x-vorbis+ogg;audio/x-wav;audio/x-wavpack;video/3gpp;video/3gpp2;video/dv;video/x-flic;video/x-flv;video/x-matroska;video/mp2t;video/mp4;video/mpeg;video/x-ms-asf;video/x-ms-wmv;video/x-msvideo;video/x-nsv;video/ogg;video/x-ogm+ogg;video/quicktime;video/vnd.rn-realvideo;video/x-theora+ogg;video/webm;