aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwg <wg@FreeBSD.org>2013-10-20 00:43:32 +0800
committerwg <wg@FreeBSD.org>2013-10-20 00:43:32 +0800
commit7bd53d2a9f339dc47381e00f07db80cc4b59237c (patch)
tree69155a2473ecd42904d8ae76e85c62fefb67950b
parent51b8eaeb1ac21f9fe97de34ffac01229f11188ac (diff)
downloadfreebsd-ports-gnome-7bd53d2a9f339dc47381e00f07db80cc4b59237c.tar.gz
freebsd-ports-gnome-7bd53d2a9f339dc47381e00f07db80cc4b59237c.tar.zst
freebsd-ports-gnome-7bd53d2a9f339dc47381e00f07db80cc4b59237c.zip
multimedia/ffmpeg: update to 2.0.1
- Update main ffmpeg port to 2.0.1 - Bump and update dependent ports when necessary (API change) Approved by: portmgr (bapt)
-rw-r--r--audio/dvda-author/Makefile10
-rw-r--r--audio/musicpd/Makefile6
-rw-r--r--audio/musicpd/files/patch-ffmpeg219
-rw-r--r--audio/sox/Makefile17
-rw-r--r--audio/sox/distinfo4
-rw-r--r--audio/sox/files/patch-avcodec54100
-rw-r--r--audio/sox/files/patch-ffmpeg66
-rw-r--r--audio/sox/files/patch-ffmpeg216
-rw-r--r--audio/sox/files/patch-libav939
-rw-r--r--audio/sox/pkg-plist13
-rw-r--r--multimedia/bino/Makefile14
-rw-r--r--multimedia/bino/distinfo4
-rw-r--r--multimedia/bino/files/patch-src-media_object.cpp13
-rw-r--r--multimedia/ffmpeg/Makefile490
-rw-r--r--multimedia/ffmpeg/distinfo4
-rw-r--r--multimedia/ffmpeg/files/patch-Makefile11
-rw-r--r--multimedia/ffmpeg/files/patch-configure50
-rw-r--r--multimedia/ffmpeg/files/patch-doc-Makefile11
-rw-r--r--multimedia/ffmpeg/files/patch-doc-protocols.texi13
-rw-r--r--multimedia/ffmpeg/files/patch-libavcodec-Makefile18
-rw-r--r--multimedia/ffmpeg/files/patch-libavcodec-libgsm.c11
-rw-r--r--multimedia/ffmpeg/files/patch-libavdevice-bktr.c14
-rw-r--r--multimedia/ffmpeg/files/patch-libavfilter-Makefile11
-rw-r--r--multimedia/ffmpeg/files/patch-libavfilter-vf_libopencv.c4
-rw-r--r--multimedia/ffmpeg/files/patch-libavutil-common.h6
-rw-r--r--multimedia/ffmpeg/pkg-descr27
-rw-r--r--multimedia/ffmpeg/pkg-plist129
-rw-r--r--multimedia/kino/Makefile2
-rw-r--r--multimedia/kino/files/patch-libav760
-rw-r--r--multimedia/kino/files/patch-libav857
-rw-r--r--multimedia/libquicktime/Makefile46
-rw-r--r--multimedia/libquicktime/files/patch-ffmpeg296
-rw-r--r--multimedia/libquicktime/pkg-plist2
-rw-r--r--multimedia/libxine/Makefile72
-rw-r--r--multimedia/libxine/distinfo4
-rw-r--r--multimedia/libxine/files/patch-b0df4b6003ad45
-rw-r--r--multimedia/libxine/files/patch-src-combined-ffmpeg-Makefile.in.diff14
-rw-r--r--multimedia/libxine/files/patch-src-post-deinterlace-plugins-greedy2frame_template_sse2.c28
-rw-r--r--multimedia/libxine/pkg-plist30
-rw-r--r--multimedia/mlt/Makefile2
-rw-r--r--multimedia/qmmp-plugin-pack/Makefile13
-rw-r--r--multimedia/qmmp-plugin-pack/distinfo4
-rw-r--r--multimedia/qmmp/Makefile154
-rw-r--r--multimedia/qmmp/distinfo4
-rw-r--r--multimedia/qmmp/files/patch-SET_RPATH11
-rw-r--r--multimedia/qmmp/pkg-descr6
-rw-r--r--multimedia/qmmp/pkg-plist15
-rw-r--r--multimedia/transcode/files/patch-ffmpeg0-1013
-rw-r--r--multimedia/transcode/files/patch-ffmpeg0-11299
-rw-r--r--multimedia/transcode/files/patch-ffmpeg2328
-rw-r--r--multimedia/transcode/files/patch-livav-9.patch31
-rw-r--r--multimedia/vdr-plugin-osdpip/files/patch-ffmpeg126
-rw-r--r--multimedia/vdr-plugin-osdpip/files/patch-libav940
-rw-r--r--multimedia/xbmc-addon-pvr/Makefile1
-rw-r--r--net/mediatomb/files/patch-livav764
-rw-r--r--net/mediatomb/files/patch-livav942
-rw-r--r--net/opal/Makefile6
-rw-r--r--net/opal/files/patch-ffmpeg189
-rw-r--r--x11/xpra/Makefile2
59 files changed, 2064 insertions, 762 deletions
diff --git a/audio/dvda-author/Makefile b/audio/dvda-author/Makefile
index af0ec0373cc2..3810f6c3cec8 100644
--- a/audio/dvda-author/Makefile
+++ b/audio/dvda-author/Makefile
@@ -3,7 +3,7 @@
PORTNAME= dvda-author
PORTVERSION= 09.05
-PORTREVISION= 9
+PORTREVISION= 10
PORTEPOCH= 1
CATEGORIES= audio
MASTER_SITES= SF/dvd-audio/${PORTNAME}-core/${PORTNAME}-${PORTVERSION}-core
@@ -13,10 +13,10 @@ MAINTAINER= martin.dieringer@gmx.de
COMMENT= Author and playback unencrypted and uncompressed Audio-DVDs
LIB_DEPENDS= FLAC:${PORTSDIR}/audio/flac \
- ogg:${PORTSDIR}/audio/libogg \
- sox.1:${PORTSDIR}/audio/sox \
- samplerate.1:${PORTSDIR}/audio/libsamplerate \
- png15:${PORTSDIR}/graphics/png
+ libogg.so:${PORTSDIR}/audio/libogg \
+ libsox.so:${PORTSDIR}/audio/sox \
+ libsamplerate.so:${PORTSDIR}/audio/libsamplerate \
+ libpng15.so:${PORTSDIR}/graphics/png
MAN1= dvda-author.1
diff --git a/audio/musicpd/Makefile b/audio/musicpd/Makefile
index 6255558ca66b..af610cb8d8df 100644
--- a/audio/musicpd/Makefile
+++ b/audio/musicpd/Makefile
@@ -148,9 +148,9 @@ LIB_DEPENDS+= zzip.13:${PORTSDIR}/devel/zziplib \
.endif
.if ${PORT_OPTIONS:MFFMPEG}
-LIB_DEPENDS+= avcodec.1:${PORTSDIR}/multimedia/ffmpeg \
- avformat:${PORTSDIR}/multimedia/ffmpeg \
- avutil.1:${PORTSDIR}/multimedia/ffmpeg
+LIB_DEPENDS+= libavcodec.so:${PORTSDIR}/multimedia/ffmpeg \
+ libavformat.so:${PORTSDIR}/multimedia/ffmpeg \
+ libavutil.so:${PORTSDIR}/multimedia/ffmpeg
.else
CONFIGURE_ARGS+=--disable-ffmpeg
.endif
diff --git a/audio/musicpd/files/patch-ffmpeg2 b/audio/musicpd/files/patch-ffmpeg2
new file mode 100644
index 000000000000..01db84eb0b2f
--- /dev/null
+++ b/audio/musicpd/files/patch-ffmpeg2
@@ -0,0 +1,19 @@
+Fix build with FFmpeg 2.0.
+
+Upstream status: Better patch sent and merged upstream.
+
+Index: src/decoder/ffmpeg_decoder_plugin.c
+===================================================================
+--- src/decoder/ffmpeg_decoder_plugin.c.orig
++++ src/decoder/ffmpeg_decoder_plugin.c
+@@ -47,6 +47,10 @@
+ #undef G_LOG_DOMAIN
+ #define G_LOG_DOMAIN "ffmpeg"
+
++#ifndef AVCODEC_MAX_AUDIO_FRAME_SIZE
++#define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000 // 1 second of 48khz 32bit audio
++#endif
++
+ static GLogLevelFlags
+ level_ffmpeg_to_glib(int level)
+ {
diff --git a/audio/sox/Makefile b/audio/sox/Makefile
index 087e105cdfce..ed4d2b1670bd 100644
--- a/audio/sox/Makefile
+++ b/audio/sox/Makefile
@@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= sox
-PORTVERSION= 14.3.2
-PORTREVISION= 6
+PORTVERSION= 14.4.1
CATEGORIES= audio
MASTER_SITES= SF
@@ -15,15 +14,10 @@ LICENSE_COMB= dual
CONFLICTS= play-[0-9]*
-MAN1= sox.1 soxi.1
-MAN3= libsox.3
-MAN7= soxformat.7
-MLINKS= sox.1 play.1 sox.1 rec.1 sox.1 soxeffect.7
GNU_CONFIGURE= yes
USES= pkgconfig
-NO_STAGE= yes
USE_LDCONFIG= yes
-USE_AUTOTOOLS= libltdl
+USE_AUTOTOOLS= aclocal autoconf automake libltdl
OPTIONS_DEFINE= ALSA AO AMRNB AMRWB FFMPEG FLAC GSM ID3TAG LADSPA LAME \
MAD PNG SNDFILE VORBIS WAVPACK
@@ -76,7 +70,7 @@ CONFIGURE_ARGS+= --without-amrwb
.if ${PORT_OPTIONS:MFFMPEG}
CONFIGURE_ARGS+= --with-ffmpeg
-LIB_DEPENDS+= avcodec.1:${PORTSDIR}/multimedia/ffmpeg
+LIB_DEPENDS+= libavcodec.so:${PORTSDIR}/multimedia/ffmpeg
.else
CONFIGURE_ARGS+= --without-ffmpeg
.endif
@@ -156,4 +150,9 @@ LIB_DEPENDS+= wavpack.2:${PORTSDIR}/audio/wavpack
CONFIGURE_ARGS+= --without-wavpack
.endif
+post-patch:
+ @${REINPLACE_CMD} -e 's/ CODEC_ID/ AV_CODEC_ID/g' \
+ -e 's/ CodecID/ AVCodecID/g' \
+ ${WRKSRC}/src/ffmpeg.c
+
.include <bsd.port.mk>
diff --git a/audio/sox/distinfo b/audio/sox/distinfo
index cba6ab254707..bb20eb93b720 100644
--- a/audio/sox/distinfo
+++ b/audio/sox/distinfo
@@ -1,2 +1,2 @@
-SHA256 (sox-14.3.2.tar.gz) = 0668cc087c346f7c4084ae294c676a11ddefb462974bc3f67be30d789c850e8f
-SIZE (sox-14.3.2.tar.gz) = 1110175
+SHA256 (sox-14.4.1.tar.gz) = 9a8c2c6fe51e608da346a157e111508a957af9e3ecf3de26781d36e9a67fa89b
+SIZE (sox-14.4.1.tar.gz) = 1111653
diff --git a/audio/sox/files/patch-avcodec54 b/audio/sox/files/patch-avcodec54
new file mode 100644
index 000000000000..3136223580dc
--- /dev/null
+++ b/audio/sox/files/patch-avcodec54
@@ -0,0 +1,100 @@
+Index: m4/ffmpeg.m4
+===================================================================
+--- m4/ffmpeg.m4.orig
++++ m4/ffmpeg.m4
+@@ -49,7 +49,7 @@ then
+ LIBS="$LIBS $FFMPEG_LIBS"
+ have_ffmpeg="no"
+ AC_CHECK_HEADERS([libavformat/avformat.h ffmpeg/avformat.h],
+- [AC_CHECK_LIB(avformat, av_open_input_file,
++ [AC_CHECK_LIB(avformat, avformat_open_input,
+ [AC_CHECK_HEADERS([libavcodec/avcodec.h ffmpeg/avcodec.h],
+ [AC_CHECK_LIB(avcodec, avcodec_decode_audio3, have_ffmpeg=yes)])])
+ break])
+Index: src/ffmpeg.c
+===================================================================
+--- src/ffmpeg.c.orig
++++ src/ffmpeg.c
+@@ -92,8 +92,10 @@ static int stream_component_open(priv_t
+ enc->workaround_bugs = 1;
+ #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
+ enc->error_resilience = 1;
+-#else
++#elif LIBAVCODEC_VERSION_INT < ((54<<16)+(0<<8)+0)
+ enc->error_recognition = 1;
++#else
++ ic->error_recognition = 1;
+ #endif
+
+ if (!codec || avcodec_open(enc, codec) < 0)
+@@ -157,7 +159,7 @@ static int audio_decode_frame(priv_t * f
+ static int startread(sox_format_t * ft)
+ {
+ priv_t * ffmpeg = (priv_t *)ft->priv;
+- AVFormatParameters params;
++ AVDictionary *params;
+ int ret;
+ int i;
+
+@@ -172,7 +174,7 @@ static int startread(sox_format_t * ft)
+
+ /* Open file and get format */
+ memset(&params, 0, sizeof(params));
+- if ((ret = av_open_input_file(&ffmpeg->ctxt, ft->filename, NULL, 0, &params)) < 0) {
++ if ((ret = avformat_open_input(&ffmpeg->ctxt, ft->filename, NULL, &params)) < 0) {
+ lsx_fail("ffmpeg cannot open file for reading: %s (code %d)", ft->filename, ret);
+ return SOX_EOF;
+ }
+@@ -231,7 +233,7 @@ static size_t read_samples(sox_format_t
+ /* If input buffer empty, read more data */
+ if (ffmpeg->audio_buf_index * 2 >= ffmpeg->audio_buf_size) {
+ if ((ret = av_read_frame(ffmpeg->ctxt, pkt)) < 0 &&
+- (ret == AVERROR_EOF || url_ferror(ffmpeg->ctxt->pb)))
++ (ret == AVERROR_EOF || ( ffmpeg->ctxt->pb && ffmpeg->ctxt->pb->error)))
+ break;
+ ffmpeg->audio_buf_size = audio_decode_frame(ffmpeg, ffmpeg->audio_buf_aligned, AVCODEC_MAX_AUDIO_FRAME_SIZE);
+ ffmpeg->audio_buf_index = 0;
+@@ -373,13 +375,6 @@ static int startwrite(sox_format_t * ft)
+ return SOX_EOF;
+ }
+
+- /* set the output parameters (must be done even if no
+- parameters). */
+- if (av_set_parameters(ffmpeg->ctxt, NULL) < 0) {
+- lsx_fail("ffmpeg invalid output format parameters");
+- return SOX_EOF;
+- }
+-
+ /* Next line for debugging */
+ /* dump_format(ffmpeg->ctxt, 0, ft->filename, 1); */
+
+@@ -391,14 +386,14 @@ static int startwrite(sox_format_t * ft)
+
+ /* open the output file, if needed */
+ if (!(ffmpeg->fmt->flags & AVFMT_NOFILE)) {
+- if (url_fopen(&ffmpeg->ctxt->pb, ft->filename, URL_WRONLY) < 0) {
++ if (avio_open(&ffmpeg->ctxt->pb, ft->filename, AVIO_FLAG_WRITE) < 0) {
+ lsx_fail("ffmpeg could not open `%s'", ft->filename);
+ return SOX_EOF;
+ }
+ }
+
+ /* write the stream header, if any */
+- av_write_header(ffmpeg->ctxt);
++ avformat_write_header(ffmpeg->ctxt, NULL);
+
+ return SOX_SUCCESS;
+ }
+@@ -475,11 +470,7 @@ static int stopwrite(sox_format_t * ft)
+
+ if (!(ffmpeg->fmt->flags & AVFMT_NOFILE)) {
+ /* close the output file */
+-#if (LIBAVFORMAT_VERSION_INT < 0x340000)
+- url_fclose(&ffmpeg->ctxt->pb);
+-#else
+- url_fclose(ffmpeg->ctxt->pb);
+-#endif
++ avio_close(ffmpeg->ctxt->pb);
+ }
+
+ /* Free the output context */
diff --git a/audio/sox/files/patch-ffmpeg b/audio/sox/files/patch-ffmpeg
index fd511e7348cc..b7c642126f6b 100644
--- a/audio/sox/files/patch-ffmpeg
+++ b/audio/sox/files/patch-ffmpeg
@@ -1,55 +1,11 @@
-*** diff
-
-Update to use the new ffmpeg library API, but still work with
-the old one.
-
---- src/ffmpeg.c 2011-06-07 00:29:34.000000000 -0500
-+++ src/ffmpeg.c 2011-06-07 00:34:12.830996927 -0500
-@@ -50,6 +50,11 @@
- #include <ctype.h>
- #include "ffmpeg.h"
-
-+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(52, 64, 0)
-+#define AVMEDIA_TYPE_AUDIO CODEC_TYPE_AUDIO
-+#define AV_PKT_FLAG_KEY PKT_FLAG_KEY
-+#endif
-+
- /* Private data for ffmpeg files */
- typedef struct {
- int audio_index;
-@@ -91,7 +96,7 @@ static int stream_component_open(priv_t
-
- if (!codec || avcodec_open(enc, codec) < 0)
- return -1;
-- if (enc->codec_type != CODEC_TYPE_AUDIO) {
-+ if (enc->codec_type != AVMEDIA_TYPE_AUDIO) {
- lsx_fail("ffmpeg CODEC %x is not an audio CODEC", enc->codec_type);
- return -1;
- }
-@@ -182,7 +187,7 @@ static int startread(sox_format_t * ft)
- /* Find audio stream (FIXME: allow different stream to be selected) */
- for (i = 0; (unsigned)i < ffmpeg->ctxt->nb_streams; i++) {
- AVCodecContext *enc = ffmpeg->ctxt->streams[i]->codec;
-- if (enc->codec_type == CODEC_TYPE_AUDIO && ffmpeg->audio_index < 0) {
-+ if (enc->codec_type == AVMEDIA_TYPE_AUDIO && ffmpeg->audio_index < 0) {
- ffmpeg->audio_index = i;
- break;
- }
-@@ -273,7 +278,7 @@ static AVStream *add_audio_stream(sox_fo
-
- c = st->codec;
- c->codec_id = codec_id;
-- c->codec_type = CODEC_TYPE_AUDIO;
-+ c->codec_type = AVMEDIA_TYPE_AUDIO;
-
- /* put sample parameters */
- c->bit_rate = 256000; /* FIXME: allow specification */
-@@ -423,7 +428,7 @@ static size_t write_samples(sox_format_t
- av_init_packet(&pkt);
- pkt.size = avcodec_encode_audio(c, ffmpeg->audio_buf_aligned, AVCODEC_MAX_AUDIO_FRAME_SIZE, ffmpeg->samples);
- pkt.pts = av_rescale_q(c->coded_frame->pts, c->time_base, ffmpeg->audio_st->time_base);
-- pkt.flags |= PKT_FLAG_KEY;
-+ pkt.flags |= AV_PKT_FLAG_KEY;
- pkt.stream_index = ffmpeg->audio_st->index;
- pkt.data = ffmpeg->audio_buf_aligned;
-
+--- src/ffmpeg.h.orig
++++ src/ffmpeg.h
+@@ -27,6 +27,8 @@
+ #include <ffmpeg/avformat.h>
+ #endif
+
++#include <libavutil/mathematics.h>
++
+ #if defined __SUNPRO_C
+ #pragma enable_warn
+ #elif defined _MSC_VER
diff --git a/audio/sox/files/patch-ffmpeg2 b/audio/sox/files/patch-ffmpeg2
new file mode 100644
index 000000000000..7f82ed88f2a6
--- /dev/null
+++ b/audio/sox/files/patch-ffmpeg2
@@ -0,0 +1,16 @@
+Index: src/ffmpeg.c
+===================================================================
+--- src/ffmpeg.c.orig
++++ src/ffmpeg.c
+@@ -57,6 +57,11 @@
+ #define PKT_FLAG_KEY AV_PKT_FLAG_KEY
+ #endif
+
++#ifndef AVCODEC_MAX_AUDIO_FRAME_SIZE
++#define AVCODEC_MAX_AUDIO_FRAME_SIZE (192000 * 4)
++#endif
++
++
+ /* Private data for ffmpeg files */
+ typedef struct {
+ int audio_index;
diff --git a/audio/sox/files/patch-libav9 b/audio/sox/files/patch-libav9
new file mode 100644
index 000000000000..ed3aaac894a1
--- /dev/null
+++ b/audio/sox/files/patch-libav9
@@ -0,0 +1,39 @@
+diff -burN src/ffmpeg.c sox-14.4.0/src/ffmpeg.c
+--- src/ffmpeg.c.orig 2012-11-25 21:59:45.990825656 +0100
++++ src/ffmpeg.c 2012-11-25 22:07:06.436809624 +0100
+@@ -98,7 +98,7 @@
+ ic->error_recognition = 1;
+ #endif
+
+- if (!codec || avcodec_open(enc, codec) < 0)
++ if (!codec || avcodec_open2(enc, codec, NULL) < 0)
+ return -1;
+ if (enc->codec_type != AVMEDIA_TYPE_AUDIO) {
+ lsx_fail("ffmpeg CODEC %x is not an audio CODEC", enc->codec_type);
+@@ -180,7 +180,7 @@
+ }
+
+ /* Get CODEC parameters */
+- if ((ret = av_find_stream_info(ffmpeg->ctxt)) < 0) {
++ if ((ret = avformat_find_stream_info(ffmpeg->ctxt, NULL)) < 0) {
+ lsx_fail("ffmpeg could not find CODEC parameters for %s", ft->filename);
+ return SOX_EOF;
+ }
+@@ -274,7 +274,7 @@
+ AVCodecContext *c;
+ AVStream *st;
+
+- st = av_new_stream(oc, 1);
++ st = avformat_new_stream(oc, NULL);
+ if (!st) {
+ lsx_fail("ffmpeg could not alloc stream");
+ return NULL;
+@@ -308,7 +308,7 @@
+ }
+
+ /* open it */
+- if (avcodec_open(c, codec) < 0) {
++ if (avcodec_open2(c, codec, NULL) < 0) {
+ lsx_fail("ffmpeg could not open CODEC");
+ return SOX_EOF;
+ }
diff --git a/audio/sox/pkg-plist b/audio/sox/pkg-plist
index c1a370e561c0..2245f6ab0cf5 100644
--- a/audio/sox/pkg-plist
+++ b/audio/sox/pkg-plist
@@ -1,14 +1,17 @@
-@comment $FreeBSD$
bin/play
bin/rec
bin/sox
bin/soxi
include/sox.h
-include/soxstdint.h
lib/libsox.a
lib/libsox.la
lib/libsox.so
-lib/libsox.so.1
-@exec mkdir -p %D/lib/sox
-@dirrm lib/sox
+lib/libsox.so.2
+man/man1/play.1.gz
+man/man1/rec.1.gz
+man/man1/sox.1.gz
+man/man1/soxi.1.gz
+man/man3/libsox.3.gz
+man/man7/soxeffect.7.gz
+man/man7/soxformat.7.gz
libdata/pkgconfig/sox.pc
diff --git a/multimedia/bino/Makefile b/multimedia/bino/Makefile
index 05b4764dcc03..ce8cdce959ef 100644
--- a/multimedia/bino/Makefile
+++ b/multimedia/bino/Makefile
@@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= bino
-PORTVERSION= 1.2.1
-PORTREVISION= 1
+PORTVERSION= 1.4.2
CATEGORIES= multimedia
MASTER_SITES= http://download.savannah.nongnu.org/releases/bino/ http://levsha.me/ports/distfiles/
@@ -13,20 +12,19 @@ COMMENT= 3D video player with multi-display support
LICENSE= GPLv3
FETCH_ARGS= -Fpr
-USES= pkgconfig
+USES= gmake pkgconfig
USE_XZ= yes
GNU_CONFIGURE= yes
-USE_GMAKE= yes
INSTALLS_ICONS= yes
USE_QT4= moc_build opengl rcc_build
# no port fow equalizer now, lirc detecting not working
CONFIGURE_ARGS+= --without-equalizer --without-liblircclient --docdir=${DOCSDIR}
-LIB_DEPENDS+= ass.5:${PORTSDIR}/multimedia/libass \
- avformat.1:${PORTSDIR}/multimedia/ffmpeg \
- GLEW.1:${PORTSDIR}/graphics/glew \
- openal.1:${PORTSDIR}/audio/openal-soft
+LIB_DEPENDS+= libass.so:${PORTSDIR}/multimedia/libass \
+ libavformat.so:${PORTSDIR}/multimedia/ffmpeg \
+ libGLEW.so:${PORTSDIR}/graphics/glew \
+ libopenal.so:${PORTSDIR}/audio/openal-soft
MAN1= bino.1
INFO= bino
diff --git a/multimedia/bino/distinfo b/multimedia/bino/distinfo
index 43e20a10dfa5..127bdc0d38a7 100644
--- a/multimedia/bino/distinfo
+++ b/multimedia/bino/distinfo
@@ -1,2 +1,2 @@
-SHA256 (bino-1.2.1.tar.xz) = 2573ba0c0f8ae1f2cb8f7ecb5ac311146ac2759b52087bf6c8580942054458d0
-SIZE (bino-1.2.1.tar.xz) = 714608
+SHA256 (bino-1.4.2.tar.xz) = 6cd88eb16ffee30a3cbb9b5d313feb61b91068387ae846ff96d9e99dcb5c88b6
+SIZE (bino-1.4.2.tar.xz) = 794272
diff --git a/multimedia/bino/files/patch-src-media_object.cpp b/multimedia/bino/files/patch-src-media_object.cpp
new file mode 100644
index 000000000000..63d9d8e52e58
--- /dev/null
+++ b/multimedia/bino/files/patch-src-media_object.cpp
@@ -0,0 +1,13 @@
+--- src/media_object.cpp.orig 2013-10-07 13:20:40.603922682 -0300
++++ src/media_object.cpp 2013-10-07 13:21:13.558920266 -0300
+@@ -56,6 +56,10 @@
+
+ #include "media_object.h"
+
++#ifndef AVCODEC_MAX_AUDIO_FRAME_SIZE
++#define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000
++#endif
++
+
+ // The read thread.
+ // This thread reads packets from the AVFormatContext and stores them in the
diff --git a/multimedia/ffmpeg/Makefile b/multimedia/ffmpeg/Makefile
index 0c35249dea10..86ee83ca8c51 100644
--- a/multimedia/ffmpeg/Makefile
+++ b/multimedia/ffmpeg/Makefile
@@ -1,11 +1,8 @@
-# Created by: Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>
+# Created by: Martin Matuska <mm@FreeBSD.org>
# $FreeBSD$
PORTNAME= ffmpeg
-PORTVERSION= 0.7.15
-PORTREVISION= 2
-PORTEPOCH= 1
-PORTREVISION= 2
+PORTVERSION= 2.0.1
CATEGORIES= multimedia audio ipv6 net
MASTER_SITES= http://ffmpeg.org/releases/
@@ -14,66 +11,207 @@ COMMENT= Realtime audio/video encoder/converter and streaming server
LICENSE= GPLv2 LGPL21
LICENSE_COMB= multi
-LICENSE_FILE_GPLv2= ${WRKSRC}/COPYING.GPLv2
-LICENSE_FILE_LGPL21= ${WRKSRC}/COPYING.LGPLv2.1
BUILD_DEPENDS= yasm:${PORTSDIR}/devel/yasm \
${LOCALBASE}/bin/as:${PORTSDIR}/devel/binutils \
- ${LOCALBASE}/bin/texi2html:${PORTSDIR}/textproc/texi2html
-
-CONFLICTS= libav-[0-9]*
-PORTSCOUT= limit:^0\..*
+ texi2html:${PORTSDIR}/textproc/texi2html
HAS_CONFIGURE= yes
CONFIGURE_LOG= config.err
-USES= gmake perl5 pkgconfig
+USES= gmake pkgconfig perl5
+USE_PERL5= build
USE_BZIP2= yes
WANT_SDL= yes
-USE_PERL5= build
-OPTIONS_DEFINE= AACPLUS ALSA AMR_NB AMR_WB CELT DEBUG DIRAC FAAC \
- FFSERVER FREETYPE FREI0R GSM LAME OPENCV OPENJPEG \
- OPTIMIZED_CFLAGS RTMP SCHROEDINGER SDL SPEEX THEORA VAAPI \
- VDPAU VO_AACENC VO_AMRWBENC VORBIS VPX X11GRAB X264 XVID
+OPTIONS_DEFINE= AACPLUS ALSA AMR_NB AMR_WB ASS CDIO CELT DEBUG FAAC \
+ FDK_AAC FFSERVER FONTCONFIG FREETYPE FREI0R GNUTLS GSM ICONV \
+ LAME LIBBLURAY LIBV4L MODPLUG OPENAL OPENCV OPENJPEG OPENSSL \
+ OPTIMIZED_CFLAGS OPUS PULSEAUDIO RTMP SCHROEDINGER SDL SPEEX \
+ THEORA VAAPI VDPAU VO_AACENC VO_AMRWBENC VORBIS VPX \
+ X11GRAB X264 XVID
-OPTIONS_DEFAULT= FFSERVER FREETYPE FREI0R OPENCV SCHROEDINGER THEORA \
- VORBIS VPX X264 XVID
+OPTIONS_DEFAULT= FFSERVER FONTCONFIG FREETYPE FREI0R GNUTLS ICONV \
+ OPENCV SCHROEDINGER THEORA VORBIS VPX X264 XVID
+ASS_DESC= Subtitles rendering via libass
+CDIO_DESC= Audio CD grabbing with libcdio
+FDK_AAC_DESC= AAC audio encoding via Fraunhofer FDK
FFSERVER_DESC= Build and install ffserver
+LIBV4L_DESC= Video for Linux support
+OPUS_DESC= Opus decoding with libopus
X11GRAB_DESC= Enable x11 grabbing
-COMPAT_HEADERS=libavcodec/avcodec.h \
- libavcodec/opt.h \
- libavcodec/vdpau.h \
- libavcodec/xvmc.h \
- libavdevice/avdevice.h \
- libavfilter/avfilter.h \
- libavformat/avformat.h \
- libavformat/avio.h \
- libavutil/adler32.h \
- libavutil/avstring.h \
- libavutil/avutil.h \
- libavutil/base64.h \
- libavutil/common.h \
- libavutil/crc.h \
- libavutil/fifo.h \
- libavutil/intfloat_readwrite.h \
- libavutil/log.h \
- libavutil/lzo.h \
- libavutil/mathematics.h \
- libavutil/md5.h \
- libavutil/mem.h \
- libavutil/pixfmt.h \
- libavutil/rational.h \
- libavutil/sha1.h \
- libpostproc/postprocess.h \
- libswscale/swscale.h
+# aacplus
+AACPLUS_LIB_DEPENDS= libaacplus.so:${PORTSDIR}/audio/libaacplus
+AACPLUS_CONFIGURE_ENABLE= libaacplus
-.include <bsd.port.options.mk>
+# alsa
+ALSA_CONFIGURE_OFF= --disable-indev=alsa \
+ --disable-outdev=alsa
+ALSA_LIB_DEPENDS= libasound.so:${PORTSDIR}/audio/alsa-lib
+
+# Opencore AMR NB
+AMR_NB_LIB_DEPENDS= libopencore-amrnb.so:${PORTSDIR}/audio/opencore-amr
+AMR_NB_CONFIGURE_ENABLE= libopencore-amrnb
+
+# Opencore AMR WB
+AMR_WB_LIB_DEPENDS= libopencore-amrwb.so:${PORTSDIR}/audio/opencore-amr
+AMR_WB_CONFIGURE_ENABLE= libopencore-amrwb
+
+# ass
+ASS_LIB_DEPENDS= libass.so:${PORTSDIR}/multimedia/libass
+ASS_CONFIGURE_ENABLE= libass
+
+# cdio
+CDIO_LIB_DEPENDS= libcdio.so:${PORTSDIR}/sysutils/libcdio
+CDIO_CONFIGURE_ENABLE= libcdio
+
+# celt
+CELT_LIB_DEPENDS= libcelt0.so:${PORTSDIR}/audio/celt
+CELT_CONFIGURE_ENABLE= libcelt
+
+# faac
+FAAC_LIB_DEPENDS= libfaac.so:${PORTSDIR}/audio/faac
+FAAC_CONFIGURE_ENABLE= libfaac
+
+# fdk_aac
+FDK_AAC_LIB_DEPENDS= libfdk-aac.so:${PORTSDIR}/audio/fdk-aac
+FDK_AAC_CONFIGURE_ENABLE= libfdk-aac
+
+# ffserver
+FFSERVER_CONFIGURE_ENABLE= ffserver
+
+# fontconfig
+FONTCONFIG_LIB_DEPENDS= libfontconfig.so:${PORTSDIR}/x11-fonts/fontconfig
+FONTCONFIG_CONFIGURE_ENABLE= fontconfig
+
+# freetype
+FREETYPE_LIB_DEPENDS= libfreetype.so:${PORTSDIR}/print/freetype2
+FREETYPE_CONFIGURE_ENABLE= libfreetype
+
+# frei0r
+FREI0R_BUILD_DEPENDS= ${LOCALBASE}/include/frei0r.h:${PORTSDIR}/graphics/frei0r
+FREI0R_CONFIGURE_ENABLE= frei0r
+
+# gnutls
+GNUTLS_LIB_DEPENDS= libgnutls.so:${PORTSDIR}/security/gnutls
+GNUTLS_CONFIGURE_ENABLE= gnutls
+
+# gsm
+GSM_LIB_DEPENDS= libgsm.so:${PORTSDIR}/audio/gsm
+GSM_CONFIGURE_ENABLE= libgsm
+
+# iconv
+ICONV_USES= iconv
+ICONV_CONFIGURE_ENABLE= iconv
+
+# lame
+LAME_LIB_DEPENDS= libmp3lame.so:${PORTSDIR}/audio/lame
+LAME_CONFIGURE_ENABLE= libmp3lame
+
+# libbluray
+LIBBLURAY_LIB_DEPENDS= libbluray.so:${PORTSDIR}/multimedia/libbluray
+LIBBLURAY_CONFIGURE_ENABLE= libbluray
+
+# libv4l
+LIBV4L_LIB_DEPENDS= libv4l2.so:${PORTSDIR}/multimedia/libv4l
+LIBV4L_CONFIGURE_ENABLE= libv4l2
+
+# modplug
+MODPLUG_LIB_DEPENDS= libmodplug.so:${PORTSDIR}/audio/libmodplug
+MODPLUG_CONFIGURE_ENABLE= libmodplug
+
+# OpenAL
+OPENAL_LIB_DEPENDS= libopenal.so:${PORTSDIR}/audio/openal-soft
+OPENAL_CONFIGURE_ENABLE= openal
+
+# opencv
+OPENCV_LIB_DEPENDS= libopencv_imgproc.so:${PORTSDIR}/graphics/opencv-core
+OPENCV_CONFIGURE_ENABLE= libopencv
+
+# openjpeg
+OPENJPEG_LIB_DEPENDS= libopenjpeg.so:${PORTSDIR}/graphics/openjpeg
+OPENJPEG_CONFIGURE_ENABLE= libopenjpeg
+
+# opus
+OPUS_LIB_DEPENDS= libopus.so:${PORTSDIR}/audio/opus
+OPUS_CONFIGURE_ENABLE= libopus
+
+# pulseaudio
+PULSEAUDIO_LIB_DEPENDS= libpulse.so:${PORTSDIR}/audio/pulseaudio
+PULSEAUDIO_CONFIGURE_ENABLE= libpulse
# rtmp
-.if ${PORT_OPTIONS:MRTMP}
+RTMP_LIB_DEPENDS= librtmp.so:${PORTSDIR}/multimedia/rtmpdump
+RTMP_CONFIGURE_ENABLE= librtmp
+
+# schroedinger
+SCHROEDINGER_LIB_DEPENDS= libschroedinger-1.0.so:${PORTSDIR}/multimedia/schroedinger
+SCHROEDINGER_CONFIGURE_ENABLE= libschroedinger
+
+# speex
+SPEEX_LIB_DEPENDS= libspeex.so:${PORTSDIR}/audio/speex
+SPEEX_CONFIGURE_ENABLE= libspeex
+
+# theora
+THEORA_LIB_DEPENDS= libtheora.so:${PORTSDIR}/multimedia/libtheora
+THEORA_CONFIGURE_ENABLE= libtheora
+
+# vaapi
+VAAPI_LIB_DEPENDS= libva.so:${PORTSDIR}/multimedia/libva
+VAAPI_CONFIGURE_ENABLE= vaapi
+
+# vdpau
+VDPAU_BUILD_DEPENDS= ${LOCALBASE}/include/vdpau/vdpau.h:${PORTSDIR}/multimedia/libvdpau
+VDPAU_CONFIGURE_ENABLE= vdpau
+
+# vo-aacenc
+VO_AACENC_LIB_DEPENDS= libvo-aacenc.so:${PORTSDIR}/audio/vo-aacenc
+VO_AACENC_CONFIGURE_ENABLE= libvo-aacenc
+
+# vo-amrwbenc
+VO_AMRWBENC_LIB_DEPENDS= libvo-amrwbenc.so:${PORTSDIR}/audio/vo-amrwbenc
+VO_AMRWBENC_CONFIGURE_ENABLE= libvo-amrwbenc
+
+# vorbis
+VORBIS_LIB_DEPENDS= libvorbisenc.so:${PORTSDIR}/audio/libvorbis
+VORBIS_CONFIGURE_ENABLE= libvorbis
+
+# vp8
+VPX_LIB_DEPENDS= libvpx.so:${PORTSDIR}/multimedia/libvpx
+VPX_CONFIGURE_ENABLE= libvpx
+
+# x264
+X264_LIB_DEPENDS= libx264.so:${PORTSDIR}/multimedia/x264
+X264_CONFIGURE_ENABLE= libx264
+
+# xvid
+XVID_LIB_DEPENDS= libxvidcore.so:${PORTSDIR}/multimedia/xvid
+XVID_CONFIGURE_ENABLE= libxvid
+
+FFPROGS= ffmpeg ffprobe
+INSTALL_TARGET= install-progs install-data install-libs install-headers
+#FFMPEG_SUFFIX= 2
+#PLIST_SUB+= SUFF="${FFMPEG_SUFFIX}"
+
+#USE_LDCONFIG= ${PREFIX}/lib/ffmpeg${FFMPEG_SUFFIX}
+DATADIR= ${PREFIX}/share/${PORTNAME}${PKGNAMESUFFIX}
+
+.include <bsd.port.options.mk>
+
+# ssl
+.if ${PORT_OPTIONS:MOPENSSL} && empty(PORT_OPTIONS:MGNUTLS)
USE_OPENSSL= yes
+FFMPEG_NONFREE= yes
+.endif
+
+.if ${PORT_OPTIONS:MAACPLUS} || ${PORT_OPTIONS:MFAAC} || ${PORT_OPTIONS:MFDK_AAC}
+FFMPEG_NONFREE= yes
+.endif
+
+.if ${PORT_OPTIONS:MAMR_NB} || ${PORT_OPTIONS:MAMR_WB} || \
+${PORT_OPTIONS:MVO_AACENC} || ${PORT_OPTIONS:MVO_AMRWBENC}
+FFMPEG_LICENSE_GPL3= yes
.endif
# x11grab
@@ -84,29 +222,32 @@ CONFIGURE_ARGS+= --enable-x11grab
.include <bsd.port.pre.mk>
+DATADIR= ${PREFIX}/share/${PORTNAME}${PKGNAMESUFFIX}
+DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}${PKGNAMESUFFIX}
CONFIGURE_ENV+= COMPILER_PATH=${LOCALBASE}/bin
MAKE_ENV+= COMPILER_PATH=${LOCALBASE}/bin
CONFIGURE_ARGS+=--prefix="${PREFIX}" \
--mandir="${PREFIX}/man" \
+ --datadir="${DATADIR}" \
--enable-shared \
--enable-gpl \
--enable-postproc \
--enable-avfilter \
+ --enable-avresample \
--enable-pthreads \
--enable-memalign-hack \
- --enable-runtime-cpudetect \
+ --disable-libstagefright-h264 \
+ --disable-libutvideo \
+ --disable-libsoxr \
--cc="${CC}" \
--extra-cflags="${FFMPEG_CFLAGS} -I${LOCALBASE}/include" \
--extra-ldflags="-L${LOCALBASE}/lib ${FFMPEG_LDFLAGS}" \
--extra-libs="${PTHREAD_LIBS}"
-SHLIB_VER= 1
-PLIST_SUB= SHLIB_VER=${SHLIB_VER}
-USE_LDCONFIG= yes
-DOC_FILES= CREDITS INSTALL LICENSE MAINTAINERS README RELEASE
+DOC_FILES= Changelog CREDITS INSTALL LICENSE MAINTAINERS README
# under doc subdirectory
-DOC_DOCFILES= APIchanges RELEASE_NOTES TODO *.txt *.html
+DOC_DOCFILES= APIchanges RELEASE_NOTES *.txt *.html
PORTDOCS= *
.if ${PORT_OPTIONS:MDEBUG}
@@ -134,7 +275,7 @@ _NO_BUILTIN_VECTOR= yes
# builtin vector, requires mmx and sse
.if !defined(_NO_BUILTIN_VECTOR) && defined(_BUILTIN_VECTOR)
-CFLAGS+= -msse
+FFMPEG_CFLAGS+= -msse
.endif
# optimizations
@@ -142,232 +283,33 @@ CFLAGS+= -msse
CFLAGS+= -O3 -ffast-math -fno-finite-math-only -fomit-frame-pointer
.endif
-#aacplus
-.if ${PORT_OPTIONS:MAACPLUS}
-FFMPEG_NONFREE= yes
-LIB_DEPENDS+= aacplus.2:${PORTSDIR}/audio/libaacplus
-CONFIGURE_ARGS+= --enable-libaacplus
-.else
-CONFIGURE_ARGS+= --disable-libaacplus
-.endif
-
-#alsa
-.if ${PORT_OPTIONS:MALSA}
-LIB_DEPENDS+= asound.2:${PORTSDIR}/audio/alsa-lib
-.else
-CONFIGURE_ARGS+= --disable-indev=alsa \
- --disable-outdev=alsa
-.endif
-
-# Opencore AMR NB
-.if ${PORT_OPTIONS:MAMR_NB}
-FFMPEG_LICENSE_GPL3= yes
-LIB_DEPENDS+= opencore-amrnb.0:${PORTSDIR}/audio/opencore-amr
-CONFIGURE_ARGS+= --enable-libopencore-amrnb
-.else
-CONFIGURE_ARGS+= --disable-libopencore-amrnb
-.endif
-
-# Opencore AMR WB
-.if ${PORT_OPTIONS:MAMR_WB}
-FFMPEG_LICENSE_GPL3= yes
-LIB_DEPENDS+= opencore-amrwb.0:${PORTSDIR}/audio/opencore-amr
-CONFIGURE_ARGS+= --enable-libopencore-amrwb
-.else
-CONFIGURE_ARGS+= --disable-libopencore-amrwb
-.endif
-
-# celt
-.if ${PORT_OPTIONS:MCELT}
-LIB_DEPENDS+= celt0.2:${PORTSDIR}/audio/celt
-CONFIGURE_ARGS+= --enable-libcelt
-.else
-CONFIGURE_ARGS+= --disable-libcelt
-.endif
-
-# dirac
-.if ${PORT_OPTIONS:MDIRAC}
-LIB_DEPENDS+= dirac_encoder.1:${PORTSDIR}/multimedia/dirac
-CONFIGURE_ARGS+= --enable-libdirac
-.else
-CONFIGURE_ARGS+= --disable-libdirac
-.endif
-
-# faac
-.if ${PORT_OPTIONS:MFAAC}
-FFMPEG_NONFREE= yes
-LIB_DEPENDS+= faac.0:${PORTSDIR}/audio/faac
-CONFIGURE_ARGS+= --enable-libfaac
-.else
-CONFIGURE_ARGS+= --disable-libfaac
-.endif
-
# ffserver
.if ${PORT_OPTIONS:MFFSERVER}
PLIST_SUB+= FFSERVER=""
-.else
-PLIST_SUB+= FFSERVER="@comment "
-CONFIGURE_ARGS+= --disable-ffserver
-.endif
-
-# freetype
-.if ${PORT_OPTIONS:MFREETYPE}
-LIB_DEPENDS+= freetype.9:${PORTSDIR}/print/freetype2
-CONFIGURE_ARGS+= --enable-libfreetype
-.else
-CONFIGURE_ARGS+= --disable-libfreetype
-.endif
-
-# frei0r
-.if ${PORT_OPTIONS:MFREI0R}
-BUILD_DEPENDS+= ${LOCALBASE}/include/frei0r.h:${PORTSDIR}/graphics/frei0r
-CONFIGURE_ARGS+= --enable-frei0r
-.else
-CONFIGURE_ARGS+= --disable-frei0r
-.endif
-
-# gsm
-.if ${PORT_OPTIONS:MGSM}
-LIB_DEPENDS+= gsm.1:${PORTSDIR}/audio/gsm
-CONFIGURE_ARGS+= --enable-libgsm
-.else
-CONFIGURE_ARGS+= --disable-libgsm
-.endif
-
-# mp3
-.if ${PORT_OPTIONS:MLAME}
-LIB_DEPENDS+= mp3lame.0:${PORTSDIR}/audio/lame
-CONFIGURE_ARGS+= --enable-libmp3lame
-.else
-CONFIGURE_ARGS+= --disable-libmp3lame
-.endif
-
-# opencv
-.if ${PORT_OPTIONS:MOPENCV}
-LIB_DEPENDS+= opencv_imgproc.2:${PORTSDIR}/graphics/opencv-core
-CONFIGURE_ARGS+= --enable-libopencv
-.else
-CONFIGURE_ARGS+= --disable-libopencv
-.endif
-
-# openjpeg
-.if ${PORT_OPTIONS:MOPENJPEG}
-LIB_DEPENDS+= openjpeg.2:${PORTSDIR}/graphics/openjpeg
-CONFIGURE_ARGS+= --enable-libopenjpeg
-.else
-CONFIGURE_ARGS+= --disable-libopenjpeg
-.endif
-
-# rtmp
-.if ${PORT_OPTIONS:MRTMP}
-LIB_DEPENDS+= rtmp.0:${PORTSDIR}/multimedia/rtmpdump
-CONFIGURE_ARGS+= --enable-librtmp
-. if ${OPENSSLBASE} != "/usr"
-FFMPEG_CFLAGS+= -I${OPENSSLINC}
-FFMPEG_LDFLAGS+= -L${OPENSSLLIB}
+PLIST_FILES+= man/man1/ffserver.1.gz
+FFPROGS+= ffserver
+. if ${PORT_OPTIONS:MDOCS}
+DOC_DOCFILES+= ffserver.html
. endif
.else
-CONFIGURE_ARGS+= --disable-librtmp
-.endif
-
-# schroedinger
-.if ${PORT_OPTIONS:MSCHROEDINGER}
-LIB_DEPENDS+= schroedinger-1.0.11:${PORTSDIR}/multimedia/schroedinger
-CONFIGURE_ARGS+= --enable-libschroedinger
-.else
-CONFIGURE_ARGS+= --disable-libschroedinger
+PLIST_SUB+= FFSERVER="@comment "
.endif
# sdl
.if ${PORT_OPTIONS:MSDL}
USE_SDL+= sdl
PLIST_FILES+= bin/ffplay man/man1/ffplay.1.gz
-.else
-CONFIGURE_ARGS+= --disable-ffplay
-.endif
-
-# speex
-.if ${PORT_OPTIONS:MSPEEX}
-LIB_DEPENDS+= speex.1:${PORTSDIR}/audio/speex
-CONFIGURE_ARGS+= --enable-libspeex
-.else
-CONFIGURE_ARGS+= --disable-libspeex
-.endif
-
-# theora
-.if ${PORT_OPTIONS:MTHEORA}
-LIB_DEPENDS+= theora.0:${PORTSDIR}/multimedia/libtheora
-CONFIGURE_ARGS+= --enable-libtheora
-.else
-CONFIGURE_ARGS+= --disable-libtheora
+FFPROGS+= ffplay
+.if ${PORT_OPTIONS:MDOCS}
+DOC_DOCFILES+= ffplay.html
.endif
-
-# vaapi
-.if ${PORT_OPTIONS:MVAAPI}
-FFMPEG_LICENSE_GPL3= yes
-LIB_DEPENDS+= va.1:${PORTSDIR}/multimedia/libva
-CONFIGURE_ARGS+= --enable-vaapi
.else
-CONFIGURE_ARGS+= --disable-vaapi
-.endif
-
-# vdpau
-.if ${PORT_OPTIONS:MVDPAU}
-BUILD_DEPENDS+= ${LOCALBASE}/include/vdpau/vdpau.h:${PORTSDIR}/multimedia/libvdpau
-CONFIGURE_ARGS+= --enable-vdpau
-.else
-CONFIGURE_ARGS+= --disable-vdpau
-.endif
-
-# vo-aacenc
-.if ${PORT_OPTIONS:MVO_AACENC}
-FFMPEG_LICENSE_GPL3= yes
-LIB_DEPENDS+= vo-aacenc.0:${PORTSDIR}/audio/vo-aacenc
-CONFIGURE_ARGS+= --enable-libvo-aacenc
-.else
-CONFIGURE_ARGS+= --disable-libvo-aacenc
-.endif
-
-# vo-amrwbenc
-.if ${PORT_OPTIONS:MVO_AMRWBENC}
-FFMPEG_LICENSE_GPL3= yes
-LIB_DEPENDS+= vo-amrwbenc.0:${PORTSDIR}/audio/vo-amrwbenc
-CONFIGURE_ARGS+= --enable-libvo-amrwbenc
-.else
-CONFIGURE_ARGS+= --disable-libvo-amrwbenc
+CONFIGURE_ARGS+= --disable-ffplay
.endif
# vorbis
.if ${PORT_OPTIONS:MVORBIS}
-LIB_DEPENDS+= vorbisenc.2:${PORTSDIR}/audio/libvorbis
-CONFIGURE_ARGS+= --enable-libvorbis
FFMPEG_CFLAGS+= -I${LOCALBASE}/include/vorbis
-.else
-CONFIGURE_ARGS+= --disable-libvorbis
-.endif
-
-# vp8
-.if ${PORT_OPTIONS:MVPX}
-LIB_DEPENDS+= vpx.1:${PORTSDIR}/multimedia/libvpx
-CONFIGURE_ARGS+= --enable-libvpx
-.else
-CONFIGURE_ARGS+= --disable-libvpx
-.endif
-
-# x264
-.if ${PORT_OPTIONS:MX264}
-LIB_DEPENDS+= x264:${PORTSDIR}/multimedia/x264
-CONFIGURE_ARGS+= --enable-libx264
-.else
-CONFIGURE_ARGS+= --disable-libx264
-.endif
-
-# xvid
-.if ${PORT_OPTIONS:MXVID}
-LIB_DEPENDS+= xvidcore.4:${PORTSDIR}/multimedia/xvid
-CONFIGURE_ARGS+= --enable-libxvid
-.else
-CONFIGURE_ARGS+= --disable-libxvid
.endif
# License knobs
@@ -377,16 +319,16 @@ CONFIGURE_ARGS+= --enable-nonfree
.endif
.if defined(FFMPEG_LICENSE_GPL3)
-LICENSE+= GPLv3 LGPL3
+CONFIGURE_ARGS+= --enable-version3
+LICENSE= GPLv3 LGPL3
LICENSE_FILE_GPLv3= ${WRKSRC}/COPYING.GPLv3
LICENSE_FILE_LGPL3= ${WRKSRC}/COPYING.LGPLv3
-CONFIGURE_ARGS+= --enable-version3
.endif
post-patch:
# {C,LD}FLAGS safeness
@${REINPLACE_CMD} -e 's|$$(LIBDIR)/pkgconfig|$$(DESTDIR)$$(prefix)/libdata/pkgconfig|' \
- ${WRKSRC}/subdir.mak
+ ${WRKSRC}/library.mak
@${REINPLACE_CMD} -e 's|/etc/ffserver.conf|${PREFIX}/etc/ffserver.conf|' \
${WRKSRC}/ffserver.c
@${REINPLACE_CMD} -E \
@@ -395,12 +337,12 @@ post-patch:
s|-pthread|${PTHREAD_LIBS}|g; \
s|gsm/gsm.h|gsm.h|g" \
${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
- @${REINPLACE_CMD} -e 's|-ldl||; s|$$(LIBMAJOR)|${SHLIB_VER}|g;' \
+ @${REINPLACE_CMD} -e 's|-ldl||' \
-e 's|opencv opencv/cxcore.h|opencv-core opencv2/core/core_c.h|g' \
${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
@${REINPLACE_CMD} -e 's|/usr/bin/perl|${PERL5}|g' \
${WRKSRC}/doc/texi2pod.pl
-.if ${PORT_OPTIONS:MDSL}
+.if ${PORT_OPTIONS:MSDL}
@${REINPLACE_CMD} -E \
-e 's|sdl-config|${SDL_CONFIG}|g' \
${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
@@ -417,8 +359,13 @@ post-configure:
.endif
post-install:
+.for PROG in ${FFPROGS}
+ @${MKDIR} ${STAGEDIR}${MAN1PREFIX}/man/man1
+ ${INSTALL_MAN} ${WRKSRC}/doc/${PROG}.1 ${STAGEDIR}${MAN1PREFIX}/man/man1/${PROG}.1
+.endfor
.if ${PORT_OPTIONS:MFFSERVER}
- ${INSTALL_DATA} ${WRKSRC}/doc/ffserver.conf ${STAGEDIR}${PREFIX}/etc/ffserver.conf-dist
+ ${INSTALL_DATA} ${WRKSRC}/doc/ffserver.conf \
+ ${STAGEDIR}${PREFIX}/etc/ffserver.conf-dist
.endif
@${MKDIR} ${STAGEDIR}${DOCSDIR}
.for FILE in ${DOC_FILES}
@@ -427,12 +374,5 @@ post-install:
.for FILE in ${DOC_DOCFILES}
${INSTALL_DATA} ${WRKSRC}/doc/${FILE} ${STAGEDIR}${DOCSDIR}
.endfor
- @${MKDIR} ${STAGEDIR}${PREFIX}/include/ffmpeg
-.for FILE in ${COMPAT_HEADERS}
- ${LN} -sf ../${FILE} ${STAGEDIR}${PREFIX}/include/ffmpeg/${FILE:C,^[^/]+/([^/]+).*,\1,}
-.endfor
- @${MKDIR} ${STAGEDIR}${PREFIX}/include/postproc
- ${LN} -sf ../libpostproc/postprocess.h \
- ${STAGEDIR}${PREFIX}/include/postproc/postprocess.h
.include <bsd.port.post.mk>
diff --git a/multimedia/ffmpeg/distinfo b/multimedia/ffmpeg/distinfo
index 600a5b12f994..a82fa0b63503 100644
--- a/multimedia/ffmpeg/distinfo
+++ b/multimedia/ffmpeg/distinfo
@@ -1,2 +1,2 @@
-SHA256 (ffmpeg-0.7.15.tar.bz2) = c5145aab922076b9986168214c9bd607f4664644f14f9074499fc52a039fcfd9
-SIZE (ffmpeg-0.7.15.tar.bz2) = 4528584
+SHA256 (ffmpeg-2.0.1.tar.bz2) = 611eae7e3485d5fd9ff03e0ac7575ea89bc8105e40e99a40de02324957482f95
+SIZE (ffmpeg-2.0.1.tar.bz2) = 6187933
diff --git a/multimedia/ffmpeg/files/patch-Makefile b/multimedia/ffmpeg/files/patch-Makefile
new file mode 100644
index 000000000000..ccbef27e5dd8
--- /dev/null
+++ b/multimedia/ffmpeg/files/patch-Makefile
@@ -0,0 +1,11 @@
+--- Makefile.orig 2012-05-04 12:24:34.447846798 +0200
++++ Makefile 2012-05-04 12:24:42.471850113 +0200
+@@ -79,7 +79,7 @@
+ $(foreach V,$(SUBDIR_VARS),$(eval $(call RESET,$(V))))
+ SUBDIR := $(1)/
+ include $(SRC_PATH)/$(1)/Makefile
+--include $(SRC_PATH)/$(1)/$(ARCH)/Makefile
++-include $(SRC_PATH)/$(1)/$(FFMPEG_ARCH)/Makefile
+ include $(SRC_PATH)/library.mak
+ endef
+
diff --git a/multimedia/ffmpeg/files/patch-configure b/multimedia/ffmpeg/files/patch-configure
index 5e0f7e987e47..e827011a9af8 100644
--- a/multimedia/ffmpeg/files/patch-configure
+++ b/multimedia/ffmpeg/files/patch-configure
@@ -1,7 +1,7 @@
---- configure.orig 2011-06-21 21:29:25.000000000 +0200
-+++ configure 2011-06-23 13:36:46.099381871 +0200
-@@ -1657,7 +1657,7 @@
- nm_opts='-g'
+--- configure.orig
++++ configure
+@@ -2147,7 +2147,7 @@ yasmexe_default="yasm"
+ nogas=":"
# machine
-arch_default=$(uname -m)
@@ -9,23 +9,49 @@
cpu="generic"
# OS
-@@ -2966,8 +2966,8 @@
- texi2html -version > /dev/null 2>&1 && enable texi2html || disable texi2html
+@@ -3991,10 +3991,10 @@ perl --version > /dev/null 2>&1 && enabl
+ pod2man --help > /dev/null 2>&1 && enable pod2man || disable pod2man
+ rsync --help 2> /dev/null | grep -q 'contimeout' && enable rsync_contimeout || disable rsync_contimeout
- check_header linux/fb.h
+-check_header linux/fb.h
-check_header linux/videodev.h
-check_header linux/videodev2.h
+-check_code cc linux/videodev2.h "struct v4l2_frmsizeenum vfse; vfse.discrete.width = 0;" && enable_safe struct_v4l2_frmivalenum_discrete
++#check_header linux/fb.h
+#check_header linux/videodev.h
+#check_header linux/videodev2.h
++#check_code cc linux/videodev2.h "struct v4l2_frmsizeenum vfse; vfse.discrete.width = 0;" && enable_safe struct_v4l2_frmivalenum_discrete
+
check_header sys/videoio.h
- check_func_headers "windows.h vfw.h" capCreateCaptureWindow "$vfwcap_indev_extralibs"
-@@ -3322,7 +3322,7 @@
- SRC_PATH="$source_path"
- SRC_PATH_BARE=$source_path
+@@ -4373,7 +4373,7 @@ ifndef MAIN_MAKEFILE
+ SRC_PATH:=\$(SRC_PATH:.%=..%)
+ endif
CC_IDENT=$cc_ident
-ARCH=$arch
+FFMPEG_ARCH=$arch
CC=$cc
+ CXX=$cxx
AS=$as
- LD=$ld
+@@ -4555,7 +4555,7 @@ exec_prefix=\${prefix}
+ libdir=$libdir
+ includedir=$incdir
+
+-Name: $name
++Name: ${name}${build_suffix}
+ Description: $comment
+ Version: $version
+ Requires: $(enabled shared || echo $requires)
+@@ -4569,10 +4569,10 @@ EOF
+ mkdir -p doc/examples/pc-uninstalled
+ includedir=${source_path}
+ [ "$includedir" = . ] && includedir="\${pcfiledir}/../../.."
+- cat <<EOF > doc/examples/pc-uninstalled/$name.pc
++ cat <<EOF > doc/examples/pc-uninstalled/${name}${build_suffix}.pc
+ prefix=
+ exec_prefix=
+-libdir=\${pcfiledir}/../../../$name
++libdir=\${pcfiledir}/../../../${name}${build_suffix}
+ includedir=${includedir}
+
+ Name: $name
diff --git a/multimedia/ffmpeg/files/patch-doc-Makefile b/multimedia/ffmpeg/files/patch-doc-Makefile
new file mode 100644
index 000000000000..4b702775a360
--- /dev/null
+++ b/multimedia/ffmpeg/files/patch-doc-Makefile
@@ -0,0 +1,11 @@
+--- doc/Makefile.orig 2012-09-28 03:37:35.000000000 +0200
++++ doc/Makefile 2012-10-12 21:36:56.461440175 +0200
+@@ -57,7 +57,7 @@
+ install-man:
+
+ ifdef CONFIG_MANPAGES
+-install-progs-$(CONFIG_DOC): install-man
++#install-progs-$(CONFIG_DOC): install-man
+
+ install-man: $(MANPAGES)
+ $(Q)mkdir -p "$(MANDIR)/man1"
diff --git a/multimedia/ffmpeg/files/patch-doc-protocols.texi b/multimedia/ffmpeg/files/patch-doc-protocols.texi
deleted file mode 100644
index 1e078d04a96f..000000000000
--- a/multimedia/ffmpeg/files/patch-doc-protocols.texi
+++ /dev/null
@@ -1,13 +0,0 @@
---- doc/protocols.texi.orig 2013-02-17 14:46:23.000000000 -0800
-+++ doc/protocols.texi 2013-10-08 12:00:38.375693236 -0700
-@@ -155,8 +155,8 @@
-
- Real-Time Messaging Protocol.
-
--The Real-Time Messaging Protocol (RTMP) is used for streaming multime‐
--dia content across a TCP/IP network.
-+The Real-Time Messaging Protocol (RTMP) is used for streaming multimedia
-+content across a TCP/IP network.
-
- The required syntax is:
- @example
diff --git a/multimedia/ffmpeg/files/patch-libavcodec-Makefile b/multimedia/ffmpeg/files/patch-libavcodec-Makefile
index bfc359cff690..0e64d96791f5 100644
--- a/multimedia/ffmpeg/files/patch-libavcodec-Makefile
+++ b/multimedia/ffmpeg/files/patch-libavcodec-Makefile
@@ -1,11 +1,11 @@
---- libavcodec/Makefile.orig 2010-08-01 20:33:53.484907333 +0200
-+++ libavcodec/Makefile 2010-08-01 20:34:26.190893400 +0200
-@@ -590,7 +590,7 @@
+--- libavcodec/Makefile.orig 2012-08-06 10:06:26.000000000 +0200
++++ libavcodec/Makefile 2012-08-06 10:36:33.478505808 +0200
+@@ -793,7 +793,7 @@
+ codec_names.h \
+ fft-internal.h \
+ tableprint.h \
+- $(ARCH)/vp56_arith.h \
++ $(FFMPEG_ARCH)/vp56_arith.h \
- OBJS-$(CONFIG_MLIB) += mlib/dsputil_mlib.o \
-
---include $(SUBDIR)$(ARCH)/Makefile
-+-include $(SUBDIR)$(FFMPEG_ARCH)/Makefile
-
- SKIPHEADERS = %_tablegen.h
SKIPHEADERS-$(CONFIG_DXVA2) += dxva2.h dxva2_internal.h
+ SKIPHEADERS-$(CONFIG_LIBSCHROEDINGER) += libschroedinger.h
diff --git a/multimedia/ffmpeg/files/patch-libavcodec-libgsm.c b/multimedia/ffmpeg/files/patch-libavcodec-libgsm.c
deleted file mode 100644
index 62f52c8206fe..000000000000
--- a/multimedia/ffmpeg/files/patch-libavcodec-libgsm.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- libavcodec/libgsm.c.orig 2010-07-21 10:24:16.297810379 +0200
-+++ libavcodec/libgsm.c 2010-07-21 10:24:22.915234561 +0200
-@@ -28,7 +28,7 @@
- // The idiosyncrasies of GSM-in-WAV are explained at http://kbs.cs.tu-berlin.de/~jutta/toast.html
-
- #include "avcodec.h"
--#include <gsm/gsm.h>
-+#include <gsm.h>
-
- // gsm.h misses some essential constants
- #define GSM_BLOCK_SIZE 33
diff --git a/multimedia/ffmpeg/files/patch-libavdevice-bktr.c b/multimedia/ffmpeg/files/patch-libavdevice-bktr.c
index 541775966313..c64d1826eb91 100644
--- a/multimedia/ffmpeg/files/patch-libavdevice-bktr.c
+++ b/multimedia/ffmpeg/files/patch-libavdevice-bktr.c
@@ -1,14 +1,14 @@
---- libavdevice/bktr.c.orig 2011-06-21 21:29:25.000000000 +0200
-+++ libavdevice/bktr.c 2011-06-23 13:39:44.160881669 +0200
+--- libavdevice/bktr.c.orig 2012-01-22 14:41:15.000000000 +0100
++++ libavdevice/bktr.c 2012-01-22 16:07:07.873280412 +0100
@@ -24,6 +24,11 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-+typedef unsigned char u_char;
-+typedef unsigned short u_short;
-+typedef unsigned int u_int;
-+typedef unsigned long u_long;
++typedef unsigned char u_char;
++typedef unsigned short u_short;
++typedef unsigned int u_int;
++typedef unsigned long u_long;
+
+ #include "libavformat/internal.h"
#include "libavutil/log.h"
#include "libavutil/opt.h"
- #include "libavutil/parseutils.h"
diff --git a/multimedia/ffmpeg/files/patch-libavfilter-Makefile b/multimedia/ffmpeg/files/patch-libavfilter-Makefile
deleted file mode 100644
index be35a25555cf..000000000000
--- a/multimedia/ffmpeg/files/patch-libavfilter-Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
---- libavfilter/Makefile.orig 2011-06-23 16:22:46.163337772 +0200
-+++ libavfilter/Makefile 2011-06-23 16:22:53.731245405 +0200
-@@ -136,7 +136,7 @@
- OBJS-$(CONFIG_MP_FILTER) += libmpcodecs/pullup.o
-
-
---include $(SUBDIR)$(ARCH)/Makefile
-+-include $(SUBDIR)$(FFMPEG_ARCH)/Makefile
-
- DIRS = x86 libmpcodecs
-
diff --git a/multimedia/ffmpeg/files/patch-libavfilter-vf_libopencv.c b/multimedia/ffmpeg/files/patch-libavfilter-vf_libopencv.c
index 28cccd3cb5bf..ded99fa94ac4 100644
--- a/multimedia/ffmpeg/files/patch-libavfilter-vf_libopencv.c
+++ b/multimedia/ffmpeg/files/patch-libavfilter-vf_libopencv.c
@@ -1,5 +1,5 @@
---- libavfilter/vf_libopencv.c.orig 2011-06-27 21:27:01.521012341 +0200
-+++ libavfilter/vf_libopencv.c 2011-06-27 21:27:16.839540294 +0200
+--- libavfilter/vf_libopencv.c.orig 2012-08-05 14:09:37.882506740 +0200
++++ libavfilter/vf_libopencv.c 2012-08-05 14:10:24.508510133 +0200
@@ -25,8 +25,7 @@
/* #define DEBUG */
diff --git a/multimedia/ffmpeg/files/patch-libavutil-common.h b/multimedia/ffmpeg/files/patch-libavutil-common.h
index 9bb629bc0ab8..e4a38622d92e 100644
--- a/multimedia/ffmpeg/files/patch-libavutil-common.h
+++ b/multimedia/ffmpeg/files/patch-libavutil-common.h
@@ -1,11 +1,11 @@
---- libavutil/common.h.orig 2010-04-26 23:01:38.000000000 +0200
-+++ libavutil/common.h 2010-07-10 16:06:27.038027901 +0200
+--- libavutil/common.h.orig 2010-07-07 19:27:45.000000000 +0200
++++ libavutil/common.h 2010-08-01 22:27:42.964629491 +0200
@@ -36,6 +36,10 @@
#include <string.h>
#include "attributes.h"
+#ifndef UINT64_C
-+#define UINT64_C(c) (c ## UL)
++#define UINT64_C(c) (c ## UL)
+#endif
+
//rounded division & shift
diff --git a/multimedia/ffmpeg/pkg-descr b/multimedia/ffmpeg/pkg-descr
index a57c13b8945e..75f1916e4e02 100644
--- a/multimedia/ffmpeg/pkg-descr
+++ b/multimedia/ffmpeg/pkg-descr
@@ -1,24 +1,7 @@
-[ excerpt (with adaptations) from developer's README ]
-ffmpeg is a hyper fast realtime audio/video encoder, a streaming
-server and a generic audio and video file converter.
+FFmpeg is a complete, cross-platform solution to record, convert and stream
+audio and video. It includes libavcodec - the leading audio/video codec
+library.
-It can convert a standard video source into several file formats
-based on DCT/motion compensation encoding. Sound is compressed in
-MPEG audio layer 2 or using an AC3 compatible stream.
+This version is from the 2.0 release branch.
-What makes ffmpeg interesting ?
-- Simple and efficient video encoder: outputs MPEG1, H263, Real
- Video(tm), MPEG4, DIVX and MJPEG compatible bitstreams using the
- same encoder core.
-- Hyper fast MPEG audio layer 2 compression (50 times faster than
- realtime on a K6 500).
-[snip -> rest on website below]
-
-ffmpeg is made of two programs:
-* ffmpeg: soft VCR which encodes in real time to several formats.
- It can also encode from any supported input file format to any
- input supported format.
-* ffserver: high performance live broadcast streaming server based
- on the ffmpeg core encoders.
-
-WWW: http://ffmpeg.mplayerhq.hu/
+WWW: http://ffmpeg.org/
diff --git a/multimedia/ffmpeg/pkg-plist b/multimedia/ffmpeg/pkg-plist
index 7bf6c60c7f47..b0375cbaee9e 100644
--- a/multimedia/ffmpeg/pkg-plist
+++ b/multimedia/ffmpeg/pkg-plist
@@ -4,68 +4,56 @@ bin/ffprobe
%%FFSERVER%%@unexec if cmp -s %D/etc/ffserver.conf %D/etc/ffserver.conf-dist; then rm -f %D/etc/ffserver.conf; fi
%%FFSERVER%%etc/ffserver.conf-dist
%%FFSERVER%%@exec [ -f %B/ffserver.conf ] || cp %B/%f %B/ffserver.conf
-include/ffmpeg/adler32.h
-include/ffmpeg/avcodec.h
-include/ffmpeg/avdevice.h
-include/ffmpeg/avfilter.h
-include/ffmpeg/avformat.h
-include/ffmpeg/avio.h
-include/ffmpeg/avstring.h
-include/ffmpeg/avutil.h
-include/ffmpeg/base64.h
-include/ffmpeg/common.h
-include/ffmpeg/crc.h
-include/ffmpeg/fifo.h
-include/ffmpeg/intfloat_readwrite.h
-include/ffmpeg/log.h
-include/ffmpeg/lzo.h
-include/ffmpeg/mathematics.h
-include/ffmpeg/md5.h
-include/ffmpeg/mem.h
-include/ffmpeg/opt.h
-include/ffmpeg/pixfmt.h
-include/ffmpeg/postprocess.h
-include/ffmpeg/rational.h
-include/ffmpeg/sha1.h
-include/ffmpeg/swscale.h
-include/ffmpeg/vdpau.h
-include/ffmpeg/xvmc.h
include/libavcodec/avcodec.h
include/libavcodec/avfft.h
include/libavcodec/dxva2.h
-include/libavcodec/opt.h
+include/libavcodec/old_codec_ids.h
include/libavcodec/vaapi.h
+include/libavcodec/vda.h
include/libavcodec/vdpau.h
include/libavcodec/version.h
include/libavcodec/xvmc.h
include/libavdevice/avdevice.h
+include/libavdevice/version.h
+include/libavfilter/asrc_abuffer.h
include/libavfilter/avcodec.h
include/libavfilter/avfilter.h
include/libavfilter/avfiltergraph.h
-include/libavfilter/vsink_buffer.h
-include/libavfilter/vsrc_buffer.h
+include/libavfilter/buffersink.h
+include/libavfilter/buffersrc.h
+include/libavfilter/version.h
include/libavformat/avformat.h
include/libavformat/avio.h
include/libavformat/version.h
+include/libavresample/avresample.h
+include/libavresample/version.h
include/libavutil/adler32.h
include/libavutil/aes.h
include/libavutil/attributes.h
+include/libavutil/audio_fifo.h
include/libavutil/audioconvert.h
include/libavutil/avassert.h
include/libavutil/avconfig.h
include/libavutil/avstring.h
include/libavutil/avutil.h
include/libavutil/base64.h
+include/libavutil/blowfish.h
+include/libavutil/bprint.h
include/libavutil/bswap.h
+include/libavutil/buffer.h
+include/libavutil/channel_layout.h
include/libavutil/common.h
-include/libavutil/crc.h
include/libavutil/cpu.h
+include/libavutil/crc.h
include/libavutil/dict.h
include/libavutil/error.h
include/libavutil/eval.h
include/libavutil/fifo.h
include/libavutil/file.h
+include/libavutil/frame.h
+include/libavutil/hmac.h
include/libavutil/imgutils.h
+include/libavutil/intfloat.h
include/libavutil/intfloat_readwrite.h
include/libavutil/intreadwrite.h
include/libavutil/lfg.h
@@ -74,77 +62,102 @@ include/libavutil/lzo.h
include/libavutil/mathematics.h
include/libavutil/md5.h
include/libavutil/mem.h
+include/libavutil/murmur3.h
+include/libavutil/old_pix_fmts.h
include/libavutil/opt.h
include/libavutil/parseutils.h
include/libavutil/pixdesc.h
include/libavutil/pixfmt.h
include/libavutil/random_seed.h
include/libavutil/rational.h
+include/libavutil/ripemd.h
include/libavutil/samplefmt.h
include/libavutil/sha.h
-include/libavutil/sha1.h
+include/libavutil/sha512.h
+include/libavutil/time.h
+include/libavutil/timecode.h
+include/libavutil/timestamp.h
+include/libavutil/version.h
+include/libavutil/xtea.h
include/libpostproc/postprocess.h
-include/postproc/postprocess.h
+include/libpostproc/version.h
+include/libswresample/swresample.h
+include/libswresample/version.h
include/libswscale/swscale.h
+include/libswscale/version.h
lib/libavcodec.a
lib/libavcodec.so
-lib/libavcodec.so.1
-lib/libavcodec.so.52.123.0
+lib/libavcodec.so.55
+lib/libavcodec.so.55.18.102
lib/libavdevice.a
lib/libavdevice.so
-lib/libavdevice.so.1
-lib/libavdevice.so.52.5.0
+lib/libavdevice.so.55
+lib/libavdevice.so.55.3.100
lib/libavfilter.a
lib/libavfilter.so
-lib/libavfilter.so.1.80.0
-lib/libavfilter.so.1
+lib/libavfilter.so.3
+lib/libavfilter.so.3.79.101
lib/libavformat.a
lib/libavformat.so
-lib/libavformat.so.1
-lib/libavformat.so.52.111.0
+lib/libavformat.so.55
+lib/libavformat.so.55.12.100
+lib/libavresample.a
+lib/libavresample.so
+lib/libavresample.so.1
+lib/libavresample.so.1.1.0
lib/libavutil.a
lib/libavutil.so
-lib/libavutil.so.1
-lib/libavutil.so.50.43.0
+lib/libavutil.so.52
+lib/libavutil.so.52.38.100
lib/libpostproc.a
lib/libpostproc.so
-lib/libpostproc.so.1
-lib/libpostproc.so.51.2.0
+lib/libpostproc.so.52
+lib/libpostproc.so.52.3.100
+lib/libswresample.a
+lib/libswresample.so
+lib/libswresample.so.0
+lib/libswresample.so.0.17.102
lib/libswscale.a
lib/libswscale.so
-lib/libswscale.so.0.14.1
-lib/libswscale.so.1
+lib/libswscale.so.2
+lib/libswscale.so.2.3.100
libdata/pkgconfig/libavcodec.pc
libdata/pkgconfig/libavdevice.pc
libdata/pkgconfig/libavfilter.pc
libdata/pkgconfig/libavformat.pc
+libdata/pkgconfig/libavresample.pc
libdata/pkgconfig/libavutil.pc
libdata/pkgconfig/libpostproc.pc
+libdata/pkgconfig/libswresample.pc
libdata/pkgconfig/libswscale.pc
man/man1/ffmpeg.1.gz
man/man1/ffprobe.1.gz
-%%FFSERVER%%man/man1/ffserver.1.gz
+%%DATADIR%%/examples/Makefile
+%%DATADIR%%/examples/README
+%%DATADIR%%/examples/decoding_encoding.c
+%%DATADIR%%/examples/demuxing.c
+%%DATADIR%%/examples/filtering_audio.c
+%%DATADIR%%/examples/filtering_video.c
+%%DATADIR%%/examples/metadata.c
+%%DATADIR%%/examples/muxing.c
+%%DATADIR%%/examples/resampling_audio.c
+%%DATADIR%%/examples/scaling_video.c
+%%DATADIR%%/ffprobe.xsd
+%%DATADIR%%/libvpx-1080p.ffpreset
+%%DATADIR%%/libvpx-1080p50_60.ffpreset
%%DATADIR%%/libvpx-360p.ffpreset
%%DATADIR%%/libvpx-720p.ffpreset
%%DATADIR%%/libvpx-720p50_60.ffpreset
-%%DATADIR%%/libvpx-1080p.ffpreset
-%%DATADIR%%/libvpx-1080p50_60.ffpreset
-%%DATADIR%%/libx264-baseline.ffpreset
%%DATADIR%%/libx264-ipod320.ffpreset
%%DATADIR%%/libx264-ipod640.ffpreset
-%%DATADIR%%/libx264-lossless_fast.ffpreset
-%%DATADIR%%/libx264-lossless_max.ffpreset
-%%DATADIR%%/libx264-lossless_medium.ffpreset
-%%DATADIR%%/libx264-lossless_slow.ffpreset
-%%DATADIR%%/libx264-lossless_slower.ffpreset
-%%DATADIR%%/libx264-lossless_ultrafast.ffpreset
+@dirrm %%DATADIR%%/examples
@dirrm %%DATADIR%%
-@dirrm include/postproc
@dirrm include/libswscale
+@dirrm include/libswresample
@dirrm include/libpostproc
@dirrm include/libavutil
+@dirrm include/libavresample
@dirrm include/libavformat
@dirrm include/libavfilter
@dirrm include/libavdevice
@dirrm include/libavcodec
-@dirrm include/ffmpeg
diff --git a/multimedia/kino/Makefile b/multimedia/kino/Makefile
index be1cc988ad96..5cd621419164 100644
--- a/multimedia/kino/Makefile
+++ b/multimedia/kino/Makefile
@@ -51,7 +51,7 @@ PLIST_SUB+= FFMPEG_KINO=""
.else
CONFIGURE_ARGS+= --disable-local-ffmpeg
PLIST_SUB+= FFMPEG_KINO="@comment "
-LIB_DEPENDS+= avcodec.1:${PORTSDIR}/multimedia/ffmpeg
+LIB_DEPENDS+= libavcodec.so:${PORTSDIR}/multimedia/ffmpeg
.endif
.include <bsd.port.mk>
diff --git a/multimedia/kino/files/patch-libav7 b/multimedia/kino/files/patch-libav7
new file mode 100644
index 000000000000..d7ebbdcd562b
--- /dev/null
+++ b/multimedia/kino/files/patch-libav7
@@ -0,0 +1,60 @@
+--- src/frame.cc.orig 2011-07-17 14:54:59.089481638 +0200
++++ src/frame.cc 2011-07-17 15:09:23.199481714 +0200
+@@ -1063,7 +1063,12 @@
+ AVPicture dest;
+ int got_picture;
+
+- avcodec_decode_video( libavcodec, frame, &got_picture, data, GetFrameSize() );
++ AVPacket pkt;
++ av_init_packet(&pkt);
++ pkt.data = data;
++ pkt.size = GetFrameSize();
++
++ avcodec_decode_video2( libavcodec, frame, &got_picture, &pkt );
+ if ( got_picture )
+ {
+ avpicture_fill( &dest, static_cast<uint8_t*>( rgb ), PIX_FMT_RGB24, GetWidth(), GetHeight() );
+@@ -1123,7 +1128,12 @@
+ AVPicture output;
+ int got_picture;
+
+- avcodec_decode_video( libavcodec, frame, &got_picture, data, GetFrameSize() );
++ AVPacket pkt;
++ av_init_packet(&pkt);
++ pkt.data = data;
++ pkt.size = GetFrameSize();
++
++ avcodec_decode_video2( libavcodec, frame, &got_picture, &pkt );
+ if ( got_picture )
+ {
+ avpicture_fill( &output, static_cast<uint8_t*>( yuv ), PIX_FMT_YUV422, GetWidth(), GetHeight() );
+@@ -1156,7 +1166,12 @@
+ AVFrame *frame = avcodec_alloc_frame();
+ int got_picture;
+
+- avcodec_decode_video( libavcodec, frame, &got_picture, data, GetFrameSize() );
++ AVPacket pkt;
++ av_init_packet(&pkt);
++ pkt.data = data;
++ pkt.size = GetFrameSize();
++
++ avcodec_decode_video2( libavcodec, frame, &got_picture, &pkt );
+
+ int width = GetWidth(), height = GetHeight();
+
+@@ -1319,12 +1334,12 @@
+ #if defined(HAVE_LIBAVCODEC)
+ if ( avformatEncoder == NULL )
+ {
+- avformatEncoder = av_alloc_format_context();
++ avformatEncoder = avformat_alloc_context();
+ if ( avformatEncoder )
+ {
+- avformatEncoder->oformat = guess_format( "dv", NULL, NULL );
++ avformatEncoder->oformat = av_guess_format( "dv", NULL, NULL );
+ AVStream* vst = av_new_stream( avformatEncoder, 0 );
+- vst->codec->codec_type = CODEC_TYPE_VIDEO;
++ vst->codec->codec_type = AVMEDIA_TYPE_VIDEO;
+ vst->codec->codec_id = CODEC_ID_DVVIDEO;
+ vst->codec->bit_rate = 25000000;
+ vst->start_time = 0;
diff --git a/multimedia/kino/files/patch-libav8 b/multimedia/kino/files/patch-libav8
new file mode 100644
index 000000000000..06ae38659e1b
--- /dev/null
+++ b/multimedia/kino/files/patch-libav8
@@ -0,0 +1,57 @@
+--- src/frame.cc.orig 2012-05-14 19:55:42.153772418 -0700
++++ src/frame.cc 2012-05-14 20:28:34.448838653 -0700
+@@ -101,8 +101,9 @@
+ #if defined(HAVE_LIBAVCODEC)
+ pthread_mutex_lock( &avcodec_mutex );
+ av_register_all();
+- libavcodec = avcodec_alloc_context();
+- avcodec_open( libavcodec, avcodec_find_decoder( CODEC_ID_DVVIDEO ) );
++ libavcodec = avcodec_alloc_context3(NULL);
++ avcodec_open2( libavcodec,
++ avcodec_find_decoder( CODEC_ID_DVVIDEO ), NULL );
+ pthread_mutex_unlock( &avcodec_mutex );
+ data = ( unsigned char* ) av_mallocz( 144000 );
+ #if defined(HAVE_SWSCALE)
+@@ -1338,7 +1339,7 @@
+ if ( avformatEncoder )
+ {
+ avformatEncoder->oformat = av_guess_format( "dv", NULL, NULL );
+- AVStream* vst = av_new_stream( avformatEncoder, 0 );
++ AVStream* vst = avformat_new_stream( avformatEncoder, NULL );
+ vst->codec->codec_type = AVMEDIA_TYPE_VIDEO;
+ vst->codec->codec_id = CODEC_ID_DVVIDEO;
+ vst->codec->bit_rate = 25000000;
+@@ -1364,12 +1365,10 @@
+ vst->sample_aspect_ratio = avcodecEncoder->sample_aspect_ratio;
+ #endif
+ avcodecEncoder->thread_count = 2;
+- avcodec_thread_init( avcodecEncoder, avcodecEncoder->thread_count );
+ avcodecEncoder->time_base= isPAL ? ( AVRational ){ 1, 25 } : ( AVRational ){ 1001, 30000 };
+ avcodecEncoder->pix_fmt = isPAL ? PIX_FMT_YUV420P : PIX_FMT_YUV411P;
+ avcodecEncoder->flags |= CODEC_FLAG_INTERLACED_DCT;
+- av_set_parameters( avformatEncoder, NULL );
+- avcodec_open( avcodecEncoder, avcodec_find_encoder( CODEC_ID_DVVIDEO ) );
++ avcodec_open2( avcodecEncoder, avcodec_find_encoder( CODEC_ID_DVVIDEO ), NULL );
+ av_new_packet( &avpacketEncoder, 144000 );
+ tempImage = ( uint8_t* ) av_malloc(
+ avpicture_get_size( avcodecEncoder->pix_fmt, avcodecEncoder->width, avcodecEncoder->height ) );
+@@ -1475,16 +1474,16 @@
+
+ // Encode
+ bytesInFrame = avcodec_encode_video( avcodecEncoder, avpacketEncoder.data, size, output );
+- url_open_buf( &avformatEncoder->pb, data, bytesInFrame, URL_WRONLY );
++ avformatEncoder->pb = avio_alloc_context(data, bytesInFrame, 0, NULL, NULL, NULL, NULL);
+ avpacketEncoder.size = bytesInFrame;
+ if ( !isEncoderHeaderWritten )
+ {
+- av_write_header( avformatEncoder );
++ avformat_write_header( avformatEncoder, NULL );
+ isEncoderHeaderWritten = true;
+ }
+ av_write_frame( avformatEncoder, &avpacketEncoder );
+ #if LIBAVFORMAT_VERSION_INT >= ((52<<16)+(0<<8)+0)
+- url_close_buf( avformatEncoder->pb );
++ avio_close( avformatEncoder->pb );
+ #else
+ url_close_buf( &avformatEncoder->pb );
+ #endif
diff --git a/multimedia/libquicktime/Makefile b/multimedia/libquicktime/Makefile
index c38d5f01313f..42e5b8ebd007 100644
--- a/multimedia/libquicktime/Makefile
+++ b/multimedia/libquicktime/Makefile
@@ -8,18 +8,17 @@ CATEGORIES= multimedia
MASTER_SITES= SF
MAINTAINER= ports@FreeBSD.org
-COMMENT= A library for reading and writing quicktime files
+COMMENT= library for reading and writing quicktime files
.if !defined(_BUILDING_LIBQUICKTIME_PLUGINS)
-LIB_DEPENDS= vorbis.4:${PORTSDIR}/audio/libvorbis
+LIB_DEPENDS= libvorbis.so:${PORTSDIR}/audio/libvorbis
.endif
LICENSE= LGPL21
LICENSE_FILE= ${WRKSRC}/COPYING
USE_LDCONFIG= yes
-USES= pathfix pkgconfig gettext
-USE_GMAKE= yes
+USES= gmake pathfix pkgconfig gettext
USE_AUTOTOOLS= autoconf
CPPFLAGS+= -I${LOCALBASE}/include ${PTHREAD_CFLAGS}
@@ -34,6 +33,7 @@ MAN1= lqtplay.1
OPTIONS_DEFINE= ALSA DV FAAC FAAD FFMPEG GTK2 JPEG OPENGL OPTIMIZED_CFLAGS PNG \
SCHROEDINGER X264 DOCS
OPTIONS_DEFAULT= FFMPEG JPEG OPENGL PNG SCHROEDINGER X264
+OPTIONS_SUB= yes
PORTDOCS= api_usage.html codecs.html qt4l_building.html \
qt4l_codecs.html qt4l_index.html \
@@ -56,14 +56,12 @@ CONFIGURE_ARGS+= --without-cpuflags
.if ${PORT_OPTIONS:MGTK2}
USE_GNOME+= gtk20
CONFIGURE_ARGS+= --with-gtk
-PLIST_SUB+= GTK=""
.else
CONFIGURE_ARGS+= --without-gtk
-PLIST_SUB+= GTK="@comment "
.endif
.if ${PORT_OPTIONS:MALSA}
-LIB_DEPENDS= asound.2:${PORTSDIR}/audio/alsa-lib
+LIB_DEPENDS= libasound.so:${PORTSDIR}/audio/alsa-lib
.else
CONFIGURE_ARGS+= --without-alsa
.endif
@@ -76,73 +74,57 @@ CONFIGURE_ARGS+= --without-opengl
.endif
.if ${PORT_OPTIONS:MDV}
-LIB_DEPENDS+= dv.4:${PORTSDIR}/multimedia/libdv
-PLIST_SUB+= DV=""
+LIB_DEPENDS+= libdv.so:${PORTSDIR}/multimedia/libdv
CONFIGURE_ARGS+= --with-libdv
.else
-PLIST_SUB+= DV="@comment "
CONFIGURE_ARGS+= --without-libdv
.endif
.if ${PORT_OPTIONS:MJPEG}
-LIB_DEPENDS+= jpeg.11:${PORTSDIR}/graphics/jpeg
-PLIST_SUB+= JPEG=""
+LIB_DEPENDS+= libjpeg.so:${PORTSDIR}/graphics/jpeg
CONFIGURE_ARGS+= --with-libjpeg
.else
-PLIST_SUB+= JPEG="@comment "
CONFIGURE_ARGS+= --without-libjpeg
.endif
.if ${PORT_OPTIONS:MPNG}
-LIB_DEPENDS+= png15:${PORTSDIR}/graphics/png
-PLIST_SUB+= PNG=""
+LIB_DEPENDS+= libpng15.so:${PORTSDIR}/graphics/png
CONFIGURE_ARGS+= --with-libpng
.else
-PLIST_SUB+= PNG="@comment "
CONFIGURE_ARGS+= --without-libpng
.endif
.if ${PORT_OPTIONS:MFFMPEG}
-LIB_DEPENDS+= avcodec.1:${PORTSDIR}/multimedia/ffmpeg
-PLIST_SUB+= FFMPEG=""
+LIB_DEPENDS+= libavcodec.so:${PORTSDIR}/multimedia/ffmpeg
CONFIGURE_ARGS+= --with-ffmpeg
.else
-PLIST_SUB+= FFMPEG="@comment "
CONFIGURE_ARGS+= --without-ffmpeg
.endif
.if ${PORT_OPTIONS:MFAAC}
-LIB_DEPENDS+= faac.0:${PORTSDIR}/audio/faac
-PLIST_SUB+= FAAC=""
+LIB_DEPENDS+= libfaac.so:${PORTSDIR}/audio/faac
CONFIGURE_ARGS+= --with-faac
.else
-PLIST_SUB+= FAAC="@comment "
CONFIGURE_ARGS+= --without-faac
.endif
.if ${PORT_OPTIONS:MFAAD}
-LIB_DEPENDS+= faad.2:${PORTSDIR}/audio/faad
-PLIST_SUB+= FAAD=""
+LIB_DEPENDS+= libfaad.so:${PORTSDIR}/audio/faad
CONFIGURE_ARGS+= --with-faad2
.else
-PLIST_SUB+= FAAD="@comment "
CONFIGURE_ARGS+= --without-faad2
.endif
.if ${PORT_OPTIONS:MX264}
-LIB_DEPENDS+= x264:${PORTSDIR}/multimedia/x264
-PLIST_SUB+= X264=""
+LIB_DEPENDS+= libx264.so:${PORTSDIR}/multimedia/x264
CONFIGURE_ARGS+= --with-x264
.else
-PLIST_SUB+= X264="@comment "
CONFIGURE_ARGS+= --without-x264
.endif
.if ${PORT_OPTIONS:MSCHROEDINGER}
-LIB_DEPENDS+= schroedinger-1.0.11:${PORTSDIR}/multimedia/schroedinger
-PLIST_SUB+= SCHROEDINGER=""
+LIB_DEPENDS+= libschroedinger-1.0.so:${PORTSDIR}/multimedia/schroedinger
.else
-PLIST_SUB+= SCHROEDINGER="@comment "
CONFIGURE_ARGS+= --without-schroedinger
.endif
@@ -155,7 +137,7 @@ post-patch:
@${REINPLACE_CMD} -e 's|stdint.h|inttypes.h|' \
${WRKSRC}/plugins/audiocodec/* \
${WRKSRC}/plugins/videocodec/*
- @${REINPLACE_CMD} -e '/objformat=/s|=.*|=elf|' ${WRKSRC}/configure
+ @${REINPLACE_CMD} -E -e 's|objformat=aout|objformat=elf|g' ${WRKSRC}/configure
@${REINPLACE_CMD} -e 's|-DG.*_DISABLE_DEPRECATED||g' \
${WRKSRC}/configure*
diff --git a/multimedia/libquicktime/files/patch-ffmpeg2 b/multimedia/libquicktime/files/patch-ffmpeg2
new file mode 100644
index 000000000000..c7d9cc6f8897
--- /dev/null
+++ b/multimedia/libquicktime/files/patch-ffmpeg2
@@ -0,0 +1,96 @@
+Extracted from upstream CVS.
+Index: plugins/ffmpeg/audio.c
+===================================================================
+--- plugins/ffmpeg/audio.c.orig
++++ plugins/ffmpeg/audio.c
+@@ -45,6 +45,11 @@
+ #define ENCODE_AUDIO 1
+ #endif
+
++#ifndef AVCODEC_MAX_AUDIO_FRAME_SIZE
++/* from libavcodec/avcodec.h dated Dec 23 2012 */
++#define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000 // 1 second of 48khz 32bit audio
++#endif
++
+ /* The following code was ported from gmerlin_avdecoder (http://gmerlin.sourceforge.net) */
+
+ /* MPEG Audio header parsing code */
+Index: plugins/ffmpeg/params.c
+===================================================================
+--- plugins/ffmpeg/params.c.orig
++++ plugins/ffmpeg/params.c
+@@ -101,6 +101,17 @@ typedef struct
+ } \
+ }
+
++#define PARAM_DICT_INT(name, dict_name) \
++ { \
++ if(!strcasecmp(name, key)) \
++ { \
++ char buf[128]; \
++ snprintf(buf, sizeof(buf), "%d", *(int*)value); \
++ av_dict_set(options, dict_name, buf, 0); \
++ found = 1; \
++ } \
++ }
++
+ #define PARAM_DICT_FLAG(name, dict_name) \
+ { \
+ if(!strcasecmp(name, key)) \
+@@ -202,8 +213,15 @@ void lqt_ffmpeg_set_parameter(AVCodecCon
+ PARAM_INT("ff_max_b_frames",max_b_frames);
+ PARAM_FLOAT("ff_b_quant_factor",b_quant_factor);
+ PARAM_INT("ff_b_frame_strategy",b_frame_strategy);
++
++#if LIBAVCODEC_VERSION_MAJOR >= 55
++ PARAM_DICT_INT("ff_luma_elim_threshold","luma_elim_threshold");
++ PARAM_DICT_INT("ff_chroma_elim_threshold","chroma_elim_threshold");
++#else
+ PARAM_INT("ff_luma_elim_threshold",luma_elim_threshold);
+ PARAM_INT("ff_chroma_elim_threshold",chroma_elim_threshold);
++#endif
++
+ PARAM_INT("ff_strict_std_compliance",strict_std_compliance);
+ PARAM_QP2LAMBDA("ff_b_quant_offset",b_quant_offset);
+ PARAM_INT("ff_rc_min_rate",rc_min_rate);
+@@ -241,8 +259,15 @@ void lqt_ffmpeg_set_parameter(AVCodecCon
+ PARAM_QP2LAMBDA("ff_lmax", lmax);
+ PARAM_INT("ff_noise_reduction",noise_reduction);
+ PARAM_INT_SCALE("ff_rc_initial_buffer_occupancy",rc_initial_buffer_occupancy,1000);
++
++#if LIBAVCODEC_VERSION_MAJOR >= 55
++ PARAM_DICT_INT("ff_inter_threshold","inter_threshold");
++ PARAM_DICT_INT("ff_quantizer_noise_shaping","quantizer_noise_shaping");
++#else
+ PARAM_INT("ff_inter_threshold",inter_threshold);
+ PARAM_INT("ff_quantizer_noise_shaping",quantizer_noise_shaping);
++#endif
++
+ PARAM_INT("ff_thread_count",thread_count);
+ PARAM_INT("ff_me_threshold",me_threshold);
+ PARAM_INT("ff_mb_threshold",mb_threshold);
+@@ -272,8 +297,16 @@ void lqt_ffmpeg_set_parameter(AVCodecCon
+ PARAM_FLAG("ff_flag_bitexact",CODEC_FLAG_BITEXACT);
+ PARAM_FLAG("ff_flag_ac_pred",CODEC_FLAG_AC_PRED);
+ // PARAM_FLAG("ff_flag_h263p_umv",CODEC_FLAG_H263P_UMV); // Unused
++
++#if LIBAVCODEC_VERSION_MAJOR >= 55
++ PARAM_DICT_FLAG("ff_flag_cbp_rd","cbp_rd");
++ PARAM_DICT_FLAG("ff_flag_qp_rd","qp_rd");
++ PARAM_DICT_FLAG("ff_flag2_strict_gop","strict_gop");
++#else
+ PARAM_FLAG("ff_flag_cbp_rd",CODEC_FLAG_CBP_RD);
+ PARAM_FLAG("ff_flag_qp_rd",CODEC_FLAG_QP_RD);
++ PARAM_FLAG2("ff_flag2_strict_gop",CODEC_FLAG2_STRICT_GOP);
++#endif
+
+ #if LIBAVCODEC_VERSION_MAJOR >= 54
+ PARAM_DICT_FLAG("ff_flag_h263p_aiv", "aiv");
+@@ -288,7 +321,6 @@ void lqt_ffmpeg_set_parameter(AVCodecCon
+ PARAM_FLAG("ff_flag_loop_filter",CODEC_FLAG_LOOP_FILTER);
+ PARAM_FLAG("ff_flag_closed_gop",CODEC_FLAG_CLOSED_GOP);
+ PARAM_FLAG2("ff_flag2_fast",CODEC_FLAG2_FAST);
+- PARAM_FLAG2("ff_flag2_strict_gop",CODEC_FLAG2_STRICT_GOP);
+ PARAM_ENUM("ff_coder_type",coder_type,coder_type);
+
+ }
diff --git a/multimedia/libquicktime/pkg-plist b/multimedia/libquicktime/pkg-plist
index 5c85b437c411..95f6100d716a 100644
--- a/multimedia/libquicktime/pkg-plist
+++ b/multimedia/libquicktime/pkg-plist
@@ -1,4 +1,4 @@
-%%GTK%%bin/libquicktime_config
+%%GTK2%%bin/libquicktime_config
bin/lqt_transcode
bin/lqtplay
bin/lqtremux
diff --git a/multimedia/libxine/Makefile b/multimedia/libxine/Makefile
index eeca87d259f5..71f13b4db19f 100644
--- a/multimedia/libxine/Makefile
+++ b/multimedia/libxine/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= xine
-PORTVERSION= 1.2.2
+PORTVERSION= 1.2.4
PORTREVISION= 4
CATEGORIES= multimedia ipv6
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}-lib/${PORTVERSION}
@@ -12,29 +12,29 @@ DISTNAME= ${PORTNAME}-lib-${PORTVERSION}
MAINTAINER= nox@FreeBSD.org
COMMENT= Libraries for xine multimedia player
-LIB_DEPENDS= FLAC:${PORTSDIR}/audio/flac \
- a52:${PORTSDIR}/audio/liba52 \
- vorbis:${PORTSDIR}/audio/libvorbis \
- speex:${PORTSDIR}/audio/speex \
- mng:${PORTSDIR}/graphics/libmng \
- png15:${PORTSDIR}/graphics/png \
- dvdread:${PORTSDIR}/multimedia/libdvdread \
- freetype:${PORTSDIR}/print/freetype2 \
- fame-0:${PORTSDIR}/multimedia/libfame \
- cdio:${PORTSDIR}/sysutils/libcdio \
- modplug:${PORTSDIR}/audio/libmodplug \
- vcdinfo:${PORTSDIR}/multimedia/vcdimager \
- theora:${PORTSDIR}/multimedia/libtheora \
- mad:${PORTSDIR}/audio/libmad \
- dca:${PORTSDIR}/multimedia/libdca \
- avcodec:${PORTSDIR}/multimedia/ffmpeg \
- faad:${PORTSDIR}/audio/faad \
- vdpau:${PORTSDIR}/multimedia/libvdpau
+LIB_DEPENDS= libFLAC.so:${PORTSDIR}/audio/flac \
+ liba52.so:${PORTSDIR}/audio/liba52 \
+ libvorbis.so:${PORTSDIR}/audio/libvorbis \
+ libspeex.so:${PORTSDIR}/audio/speex \
+ libmng.so:${PORTSDIR}/graphics/libmng \
+ libpng15.so:${PORTSDIR}/graphics/png \
+ libdvdread.so:${PORTSDIR}/multimedia/libdvdread \
+ libfreetype.so:${PORTSDIR}/print/freetype2 \
+ libfame.so:${PORTSDIR}/multimedia/libfame \
+ libcdio.so:${PORTSDIR}/sysutils/libcdio \
+ libmodplug.so:${PORTSDIR}/audio/libmodplug \
+ libvcdinfo.so:${PORTSDIR}/multimedia/vcdimager \
+ libtheora.so:${PORTSDIR}/multimedia/libtheora \
+ libmad.so:${PORTSDIR}/audio/libmad \
+ libdca.so:${PORTSDIR}/multimedia/libdca \
+ libavcodec.so:${PORTSDIR}/multimedia/ffmpeg \
+ libfaad.so:${PORTSDIR}/audio/faad \
+ libvdpau.so:${PORTSDIR}/multimedia/libvdpau
BUILD_DEPENDS+= v4l_compat>=1.0.20100321:${PORTSDIR}/multimedia/v4l_compat
.if !defined(PACKAGE_BUILDING)
-LIB_DEPENDS+= dvdcss.${DVDCSS_LIBVERSION}:${PORTSDIR}/multimedia/libdvdcss
+LIB_DEPENDS+= libdvdcss.so.${DVDCSS_LIBVERSION}:${PORTSDIR}/multimedia/libdvdcss
.endif
USES= gmake iconv pathfix perl5 pkgconfig
@@ -68,11 +68,8 @@ CONFIGURE_ARGS= --with-w32-path=${LOCALBASE}/lib/win32 \
OPTIONS_DEFINE= CACA ESOUND JACK GNOMEVFS2 PULSEAUDIO XVMC SMB AALIB \
IMAGEMAGICK GTK2 WAVPACK VAAPI LIBBLURAY
-MAN1= xine-config.1 xine-list-1.2.1
-MAN5= xine.5
-
-DOCSDIR= ${PREFIX}/share/doc/xine-lib
-PLIST_SUB= PLUGINSDIR="lib/xine/plugins/2.2"
+DOCSDIR= ${STAGEDIR}${PREFIX}/share/doc/xine-lib
+PLIST_SUB= PLUGINSDIR="lib/xine/plugins/2.3"
# DVDCSS version hardcoded in src/input/input_dvd.c misc/cdda_server.c
# and src/input/libdvdnav/dvd_input.c (dlopen'ed)
@@ -80,7 +77,6 @@ DVDCSS_LIBVERSION= 3
PATCH_DIST_ARGS= -d ${WRKSRC} -p1 --forward --quiet
-NO_STAGE= yes
.include <bsd.port.options.mk>
.if ${ARCH} == "i386"
@@ -96,7 +92,7 @@ CONFIGURE_ARGS+= --disable-nls
.endif
.if ${PORT_OPTIONS:MCACA}
-LIB_DEPENDS+= caca:${PORTSDIR}/graphics/libcaca
+LIB_DEPENDS+= libcaca.so:${PORTSDIR}/graphics/libcaca
PLIST_SUB+= WITH_CACA=""
.else
PLIST_SUB+= WITH_CACA="@comment "
@@ -112,7 +108,7 @@ CONFIGURE_ARGS+= --without-esound
.endif
.if ${PORT_OPTIONS:MJACK}
-LIB_DEPENDS+= jack:${PORTSDIR}/audio/jack
+LIB_DEPENDS+= libjack.so:${PORTSDIR}/audio/jack
PLIST_SUB+= WITH_JACK=""
.else
PLIST_SUB+= WITH_JACK="@comment "
@@ -128,7 +124,7 @@ CONFIGURE_ARGS+= --disable-gnomevfs
.endif
.if ${PORT_OPTIONS:MPULSEAUDIO}
-LIB_DEPENDS+= pulse:${PORTSDIR}/audio/pulseaudio
+LIB_DEPENDS+= libpulse.so:${PORTSDIR}/audio/pulseaudio
PLIST_SUB+= WITH_PULSEAUDIO=""
.else
PLIST_SUB+= WITH_PULSEAUDIO="@comment "
@@ -138,10 +134,10 @@ CONFIGURE_ARGS+= --without-pulseaudio
.if ${PORT_OPTIONS:MXVMC}
.if defined(WITH_NVIDIA304_GL) || exists(${LOCALBASE}/lib/libXvMCNVIDIA.so.1)
CONFIGURE_ARGS+= --with-xvmc-lib=XvMCNVIDIA
-LIB_DEPENDS+= XvMCNVIDIA:${PORTSDIR}/x11/nvidia-driver-304
+LIB_DEPENDS+= libXvMCNVIDIA.so:${PORTSDIR}/x11/nvidia-driver-304
.else
CONFIGURE_ARGS+= --with-xvmc-lib=XvMCW
-LIB_DEPENDS+= XvMC:${PORTSDIR}/x11/libXvMC
+LIB_DEPENDS+= libXvMC.so:${PORTSDIR}/x11/libXvMC
.endif
PLIST_SUB+= WITH_XVMC=""
.else
@@ -150,7 +146,7 @@ PLIST_SUB+= WITH_XVMC="@comment "
.endif
.if ${PORT_OPTIONS:MSMB}
-LIB_DEPENDS+= smbclient:${PORTSDIR}/net/samba-libsmbclient
+LIB_DEPENDS+= libsmbclient.so:${PORTSDIR}/net/samba-libsmbclient
PLIST_SUB+= WITH_SMB=""
CONFIGURE_ARGS+= --enable-samba
.else
@@ -159,7 +155,7 @@ CONFIGURE_ARGS+= --disable-samba
.endif
.if ${PORT_OPTIONS:MAALIB}
-LIB_DEPENDS+= aa:${PORTSDIR}/graphics/aalib
+LIB_DEPENDS+= libaa.so:${PORTSDIR}/graphics/aalib
PLIST_SUB+= WITH_AALIB=""
.else
PLIST_SUB+= WITH_AALIB="@comment "
@@ -167,7 +163,7 @@ CONFIGURE_ARGS+= --disable-aalib --disable-aalibtest
.endif
.if ${PORT_OPTIONS:MMAGICK}
-LIB_DEPENDS+= MagickWand:${PORTSDIR}/graphics/ImageMagick
+LIB_DEPENDS+= libMagickWand.so:${PORTSDIR}/graphics/ImageMagick
PLIST_SUB+= WITH_IMAGEMAGICK=""
.else
PLIST_SUB+= WITH_IMAGEMAGICK="@comment "
@@ -183,7 +179,7 @@ CONFIGURE_ARGS+= --disable-gdkpixbuf
.endif
.if ${PORT_OPTIONS:MWAVPACK}
-LIB_DEPENDS+= wavpack:${PORTSDIR}/audio/wavpack
+LIB_DEPENDS+= libwavpack.so:${PORTSDIR}/audio/wavpack
PLIST_SUB+= WITH_WAVPACK=""
CONFIGURE_ARGS+= --with-wavpack
.else
@@ -192,12 +188,12 @@ CONFIGURE_ARGS+= --without-wavpack
.endif
.if ${PORT_OPTIONS:MVAAPI}
-LIB_DEPENDS+= va:${PORTSDIR}/multimedia/libva
+LIB_DEPENDS+= libva.so:${PORTSDIR}/multimedia/libva
.endif
.if ${PORT_OPTIONS:MLIBBLURAY}
CONFIGURE_OPTS+= --enable-bluray
-LIB_DEPENDS+= bluray:${PORTSDIR}/multimedia/libbluray
+LIB_DEPENDS+= libbluray.so:${PORTSDIR}/multimedia/libbluray
PLIST_SUB+= LIBBLURAY=""
.else
CONFIGURE_OPTS+= --disable-bluray
@@ -219,7 +215,7 @@ CONFIGURE_ARGS+= --disable-vidix
post-patch:
.if ${PORT_OPTIONS:MVAAPI}
- @${PATCH} ${PATCH_DIST_ARGS} <${FILESDIR}/ffmpeg-vaapi_xine-lib-1.2.2-defaultoff.diff
+ #@${PATCH} ${PATCH_DIST_ARGS} <${FILESDIR}/ffmpeg-vaapi_xine-lib-1.2.2-defaultoff.diff
.endif
.for f in libtool ltmain.sh
@${REINPLACE_CMD} -e \
diff --git a/multimedia/libxine/distinfo b/multimedia/libxine/distinfo
index ae6d9887bdd0..3968a7e84a5c 100644
--- a/multimedia/libxine/distinfo
+++ b/multimedia/libxine/distinfo
@@ -1,2 +1,2 @@
-SHA256 (xine-lib-1.2.2.tar.xz) = e1656451be64005ef296ffafcf5085d63ef7d4ee4477024391f8e3000d3253d6
-SIZE (xine-lib-1.2.2.tar.xz) = 4857248
+SHA256 (xine-lib-1.2.4.tar.xz) = 9c5b1b4ef7bd0591962c322a3afa709eeaa5bae664678548f1340e64f43abbdd
+SIZE (xine-lib-1.2.4.tar.xz) = 4954992
diff --git a/multimedia/libxine/files/patch-b0df4b6003ad b/multimedia/libxine/files/patch-b0df4b6003ad
deleted file mode 100644
index c8938e6d8f3a..000000000000
--- a/multimedia/libxine/files/patch-b0df4b6003ad
+++ /dev/null
@@ -1,45 +0,0 @@
-
-# HG changeset patch
-# User Petri Hintukainen <phintuka@users.sourceforge.net>
-# Date 1339310702 -10800
-# Node ID b0df4b6003ad2b7454059c2d82ef7f8f29e48e9e
-# Parent 52a99e60c2c9aa7e03be894b4396f229f881025c
-Fix building on non-x86 systems
-
-diff -r 52a99e60c2c9 -r b0df4b6003ad src/post/deinterlace/plugins/greedy2frame_template.c
---- src/post/deinterlace/plugins/greedy2frame_template.c Sat Jun 09 18:58:05 2012 +0100
-+++ src/post/deinterlace/plugins/greedy2frame_template.c Sun Jun 10 09:45:02 2012 +0300
-@@ -85,6 +85,7 @@
- */
-
-
-+#if defined(ARCH_X86) || defined(ARCH_X86_64)
- #if !defined(MASKS_DEFINED)
- #define MASKS_DEFINED
- static const mmx_t Mask = { uq: 0x7f7f7f7f7f7f7f7fll };
-@@ -92,6 +93,7 @@
- static const mmx_t GreedyTwoFrameThreshold = { ub: {TP, TP, TP, TP} };
- #undef TP
- #endif
-+#endif
-
- #if defined(IS_MMXEXT)
- static void DeinterlaceGreedy2Frame_MMXEXT(uint8_t *output, int outstride,
-diff -r 52a99e60c2c9 -r b0df4b6003ad src/post/deinterlace/plugins/greedy2frame_template_sse2.c
---- src/post/deinterlace/plugins/greedy2frame_template_sse2.c Sat Jun 09 18:58:05 2012 +0100
-+++ src/post/deinterlace/plugins/greedy2frame_template_sse2.c Sun Jun 10 09:45:02 2012 +0300
-@@ -84,11 +84,12 @@
- ** B0 | | B1 | |
- */
-
--
-+#if defined(ARCH_X86) || defined(ARCH_X86_64)
- static const sse_t Mask128 = { uq: { 0x7f7f7f7f7f7f7f7fll, 0x7f7f7f7f7f7f7f7fll} };
- #define TP GREEDYTWOFRAMETHRESHOLD, GREEDYTWOFRAMETHRESHOLD2
- static const sse_t GreedyTwoFrameThreshold128 = { ub: {TP, TP, TP, TP, TP, TP, TP, TP} };
- #undef TP
-+#endif
-
- static void DeinterlaceGreedy2Frame_SSE2(uint8_t *output, int outstride,
- deinterlace_frame_data_t *data,
-
diff --git a/multimedia/libxine/files/patch-src-combined-ffmpeg-Makefile.in.diff b/multimedia/libxine/files/patch-src-combined-ffmpeg-Makefile.in.diff
new file mode 100644
index 000000000000..a76ddd43be1b
--- /dev/null
+++ b/multimedia/libxine/files/patch-src-combined-ffmpeg-Makefile.in.diff
@@ -0,0 +1,14 @@
+--- src/combined/ffmpeg/Makefile.in.orig 2013-09-23 15:58:14.000000000 -0500
++++ src/combined/ffmpeg/Makefile.in 2013-09-25 03:25:33.000000000 -0500
+@@ -995,10 +995,7 @@
+ avcodec_audio.list: AV_CODECS:=/CODEC_ID_PCM_S16LE/,/CODEC_ID_DVD_SUBTITLE/
+ avcodec_video.list: AV_CODECS:=/CODEC_ID_MPEG1VIDEO/,/CODEC_ID_PCM_S16LE/
+
+-# that weird shell call just yields full path of the avcodec.h file
+-avcodec_audio.list avcodec_video.list: $(shell \
+- echo '#include "$(srcdir)/ffmpeg_decoder.h"' | $(AV_CPP) -M - |\
+- sed -e 's/ \+/\n/g;' | sed -n -e '/avcodec\.h/p;')
++avcodec_audio.list avcodec_video.list:
+ $(AM_V_GEN)echo '#include "$(srcdir)/ffmpeg_decoder.h"' | $(AV_CPP) - |\
+ sed -e $(AV_CODECS)'! d; s/^[ \t]*//; s/[=,].*//; /^$$/ d' >$@
+
diff --git a/multimedia/libxine/files/patch-src-post-deinterlace-plugins-greedy2frame_template_sse2.c b/multimedia/libxine/files/patch-src-post-deinterlace-plugins-greedy2frame_template_sse2.c
deleted file mode 100644
index c794b5771091..000000000000
--- a/multimedia/libxine/files/patch-src-post-deinterlace-plugins-greedy2frame_template_sse2.c
+++ /dev/null
@@ -1,28 +0,0 @@
---- src/post/deinterlace/plugins/greedy2frame_template_sse2.c.orig 2013-09-03 20:12:37.000000000 +0200
-+++ src/post/deinterlace/plugins/greedy2frame_template_sse2.c 2013-09-03 20:22:34.000000000 +0200
-@@ -173,8 +173,8 @@
- */
- "movdqa (%3), %%xmm1 \n\t" /* xmm1 = T1 */
- "movdqa (%4), %%xmm0 \n\t" /* xmm0 = T0 */
-- "movdqa (%q5,%3), %%xmm3 \n\t" /* xmm3 = B1 */
-- "movdqa (%q5,%4), %%xmm2 \n\t" /* xmm2 = B0 */
-+ "movdqa (%3,%5), %%xmm3 \n\t" /* xmm3 = B1 */
-+ "movdqa (%4,%5), %%xmm2 \n\t" /* xmm2 = B0 */
-
- /* calculate |T1-T0| keep T1 put result in xmm5 */
- "movdqa %%xmm1, %%xmm5 \n\t"
-@@ -192,11 +192,11 @@
- "pcmpgtb %1, %%xmm5 \n\t"
- "pcmpeqd %%xmm7, %%xmm5 \n\t"
-
-- "prefetcht0 64(%q5,%3) \n\t"
-- "prefetcht0 64(%q5,%4) \n\t"
-+ "prefetcht0 64(%3,%5) \n\t"
-+ "prefetcht0 64(%4,%5) \n\t"
- :
- : "r" (M1), "m" (GreedyTwoFrameThreshold128),
-- "m" (*Destc), "r" (T1), "r" (T0), "r" (Pitch) );
-+ "m" (*Destc), "r" (T1), "r" (T0), "r" ((register_t)Pitch) );
-
- asm volatile (
- /* calculate |B1-B0| keep B1 put result in xmm4 */
diff --git a/multimedia/libxine/pkg-plist b/multimedia/libxine/pkg-plist
index 6ecf40121f4f..f19f6c992cb1 100644
--- a/multimedia/libxine/pkg-plist
+++ b/multimedia/libxine/pkg-plist
@@ -104,6 +104,7 @@ share/xine-lib/fonts/serif-64.xinefont.gz
%%WITH_GTK2%%%%PLUGINSDIR%%/xineplug_decode_gdk_pixbuf.so
%%PLUGINSDIR%%/xineplug_decode_gsm610.so
%%WITH_IMAGEMAGICK%%%%PLUGINSDIR%%/xineplug_decode_image.so
+%%PLUGINSDIR%%/xineplug_decode_libjpeg.so
%%PLUGINSDIR%%/xineplug_decode_lpcm.so
%%PLUGINSDIR%%/xineplug_decode_mad.so
%%PLUGINSDIR%%/xineplug_decode_mpeg2.so
@@ -114,6 +115,11 @@ share/xine-lib/fonts/serif-64.xinefont.gz
%%PLUGINSDIR%%/xineplug_decode_spucmml.so
%%PLUGINSDIR%%/xineplug_decode_spudvb.so
%%PLUGINSDIR%%/xineplug_decode_spuhdmv.so
+%%PLUGINSDIR%%/xineplug_decode_vdpau_h264_alter.so
+%%PLUGINSDIR%%/xineplug_decode_vdpau_h264.so
+%%PLUGINSDIR%%/xineplug_decode_vdpau_mpeg12.so
+%%PLUGINSDIR%%/xineplug_decode_vdpau_mpeg4.so
+%%PLUGINSDIR%%/xineplug_decode_vdpau_vc1.so
%%WITH_VIDIX%%%%PLUGINSDIR%%/xineplug_decode_w32dll.so
%%PLUGINSDIR%%/xineplug_decode_yuv.so
%%PLUGINSDIR%%/xineplug_dmx_asf.so
@@ -126,17 +132,20 @@ share/xine-lib/fonts/serif-64.xinefont.gz
%%WITH_DMX_IMAGE%%%%PLUGINSDIR%%/xineplug_dmx_image.so
%%PLUGINSDIR%%/xineplug_dmx_matroska.so
%%PLUGINSDIR%%/xineplug_dmx_mng.so
+%%PLUGINSDIR%%/xineplug_dmx_modplug.so
%%PLUGINSDIR%%/xineplug_dmx_mpeg.so
%%PLUGINSDIR%%/xineplug_dmx_mpeg_block.so
%%PLUGINSDIR%%/xineplug_dmx_mpeg_elem.so
%%PLUGINSDIR%%/xineplug_dmx_mpeg_pes.so
%%PLUGINSDIR%%/xineplug_dmx_mpeg_ts.so
%%PLUGINSDIR%%/xineplug_dmx_nsv.so
+%%PLUGINSDIR%%/xineplug_dmx_playlist.so
%%PLUGINSDIR%%/xineplug_dmx_pva.so
%%PLUGINSDIR%%/xineplug_dmx_qt.so
%%PLUGINSDIR%%/xineplug_dmx_rawdv.so
%%PLUGINSDIR%%/xineplug_dmx_real.so
%%PLUGINSDIR%%/xineplug_dmx_slave.so
+%%PLUGINSDIR%%/xineplug_dmx_vc1_es.so
%%PLUGINSDIR%%/xineplug_dmx_yuv4mpeg2.so
%%PLUGINSDIR%%/xineplug_dmx_yuv_frames.so
%%PLUGINSDIR%%/xineplug_flac.so
@@ -154,14 +163,20 @@ share/xine-lib/fonts/serif-64.xinefont.gz
%%PLUGINSDIR%%/xineplug_inp_rtsp.so
%%WITH_SMB%%%%PLUGINSDIR%%/xineplug_inp_smb.so
%%PLUGINSDIR%%/xineplug_inp_stdin_fifo.so
+%%PLUGINSDIR%%/xineplug_inp_test.so
%%PLUGINSDIR%%/xineplug_inp_vcd.so
%%PLUGINSDIR%%/xineplug_inp_vcdo.so
+%%PLUGINSDIR%%/xineplug_nsf.so
+%%PLUGINSDIR%%/xineplug_sputext.so
+%%PLUGINSDIR%%/xineplug_vdr.so
%%WITH_AALIB%%%%PLUGINSDIR%%/xineplug_vo_out_aa.so
%%WITH_CACA%%%%PLUGINSDIR%%/xineplug_vo_out_caca.so
%%PLUGINSDIR%%/xineplug_vo_out_none.so
%%PLUGINSDIR%%/xineplug_vo_out_opengl.so
+%%PLUGINSDIR%%/xineplug_vo_out_opengl2.so
%%PLUGINSDIR%%/xineplug_vo_out_raw.so
%%PLUGINSDIR%%/xineplug_vo_out_sdl.so
+%%PLUGINSDIR%%/xineplug_vo_out_vdpau.so
%%PLUGINSDIR%%/xineplug_vo_out_xcbshm.so
%%PLUGINSDIR%%/xineplug_vo_out_xcbxv.so
%%PLUGINSDIR%%/xineplug_vo_out_xshm.so
@@ -169,20 +184,11 @@ share/xine-lib/fonts/serif-64.xinefont.gz
%%WITH_XVMC%%%%PLUGINSDIR%%/xineplug_vo_out_xvmc.so
%%WITH_XVMC%%%%PLUGINSDIR%%/xineplug_vo_out_xxmc.so
%%WITH_WAVPACK%%%%PLUGINSDIR%%/xineplug_wavpack.so
-%%PLUGINSDIR%%/xineplug_vo_out_vdpau.so
-%%PLUGINSDIR%%/xineplug_dmx_vc1_es.so
-%%PLUGINSDIR%%/xineplug_decode_vdpau_h264_alter.so
-%%PLUGINSDIR%%/xineplug_decode_vdpau_h264.so
-%%PLUGINSDIR%%/xineplug_decode_vdpau_mpeg12.so
-%%PLUGINSDIR%%/xineplug_decode_vdpau_mpeg4.so
-%%PLUGINSDIR%%/xineplug_decode_vdpau_vc1.so
-%%PLUGINSDIR%%/xineplug_vdr.so
-%%PLUGINSDIR%%/xineplug_nsf.so
-%%PLUGINSDIR%%/xineplug_sputext.so
-%%PLUGINSDIR%%/xineplug_dmx_modplug.so
-%%PLUGINSDIR%%/xineplug_dmx_playlist.so
%%PLUGINSDIR%%/xineplug_xiph.so
libdata/pkgconfig/libxine.pc
+man/man1/xine-config.1.gz
+man/man1/xine-list-1.2.1.gz
+man/man5/xine.5.gz
share/aclocal/xine.m4
%%DOCSDIR%%/COPYING
%%DOCSDIR%%/CREDITS
diff --git a/multimedia/mlt/Makefile b/multimedia/mlt/Makefile
index db27b8f59dbf..d6ebeba4d17d 100644
--- a/multimedia/mlt/Makefile
+++ b/multimedia/mlt/Makefile
@@ -2,7 +2,7 @@
PORTNAME= mlt
PORTVERSION= 0.9.0
-PORTREVISION?= 0
+PORTREVISION?= 1
CATEGORIES?= multimedia
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}
diff --git a/multimedia/qmmp-plugin-pack/Makefile b/multimedia/qmmp-plugin-pack/Makefile
index 8386e58c673e..1d645e69a33c 100644
--- a/multimedia/qmmp-plugin-pack/Makefile
+++ b/multimedia/qmmp-plugin-pack/Makefile
@@ -1,19 +1,18 @@
-# Created by: SimaMoto,RyoTa <liangtai.s4@gmail.com>
# $FreeBSD$
PORTNAME= qmmp-plugin-pack
-PORTVERSION= 0.6.2
+PORTVERSION= 0.7.2
CATEGORIES= multimedia
MASTER_SITES= http://qmmp.ylsoftware.com/files/plugins/ \
http://qmmp.googlecode.com/files/
-MAINTAINER= liangtai.s4@gmail.com
+MAINTAINER= liangtai.s16@gmail.com
COMMENT= Additional plug-ins for QMMP
LICENSE= GPLv2
-LIB_DEPENDS= qmmpui:${PORTSDIR}/multimedia/qmmp
-BUILD_DEPENDS= qmmp>=0.6.0:${PORTSDIR}/multimedia/qmmp
+LIB_DEPENDS= libqmmpui.so:${PORTSDIR}/multimedia/qmmp
+BUILD_DEPENDS= qmmp>=0.7.0:${PORTSDIR}/multimedia/qmmp
USE_BZIP2= yes
USES= cmake:outsource pkgconfig
@@ -45,7 +44,7 @@ PLUGIN_OPTIONS_CMAKE+= -DUSE_QSUI:BOOL=FALSE
.if ${PORT_OPTIONS:MMPG123}
PLIST_SUB+= MPG123=""
-LIB_DEPENDS+= mpg123:${PORTSDIR}/audio/mpg123
+LIB_DEPENDS+= libmpg123.so:${PORTSDIR}/audio/mpg123
PLUGIN_OPTIONS_CMAKE+= -DUSE_MPG123:BOOL=TRUE
.else
PLIST_SUB+= MPG123="@comment "
@@ -62,7 +61,7 @@ PLUGIN_OPTIONS_CMAKE+= -DUSE_ASM:BOOL=TRUE
. else
PLUGIN_OPTIONS_CMAKE+= -DUSE_ASM:BOOL=FALSE
. endif
-LIB_DEPENDS+= tag:${PORTSDIR}/audio/taglib
+LIB_DEPENDS+= libtag.so:${PORTSDIR}/audio/taglib
PLUGIN_OPTIONS_CMAKE+= -DUSE_FFAP:BOOL=TRUE
.else
PLIST_SUB+= FFAP="@comment "
diff --git a/multimedia/qmmp-plugin-pack/distinfo b/multimedia/qmmp-plugin-pack/distinfo
index e442739af093..ce52f6c806d5 100644
--- a/multimedia/qmmp-plugin-pack/distinfo
+++ b/multimedia/qmmp-plugin-pack/distinfo
@@ -1,2 +1,2 @@
-SHA256 (qmmp-plugin-pack-0.6.2.tar.bz2) = 8f241b94a3671a27d1d1f5d4695469760a52dcaafdc5e97f069b932ccb2ed41c
-SIZE (qmmp-plugin-pack-0.6.2.tar.bz2) = 121619
+SHA256 (qmmp-plugin-pack-0.7.2.tar.bz2) = ff35e1576aa91082496433c4ea22984469eb7810ec0ab7a1d99a7510066cad2d
+SIZE (qmmp-plugin-pack-0.7.2.tar.bz2) = 135630
diff --git a/multimedia/qmmp/Makefile b/multimedia/qmmp/Makefile
index a163c59f87b8..9e24ed6416a4 100644
--- a/multimedia/qmmp/Makefile
+++ b/multimedia/qmmp/Makefile
@@ -1,14 +1,12 @@
-# Created by: SimaMoto,RyoTa <liangtai.s4@gmail.com>
# $FreeBSD$
PORTNAME= qmmp
-PORTVERSION= 0.6.3
-PORTREVISION= 2
+PORTVERSION= 0.7.2
CATEGORIES= multimedia
MASTER_SITES= http://qmmp.ylsoftware.com/files/ \
${MASTER_SITE_GOOGLE_CODE}
-MAINTAINER= liangtai.s4@gmail.com
+MAINTAINER= liangtai.s16@gmail.com
COMMENT= A Qt4-based multimedia player
LICENSE= GPLv2
@@ -19,18 +17,21 @@ USE_QT4= corelib gui network xml \
qmake_build rcc_build uic_build moc_build linguist_build
USE_LDCONFIG= yes
-OPTIONS_DEFINE= SKINNEDUI DIR_ASSOC APIDOC PULSEAUDIO ALSA OSS OSS4 \
- JACK NULLOUT FLAC MUSEPACK FFMPEG MODPLUG WILDMIDI GME MAD \
- VORBIS SNDFILE WAVPACK CUE CDIO FAAD LADSPA CROSSFADE BS2B \
- STEREO SRCONV MPLAYER CURL MMS PROJECTM ANALYZER ENCA \
- CONVERTER MPRIS SCROBBLER STATICON SB NOTIFIER LYRICS HOTKEY \
- FILEOPS COVER KDENOTIFY HAL UDISKS QMMP_DIALOG
-OPTIONS_DEFAULT= SKINNEDUI DIR_ASSOC PULSEAUDIO ALSA OSS4 \
- JACK NULLOUT FLAC MUSEPACK FFMPEG MODPLUG WILDMIDI GME MAD \
- VORBIS SNDFILE WAVPACK CUE CDIO FAAD LADSPA CROSSFADE BS2B \
- STEREO SRCONV MPLAYER CURL MMS PROJECTM ANALYZER ENCA \
- CONVERTER MPRIS SCROBBLER STATICON SB NOTIFIER LYRICS HOTKEY \
- FILEOPS COVER KDENOTIFY HAL UDISKS QMMP_DIALOG
+OPTIONS_SINGLE_MPLAYER= MPLAYER1 MPLAYER2
+OPTIONS_DEFINE= ALSA ANALYZER APIDOC BS2B CDIO CONVERTER COPYPASTE \
+ COVER CROSSFADE CUE CURL DIR_ASSOC DOCS ENCA FAAD \
+ FFMPEG FILEOPS FLAC GME HAL HOTKEY JACK KDENOTIFY \
+ LADSPA LYRICS MAD MMS MODPLUG MPLAYER MPRIS MUSEPACK \
+ NOTIFIER NULLOUT OSS OSS4 PROJECTM PULSEAUDIO QMMP_DIALOG \
+ SB SCROBBLER SKINNEDUI SNDFILE SRCONV STATICON STEREO \
+ TRACKCHANGE UDISKS UDISKS2 VORBIS WAVPACK WILDMIDI
+OPTIONS_DEFAULT= ALSA ANALYZER BS2B CDIO CONVERTER COPYPASTE COVER \
+ CROSSFADE CUE CURL DIR_ASSOC ENCA FAAD \
+ FFMPEG FILEOPS FLAC GME HAL HOTKEY JACK KDENOTIFY \
+ LADSPA LYRICS MAD MMS MODPLUG MPRIS MPLAYER MPLAYER1 MUSEPACK \
+ NOTIFIER NULLOUT OSS4 PROJECTM PULSEAUDIO QMMP_DIALOG \
+ SB SCROBBLER SKINNEDUI SNDFILE SRCONV STATICON STEREO \
+ TRACKCHANGE UDISKS2 VORBIS WAVPACK WILDMIDI
SKINNEDUI_DESC= Skinned GUI
DIR_ASSOC_DESC= inode/directory mime type association
APIDOC_DESC= Doxygen generated doc (libqmmp libqmmpui)
@@ -38,27 +39,32 @@ OSS4_DESC= Open Sound System (ver4) support
NULLOUT_DESC= Support a null output
WILDMIDI_DESC= Support to playback MIDI files
GME_DESC= Support video game music files
-CDIO_DESC= Support to playback compact discs
CROSSFADE_DESC= Support cross-fade effect
BS2B_DESC= Support the Bauer stereophonic2binaural effect
STEREO_DESC= Support stereo effect
SRCONV_DESC= Support the sample rate converter
PROJECTM_DESC= Support the projectM music visualiser
ANALYZER_DESC= Supoort spectrum analyzer visualization
+COPYPASTE_DESC= Enable copy/paste track infos between playlists
ENCA_DESC= Support automatic character set detection
+#OPUS_DESC= Enable reading opusfile tags
CONVERTER_DESC= Support file type converter
MPRIS_DESC= Support the Media Player Remote
SCROBBLER_DESC= Support Libre.fm/Last.fm scrobbler feature
STATICON_DESC= Support to show status icon
SB_DESC= Browser for IceCast stream directory
+TRACKCHANGE_DESC= Enable to run external command each track switching
NOTIFIER_DESC= Support to popup notifier
LYRICS_DESC= Support to show lyrics using lyrics.wikia.com
HOTKEY_DESC= Support to set shortcut keys
FILEOPS_DESC= Support file operation
COVER_DESC= Support to show cover images
KDENOTIFY_DESC= Support to popup notifier for KDE
-UDISKS_DESC= Support removable disc detection using UDisks
+UDISKS_DESC= Support removable disc detection (obsolete)
+UDISKS2_DESC= Support removable disc detection using UDisks
QMMP_DIALOG_DESC= An original dialog
+MPLAYER1_DESC= mplayer-1.1.x (multimedia/mplayer)
+MPLAYER2_DESC= mplayer-2.0.x (multimedia/mplayer2)
NO_STAGE= yes
.include <bsd.port.options.mk>
@@ -85,7 +91,7 @@ PLUGIN_OPTIONS_CMAKE+= -DUSE_DIR_ASSOC:BOOL=FALSE
.if ${PORT_OPTIONS:MJACK}
PLIST_SUB+= JACK=""
-LIB_DEPENDS+= jack:${PORTSDIR}/audio/jack
+LIB_DEPENDS+= libjack.so:${PORTSDIR}/audio/jack
BUILD_DEPENDS+= jackit>=0.121.2:${PORTSDIR}/audio/jack
PLUGIN_OPTIONS_CMAKE+= -DUSE_JACK:BOOL=TRUE
.else
@@ -95,7 +101,7 @@ PLUGIN_OPTIONS_CMAKE+= -DUSE_JACK:BOOL=FALSE
.if ${PORT_OPTIONS:MALSA}
PLIST_SUB+= ALSA=""
-LIB_DEPENDS+= asound:${PORTSDIR}/audio/alsa-lib
+LIB_DEPENDS+= libasound.so:${PORTSDIR}/audio/alsa-lib
PLUGIN_OPTIONS_CMAKE+= -DUSE_ALSA:BOOL=TRUE
.else
PLIST_SUB+= ALSA="@comment "
@@ -104,7 +110,7 @@ PLUGIN_OPTIONS_CMAKE+= -DUSE_ALSA:BOOL=FALSE
.if ${PORT_OPTIONS:MBS2B}
PLIST_SUB+= BS2B=""
-LIB_DEPENDS+= bs2b:${PORTSDIR}/audio/libbs2b
+LIB_DEPENDS+= libbs2b.so:${PORTSDIR}/audio/libbs2b
PLUGIN_OPTIONS_CMAKE+= -DUSE_BS2B:BOOL=TRUE
.else
PLIST_SUB+= BS2B="@comment "
@@ -113,7 +119,7 @@ PLUGIN_OPTIONS_CMAKE+= -DUSE_BS2B:BOOL=FALSE
.if ${PORT_OPTIONS:MPULSEAUDIO}
PLIST_SUB+= PULSE_AUDIO=""
-LIB_DEPENDS+= pulse:${PORTSDIR}/audio/pulseaudio
+LIB_DEPENDS+= libpulse.so:${PORTSDIR}/audio/pulseaudio
PLUGIN_OPTIONS_CMAKE+= -DUSE_PULSE:BOOL=TRUE
.else
PLIST_SUB+= PULSE_AUDIO="@comment "
@@ -122,7 +128,7 @@ PLUGIN_OPTIONS_CMAKE+= -DUSE_PULSE:BOOL=FALSE
.if ${PORT_OPTIONS:MFLAC}
PLIST_SUB+= FLAC=""
-LIB_DEPENDS+= FLAC:${PORTSDIR}/audio/flac
+LIB_DEPENDS+= libFLAC.so:${PORTSDIR}/audio/flac
PLUGIN_OPTIONS_CMAKE+= -DUSE_FLAC:BOOL=TRUE
.else
PLIST_SUB+= FLAC="@comment "
@@ -131,7 +137,7 @@ PLUGIN_OPTIONS_CMAKE+= -DUSE_FLAC:BOOL=FALSE
.if ${PORT_OPTIONS:MMUSEPACK}
PLIST_SUB+= MUSEPACK=""
-LIB_DEPENDS+= mpcdec:${PORTSDIR}/audio/musepack
+LIB_DEPENDS+= libmpcdec.so:${PORTSDIR}/audio/musepack
PLUGIN_OPTIONS_CMAKE+= -DUSE_MPC:BOOL=TRUE
.else
PLIST_SUB+= MUSEPACK="@comment "
@@ -140,7 +146,7 @@ PLUGIN_OPTIONS_CMAKE+= -DUSE_MPC:BOOL=FALSE
.if ${PORT_OPTIONS:MGME}
PLIST_SUB+= GME=""
-LIB_DEPENDS+= gme:${PORTSDIR}/audio/libgme
+LIB_DEPENDS+= libgme.so:${PORTSDIR}/audio/libgme
PLUGIN_OPTIONS_CMAKE+= -DUSE_GME:BOOL=TRUE
.else
PLIST_SUB+= GME="@comment "
@@ -148,12 +154,8 @@ PLUGIN_OPTIONS_CMAKE+= -DUSE_GME:BOOL=FALSE
.endif
.if ${PORT_OPTIONS:MFFMPEG}
+LIB_DEPENDS+= libavcodec.so:${PORTSDIR}/multimedia/ffmpeg
PLIST_SUB+= FFMPEG=""
-. if exists(${LOCALBASE}/include/libavcodec/vda.h)
-LIB_DEPENDS+= avcodec:${PORTSDIR}/multimedia/ffmpeg-devel
-. else
-LIB_DEPENDS+= avcodec:${PORTSDIR}/multimedia/ffmpeg
-. endif
PLUGIN_OPTIONS_CMAKE+= -DUSE_FFMPEG:BOOL=TRUE
.else
PLIST_SUB+= FFMPEG="@comment "
@@ -162,7 +164,7 @@ PLUGIN_OPTIONS_CMAKE+= -DUSE_FFMPEG:BOOL=FALSE
.if ${PORT_OPTIONS:MMODPLUG}
PLIST_SUB+= MODPLUG=""
-LIB_DEPENDS+= modplug:${PORTSDIR}/audio/libmodplug
+LIB_DEPENDS+= libmodplug.so:${PORTSDIR}/audio/libmodplug
PLUGIN_OPTIONS_CMAKE+= -DUSE_MODPLUG:BOOL=TRUE
.else
PLIST_SUB+= MODPLUG="@comment "
@@ -171,7 +173,7 @@ PLUGIN_OPTIONS_CMAKE+= -DUSE_MODPLUG:BOOL=FALSE
.if ${PORT_OPTIONS:MFAAD}
PLIST_SUB+= FAAD=""
-LIB_DEPENDS+= faad:${PORTSDIR}/audio/faad
+LIB_DEPENDS+= libfaad.so:${PORTSDIR}/audio/faad
PLUGIN_OPTIONS_CMAKE+= -DUSE_AAC:BOOL=TRUE
.else
PLIST_SUB+= FAAD="@comment "
@@ -180,7 +182,7 @@ PLUGIN_OPTIONS_CMAKE+= -DUSE_AAC:BOOL=FALSE
.if ${PORT_OPTIONS:MCDIO}
PLIST_SUB+= CDIO=""
-LIB_DEPENDS+= cdio:${PORTSDIR}/sysutils/libcdio
+LIB_DEPENDS+= libcdio.so:${PORTSDIR}/sysutils/libcdio
PLUGIN_OPTIONS_CMAKE+= -DUSE_CDA:BOOL=TRUE
.else
PLIST_SUB+= CDIO="@comment "
@@ -190,7 +192,7 @@ PLUGIN_OPTIONS_CMAKE+= -DUSE_CDA:BOOL=FALSE
.if ${PORT_OPTIONS:MENCA} || \
(exists(${LOCALBASE}/include/enca.h) && ${PORT_OPTIONS:MCUE})
PLIST_SUB+= ENCA=""
-LIB_DEPENDS+= enca:${PORTSDIR}/converters/enca
+LIB_DEPENDS+= libenca.so:${PORTSDIR}/converters/enca
PLUGIN_OPTIONS_CMAKE+= -DUSE_ENCA:BOOL=TRUE
.else
PLIST_SUB+= ENCA="@comment "
@@ -198,8 +200,12 @@ PLUGIN_OPTIONS_CMAKE+= -DUSE_ENCA:BOOL=FALSE
.endif
.if ${PORT_OPTIONS:MMPLAYER}
-PLIST_SUB+= MPLAYER=""
+. if ${PORT_OPTIONS:MMPLAYER2}
+RUN_DEPENDS+= mplayer:${PORTSDIR}/multimedia/mplayer2
+. else
RUN_DEPENDS+= mplayer:${PORTSDIR}/multimedia/mplayer
+. endif
+PLIST_SUB+= MPLAYER=""
PLUGIN_OPTIONS_CMAKE+= -DUSE_MPLAYER:BOOL=TRUE
.else
PLIST_SUB+= MPLAYER="@comment "
@@ -208,7 +214,7 @@ PLUGIN_OPTIONS_CMAKE+= -DUSE_MPLAYER:BOOL=FALSE
.if ${PORT_OPTIONS:MPROJECTM}
PLIST_SUB+= PROJECTM=""
-LIB_DEPENDS+= projectM.2:${PORTSDIR}/graphics/libprojectm
+LIB_DEPENDS+= libprojectM.so.2:${PORTSDIR}/graphics/libprojectm
USE_QT4+= opengl
PLUGIN_OPTIONS_CMAKE+= -DUSE_PROJECTM:BOOL=TRUE
.else
@@ -244,7 +250,7 @@ PLUGIN_OPTIONS_CMAKE+= -DUSE_LADSPA:BOOL=FALSE
.if ${PORT_OPTIONS:MWILDMIDI}
PLIST_SUB+= WILDMIDI=""
-LIB_DEPENDS+= WildMidi:${PORTSDIR}/audio/wildmidi
+LIB_DEPENDS+= libWildMidi.so:${PORTSDIR}/audio/wildmidi
PLUGIN_OPTIONS_CMAKE+= -DUSE_MIDI:BOOL=TRUE
.else
PLIST_SUB+= WILDMIDI="@comment "
@@ -253,16 +259,25 @@ PLUGIN_OPTIONS_CMAKE+= -DUSE_MIDI:BOOL=FALSE
.if ${PORT_OPTIONS:MMAD}
PLIST_SUB+= MAD=""
-LIB_DEPENDS+= mad:${PORTSDIR}/audio/libmad
+LIB_DEPENDS+= libmad.so:${PORTSDIR}/audio/libmad
PLUGIN_OPTIONS_CMAKE+= -DUSE_MAD:BOOL=TRUE
.else
PLIST_SUB+= MAD="@comment "
PLUGIN_OPTIONS_CMAKE+= -DUSE_MAD:BOOL=FALSE
.endif
+#.if ${PORT_OPTIONS:MOPUS}
+#PLIST_SUB+= OPUS=""
+#LIB_DEPENDS+= libopusfile.so:${PORTSDIR}/audio/opusfile
+#PLUGIN_OPTIONS_CMAKE+= -DUSE_OPUS:BOOL=TRUE
+#.else
+PLIST_SUB+= OPUS="@comment "
+PLUGIN_OPTIONS_CMAKE+= -DUSE_OPUS:BOOL=FALSE
+#.endif
+
.if ${PORT_OPTIONS:MSNDFILE}
PLIST_SUB+= SNDFILE=""
-LIB_DEPENDS+= sndfile:${PORTSDIR}/audio/libsndfile
+LIB_DEPENDS+= libsndfile.so:${PORTSDIR}/audio/libsndfile
PLUGIN_OPTIONS_CMAKE+= -DUSE_SNDFILE:BOOL=TRUE
.else
PLIST_SUB+= SNDFILE="@comment "
@@ -271,7 +286,7 @@ PLUGIN_OPTIONS_CMAKE+= -DUSE_SNDFILE:BOOL=FALSE
.if ${PORT_OPTIONS:MVORBIS}
PLIST_SUB+= VORBIS=""
-LIB_DEPENDS+= vorbis:${PORTSDIR}/audio/libvorbis
+LIB_DEPENDS+= libvorbis.so:${PORTSDIR}/audio/libvorbis
PLUGIN_OPTIONS_CMAKE+= -DUSE_VORBIS:BOOL=TRUE
.else
PLIST_SUB+= VORBIS="@comment "
@@ -280,7 +295,7 @@ PLUGIN_OPTIONS_CMAKE+= -DUSE_VORBIS:BOOL=FALSE
.if ${PORT_OPTIONS:MWAVPACK}
PLIST_SUB+= WAVPACK=""
-LIB_DEPENDS+= wavpack:${PORTSDIR}/audio/wavpack
+LIB_DEPENDS+= libwavpack.so:${PORTSDIR}/audio/wavpack
PLUGIN_OPTIONS_CMAKE+= -DUSE_WAVPACK:BOOL=TRUE
.else
PLIST_SUB+= WAVPACK="@comment "
@@ -289,7 +304,7 @@ PLUGIN_OPTIONS_CMAKE+= -DUSE_WAVPACK:BOOL=FALSE
.if ${PORT_OPTIONS:MCURL}
PLIST_SUB+= CURL=""
-LIB_DEPENDS+= curl:${PORTSDIR}/ftp/curl
+LIB_DEPENDS+= libcurl.so:${PORTSDIR}/ftp/curl
PLUGIN_OPTIONS_CMAKE+= -DUSE_CURL:BOOL=TRUE
.else
PLIST_SUB+= CURL="@comment "
@@ -298,7 +313,7 @@ PLUGIN_OPTIONS_CMAKE+= -DUSE_CURL:BOOL=FALSE
.if ${PORT_OPTIONS:MMMS}
PLIST_SUB+= MMS=""
-LIB_DEPENDS+= mms:${PORTSDIR}/net/libmms
+LIB_DEPENDS+= libmms.so:${PORTSDIR}/net/libmms
PLUGIN_OPTIONS_CMAKE+= -DUSE_MMS:BOOL=TRUE
.else
PLIST_SUB+= MMS="@comment "
@@ -361,6 +376,14 @@ PLIST_SUB+= CONVERTER="@comment "
PLUGIN_OPTIONS_CMAKE+= -DUSE_CONVERTER:BOOL=FALSE
.endif
+.if ${PORT_OPTIONS:MCOPYPASTE}
+PLIST_SUB+= COPYPASTE=""
+PLUGIN_OPTIONS_CMAKE+= -DUSE_COPYPASTE:BOOL=TRUE
+.else
+PLIST_SUB+= COPYPASTE="@comment "
+PLUGIN_OPTIONS_CMAKE+= -DUSE_COPYPASTE:BOOL=FALSE
+.endif
+
.if ${PORT_OPTIONS:MMPRIS}
PLIST_SUB+= MPRIS=""
PLUGIN_OPTIONS_CMAKE+= -DUSE_MPRIS:BOOL=TRUE
@@ -449,6 +472,14 @@ PLIST_SUB+= KDENOTIFY="@comment "
PLUGIN_OPTIONS_CMAKE+= -DUSE_KDENOTIFY:BOOL=FALSE
.endif
+.if ${PORT_OPTIONS:MTRACKCHANGE}
+PLIST_SUB+= TRACKCHANGE=""
+PLUGIN_OPTIONS_CMAKE+= -DUSE_TRACKCHANGE:BOOL=TRUE
+.else
+PLIST_SUB+= TRACKCHANGE="@comment "
+PLUGIN_OPTIONS_CMAKE+= -DUSE_TRACKCHANGE:BOOL=FALSE
+.endif
+
.if ${PORT_OPTIONS:MUDISKS}
PLIST_SUB+= UDISKS=""
PLUGIN_OPTIONS_CMAKE+= -DUSE_UDISKS:BOOL=TRUE
@@ -457,6 +488,14 @@ PLIST_SUB+= UDISKS="@comment "
PLUGIN_OPTIONS_CMAKE+= -DUSE_UDISKS:BOOL=FALSE
.endif
+.if ${PORT_OPTIONS:MUDISKS2}
+PLIST_SUB+= UDISKS2=""
+PLUGIN_OPTIONS_CMAKE+= -DUSE_UDISKS2:BOOL=TRUE
+.else
+PLIST_SUB+= UDISKS2="@comment "
+PLUGIN_OPTIONS_CMAKE+= -DUSE_UDISKS2:BOOL=FALSE
+.endif
+
.if ${PORT_OPTIONS:MQMMP_DIALOG}
PLIST_SUB+= QMMP_DIALOG=""
PLUGIN_OPTIONS_CMAKE+= -DUSE_QMMP_DIALOG:BOOL=TRUE
@@ -468,9 +507,10 @@ PLUGIN_OPTIONS_CMAKE+= -DUSE_QMMP_DIALOG:BOOL=FALSE
.if ${PORT_OPTIONS:MFAAD} || ${PORT_OPTIONS:MMAD} \
|| ${PORT_OPTIONS:MMUSEPACK} || ${PORT_OPTIONS:MFLAC} \
|| ${PORT_OPTIONS:MVORBIS} || ${PORT_OPTIONS:MCONVERTER}
-LIB_DEPENDS+= tag:${PORTSDIR}/audio/taglib
+LIB_DEPENDS+= libtag.so:${PORTSDIR}/audio/taglib
.endif
-.if ${PORT_OPTIONS:MKDENOTIFY} || ${PORT_OPTIONS:MUDISKS} \
+.if ${PORT_OPTIONS:MKDENOTIFY} \
+ || ${PORT_OPTIONS:MUDISKS} || ${PORT_OPTIONS:MUDISKS2} \
|| ${PORT_OPTIONS:MHAL} || ${PORT_OPTIONS:MMPRIS}
USE_QT4+= dbus
.endif
@@ -480,15 +520,15 @@ PLIST_SUB+= SHLIB_VER=${PORTVERSION:C/-.*//}
PORTDOCS= README README.RUS AUTHORS
INSTALLS_ICONS= yes
-CMAKE_ARGS+= ${PLUGIN_OPTIONS_CMAKE} \
+CMAKE_ARGS+= ${PLUGIN_OPTIONS_CMAKE} -DUSE_RPATH:BOOL=TRUE \
-DCMAKE_REQUIRED_INCLUDES:PATH=${LOCALBASE}/include
CFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
post-patch:
- ${REINPLACE_CMD} -e 's|/usr/local/|${LOCALBASE}/|' \
+ @${REINPLACE_CMD} -e 's|/usr/local/|${LOCALBASE}/|' \
${WRKSRC}/src/plugins/Output/oss4/CMakeLists.txt
- ${REINPLACE_CMD} -e '/pkgconfig/s|$${LIB_DIR}|libdata|' \
+ @${REINPLACE_CMD} -e '/pkgconfig/s|$${LIB_DIR}|libdata|' \
${WRKSRC}/src/qmmp/CMakeLists.txt \
${WRKSRC}/src/qmmpui/CMakeLists.txt
@@ -501,20 +541,20 @@ post-build:
.endif
post-install:
-.ifndef(NOPORTDOCS)
- ${MKDIR} ${DOCSDIR}; \
- cd ${WRKSRC} && ${INSTALL_MAN} ${PORTDOCS} ${DOCSDIR}
-.endif
+ @${MKDIR} ${STAGEDIR}/${DOCSDIR}
+ cd ${WRKSRC} && ${INSTALL_MAN} ${PORTDOCS} ${STAGEDIR}/${DOCSDIR}
.if ${PORT_OPTIONS:MAPIDOC}
- ${MKDIR} ${DOCSDIR}/html/search ; \
+ @${MKDIR} ${STAGEDIR}/${DOCSDIR}/html/search ; \
cd ${WRKSRC}/doc/html && \
- ${INSTALL_MAN} *.html *.png *.css ${DOCSDIR}/html ; \
+ ${INSTALL_MAN} *.html *.png *.css ${STAGEDIR}/${DOCSDIR}/html ; \
cd ${WRKSRC}/doc/html/search && \
- ${INSTALL_MAN} *.html *.png *.css *.js ${DOCSDIR}/html/search ; \
+ ${INSTALL_MAN} *.html *.png *.css *.js ${STAGEDIR}/${DOCSDIR}/html/search ; \
${RM} -f ${WRKDIR}/PLIST.doc ; \
- ${FIND} ${DOCSDIR}/html -type f | ${SED} 's|${PREFIX}/||' \
+ ${FIND} ${STAGEDIR}/${DOCSDIR}/html -type f | \
+ ${SED} 's|${STAGEDIR}/${PREFIX}/||' \
>> ${WRKDIR}/PLIST.doc ; \
- ${FIND} ${DOCSDIR}/html -type d | ${SED} 's|${PREFIX}/|@dirrm |' \
+ ${FIND} ${STAGEDIR}/${DOCSDIR}/html -type d | \
+ ${SED} 's|${STAGEDIR}/${PREFIX}/|@dirrm |' \
| ${SORT} -r >> ${WRKDIR}/PLIST.doc ; \
cd ${WRKDIR} ; ${SED} -i -e '/PLIST.doc/ r PLIST.doc' ${TMPPLIST}
.endif
diff --git a/multimedia/qmmp/distinfo b/multimedia/qmmp/distinfo
index 72a3f599438b..c4ec40c9a0b6 100644
--- a/multimedia/qmmp/distinfo
+++ b/multimedia/qmmp/distinfo
@@ -1,2 +1,2 @@
-SHA256 (qmmp-0.6.3.tar.bz2) = 98f5b8121d475ead81c788ec9d5346c8da537e342c0d99eaff08586af4c92ca8
-SIZE (qmmp-0.6.3.tar.bz2) = 775285
+SHA256 (qmmp-0.7.2.tar.bz2) = 8e6b50ced58e247972060bb5a5156ea2c74b03f33df92e87591d09f685b82081
+SIZE (qmmp-0.7.2.tar.bz2) = 847558
diff --git a/multimedia/qmmp/files/patch-SET_RPATH b/multimedia/qmmp/files/patch-SET_RPATH
deleted file mode 100644
index 1490048aade2..000000000000
--- a/multimedia/qmmp/files/patch-SET_RPATH
+++ /dev/null
@@ -1,11 +0,0 @@
---- CMakeLists.txt.orig 2012-06-30 17:56:52.000000000 +0900
-+++ CMakeLists.txt 2012-06-30 19:52:52.000000000 +0900
-@@ -7,6 +7,8 @@
- link_directories(/usr/local/lib64)
- SET(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} /usr/local/include)
-
-+SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
-+
- #extract version from qmmp.h
- FILE(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/src/qmmp/qmmp.h"
- QMMP_VERSION_DATA REGEX "^#define[ \t]+QMMP_VERSION_[A-Z]+[ \t]+[0-9]+.*$")
diff --git a/multimedia/qmmp/pkg-descr b/multimedia/qmmp/pkg-descr
index e8ac484a1501..f8afc3971563 100644
--- a/multimedia/qmmp/pkg-descr
+++ b/multimedia/qmmp/pkg-descr
@@ -2,9 +2,9 @@ This program is an audio-player, written with help of Qt library.
Supported formats:
MPEG1 layer 2/3, Ogg Vorbis, Native FLAC, Ogg FLAC, Musepack, WavePack,
tracker modules (mod, s3m, it, xm, etc.), ADTS AAC, CD Audio, MIDI,
- WMA-Monkey's Audio (and other formats provided by FFmpeg library), PCM
- Wave (and other formats provided by libsndfile library), and Chiptune
- formats (AY, GBS, GYM, HES, KSS, NSF, NSFE, SAP, SPC, VGM, VGZ, VTX)
+ Opus tags, WMA-Monkey's Audio (and other formats via FFmpeg),
+ PCM Wave (and other formats via libsndfile), and Chiptune formats
+ (AY, GBS, GYM, HES, KSS, NSF, NSFE, SAP, SPC, VGM, VGZ, VTX)
DSP effects:
Bauer Stereophonic-to-Binaural effect, sample rate conversion,
LADSPA effects, extra stereo effect, and crossfade effect
diff --git a/multimedia/qmmp/pkg-plist b/multimedia/qmmp/pkg-plist
index 1a71dd40e513..51326d38e3e5 100644
--- a/multimedia/qmmp/pkg-plist
+++ b/multimedia/qmmp/pkg-plist
@@ -17,7 +17,6 @@ include/qmmp/output.h
include/qmmp/outputfactory.h
include/qmmp/qmmp.h
include/qmmp/qmmpsettings.h
-include/qmmp/recycler.h
include/qmmp/soundcore.h
include/qmmp/statehandler.h
include/qmmp/tagmodel.h
@@ -34,6 +33,7 @@ include/qmmpui/general.h
include/qmmpui/generalfactory.h
include/qmmpui/mediaplayer.h
include/qmmpui/metadataformatter.h
+include/qmmpui/playlistdownloader.h
include/qmmpui/playlistformat.h
include/qmmpui/playlistitem.h
include/qmmpui/playlistmanager.h
@@ -62,6 +62,7 @@ lib/qmmp/CommandLineOptions/libstatusoption.so
%%MPLAYER%%lib/qmmp/Engines/libmplayer.so
%%QMMP_DIALOG%%lib/qmmp/FileDialogs/libqmmpfiledialog.so
%%CONVERTER%%lib/qmmp/General/libconverter.so
+%%COPYPASTE%%lib/qmmp/General/libcopypaste.so
%%COVER%%lib/qmmp/General/libcovermanager.so
%%FILEOPS%%lib/qmmp/General/libfileops.so
%%HAL%%lib/qmmp/General/libhal.so
@@ -73,16 +74,20 @@ lib/qmmp/CommandLineOptions/libstatusoption.so
%%SCROBBLER%%lib/qmmp/General/libscrobbler.so
%%STATICON%%lib/qmmp/General/libstatusicon.so
%%SB%%lib/qmmp/General/libstreambrowser.so
+%%TRACKCHANGE%%lib/qmmp/General/libtrackchange.so
%%UDISKS%%lib/qmmp/General/libudisks.so
+%%UDISKS2%%lib/qmmp/General/libudisks2.so
%%FAAD%%lib/qmmp/Input/libaac.so
%%CDIO%%lib/qmmp/Input/libcdaudio.so
%%CUE%%lib/qmmp/Input/libcue.so
%%FFMPEG%%lib/qmmp/Input/libffmpeg.so
+%%FFMPEG_LEGACY%%lib/qmmp/Input/libffmpeg_legacy.so
%%FLAC%%lib/qmmp/Input/libflac.so
%%MAD%%lib/qmmp/Input/libmad.so
%%MODPLUG%%lib/qmmp/Input/libmodplug.so
%%GME%%lib/qmmp/Input/libgme.so
%%MUSEPACK%%lib/qmmp/Input/libmpc.so
+%%OPUS%%lib/qmmp/Input/libopus.so
%%SNDFILE%%lib/qmmp/Input/libsndfile.so
%%VORBIS%%lib/qmmp/Input/libvorbis.so
%%WAVPACK%%lib/qmmp/Input/libwavpack.so
@@ -93,9 +98,9 @@ lib/qmmp/CommandLineOptions/libstatusoption.so
%%OSS%%lib/qmmp/Output/liboss.so
%%OSS4%%lib/qmmp/Output/liboss4.so
%%PULSE_AUDIO%%lib/qmmp/Output/libpulseaudio.so
-lib/qmmp/PlaylistFormats/libm3uplaylistformat.so
-lib/qmmp/PlaylistFormats/libplsplaylistformat.so
-lib/qmmp/PlaylistFormats/libxspfplaylistformat.so
+lib/qmmp/PlayListFormats/libm3uplaylistformat.so
+lib/qmmp/PlayListFormats/libplsplaylistformat.so
+lib/qmmp/PlayListFormats/libxspfplaylistformat.so
%%CURL%%lib/qmmp/Transports/libhttp.so
%%MMS%%lib/qmmp/Transports/libmms.so
%%SKINNEDUI%%lib/qmmp/Ui/libskinned.so
@@ -134,7 +139,7 @@ share/icons/hicolor/scalable/apps/qmmp-simple.svgz
@dirrmtry lib/qmmp/General
@dirrmtry lib/qmmp/Input
@dirrmtry lib/qmmp/Output
-@dirrmtry lib/qmmp/PlaylistFormats
+@dirrmtry lib/qmmp/PlayListFormats
@dirrmtry lib/qmmp/Transports
@dirrmtry lib/qmmp/Ui
@dirrmtry lib/qmmp/Visual
diff --git a/multimedia/transcode/files/patch-ffmpeg0-10 b/multimedia/transcode/files/patch-ffmpeg0-10
new file mode 100644
index 000000000000..83e11846f1c6
--- /dev/null
+++ b/multimedia/transcode/files/patch-ffmpeg0-10
@@ -0,0 +1,13 @@
+--- filter/filter_pp.c
++++ filter/filter_pp.c
+@@ -38,8 +38,8 @@
+
+ /* FIXME: these use the filter ID as an index--the ID can grow
+ * arbitrarily large, so this needs to be fixed */
+-static pp_mode_t *mode[100];
+-static pp_context_t *context[100];
++static pp_mode *mode[100];
++static pp_context *context[100];
+ static int width[100], height[100];
+ static int pre[100];
+
diff --git a/multimedia/transcode/files/patch-ffmpeg0-11 b/multimedia/transcode/files/patch-ffmpeg0-11
new file mode 100644
index 000000000000..74ac7eec348c
--- /dev/null
+++ b/multimedia/transcode/files/patch-ffmpeg0-11
@@ -0,0 +1,299 @@
+diff -urN encode/encode_lavc.c.orig encode/encode_lavc.c
+--- encode/encode_lavc.c.orig 2011-11-19 08:50:27.000000000 -0800
++++ encode/encode_lavc.c 2012-07-03 10:47:03.528009149 -0700
+@@ -114,6 +114,7 @@
+
+ AVFrame ff_venc_frame;
+ AVCodecContext ff_vcontext;
++ AVDictionary ** ff_opts;
+
+ AVCodec *ff_vcodec;
+
+@@ -1036,14 +1037,10 @@
+ SET_FLAG(pd, mv0);
+ SET_FLAG(pd, cbp);
+ SET_FLAG(pd, qpel);
+- SET_FLAG(pd, alt);
+- SET_FLAG(pd, vdpart);
+ SET_FLAG(pd, naq);
+ SET_FLAG(pd, ilme);
+ SET_FLAG(pd, ildct);
+ SET_FLAG(pd, aic);
+- SET_FLAG(pd, aiv);
+- SET_FLAG(pd, umv);
+ SET_FLAG(pd, psnr);
+ SET_FLAG(pd, trell);
+ SET_FLAG(pd, gray);
+@@ -1064,6 +1061,18 @@
+ pd->ff_vcontext.flags |= CODEC_FLAG_INTERLACED_DCT;
+ pd->ff_vcontext.flags |= CODEC_FLAG_INTERLACED_ME;
+ }
++ if (pd->confdata.flags.alt) {
++ av_dict_set(pd->ff_opts, "alternate_scan", "1", 0);
++ }
++ if (pd->confdata.flags.vdpart) {
++ av_dict_set(pd->ff_opts, "data_partitioning", "1", 0);
++ }
++ if (pd->confdata.flags.umv) {
++ av_dict_set(pd->ff_opts, "umv", "1", 0);
++ }
++ if (pd->confdata.flags.aiv) {
++ av_dict_set(pd->ff_opts, "aiv", "1", 0);
++ }
+ }
+
+ #undef SET_FLAG
+@@ -1184,18 +1193,18 @@
+ { "mv0", PAUX(flags.mv0), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_MV0 },
+ { "cbp", PAUX(flags.cbp), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_CBP_RD },
+ { "qpel", PAUX(flags.qpel), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_QPEL },
+- { "alt", PAUX(flags.alt), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_ALT_SCAN },
++ { "alt", PAUX(flags.alt), TCCONF_TYPE_FLAG, 0, 0, 1 },
+ { "ilme", PAUX(flags.ilme), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_INTERLACED_ME },
+ { "ildct", PAUX(flags.ildct), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_INTERLACED_DCT },
+ { "naq", PAUX(flags.naq), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_NORMALIZE_AQP },
+- { "vdpart", PAUX(flags.vdpart), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_PART },
++ { "vdpart", PAUX(flags.vdpart), TCCONF_TYPE_FLAG, 0, 0, 1 },
+ #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
+ { "aic", PAUX(flags.aic), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_H263P_AIC },
+ #else
+ { "aic", PAUX(flags.aic), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_AC_PRED },
+ #endif
+- { "aiv", PAUX(flags.aiv), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_H263P_AIV },
+- { "umv", PAUX(flags.umv), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_H263P_UMV },
++ { "aiv", PAUX(flags.aiv), TCCONF_TYPE_FLAG, 0, 0, 1 },
++ { "umv", PAUX(flags.umv), TCCONF_TYPE_FLAG, 0, 0, 1 },
+ { "psnr", PAUX(flags.psnr), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_PSNR },
+ #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
+ { "trell", PAUX(flags.trell), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_TRELLIS_QUANT },
+@@ -1387,7 +1396,7 @@
+ pd->confdata.thread_count,
+ (pd->confdata.thread_count > 1) ?"s" :"");
+ }
+- avcodec_thread_init(&pd->ff_vcontext, pd->confdata.thread_count);
++ pd->ff_vcontext.thread_count = pd->confdata.thread_count;
+
+ pd->ff_vcodec = avcodec_find_encoder(FF_VCODEC_ID(pd));
+ if (pd->ff_vcodec == NULL) {
+@@ -1397,11 +1406,11 @@
+ }
+
+ TC_LOCK_LIBAVCODEC;
+- ret = avcodec_open(&pd->ff_vcontext, pd->ff_vcodec);
++ ret = avcodec_open2(&pd->ff_vcontext, pd->ff_vcodec, pd->ff_opts);
+ TC_UNLOCK_LIBAVCODEC;
+
+ if (ret < 0) {
+- tc_log_error(MOD_NAME, "avcodec_open() failed");
++ tc_log_error(MOD_NAME, "avcodec_open2() failed");
+ goto failed;
+ }
+ /* finally, pass up the extradata, if any */
+diff -urN export/export_ffmpeg.c.orig export/export_ffmpeg.c
+--- export/export_ffmpeg.c.orig 2011-11-19 08:50:27.000000000 -0800
++++ export/export_ffmpeg.c 2012-07-03 13:15:23.918019415 -0700
+@@ -122,6 +122,7 @@
+ static AVFrame *lavc_convert_frame = NULL;
+
+ static AVCodec *lavc_venc_codec = NULL;
++static AVDictionary **lavc_venc_opts = NULL;
+ static AVFrame *lavc_venc_frame = NULL;
+ static AVCodecContext *lavc_venc_context;
+ static avi_t *avifile = NULL;
+@@ -180,7 +181,7 @@
+
+
+ /* START: COPIED FROM ffmpeg-0.5_p22846(ffmpeg.c, cmdutils.c) */
+-#include <libavcodec/opt.h>
++#include <libavutil/opt.h>
+ #include <libavutil/avstring.h>
+ #include <libswscale/swscale.h>
+
+@@ -470,7 +471,6 @@
+ }
+
+ TC_LOCK_LIBAVCODEC;
+- avcodec_init();
+ avcodec_register_all();
+ TC_UNLOCK_LIBAVCODEC;
+
+@@ -634,7 +634,7 @@
+ lavc_param_rc_max_rate = 2516;
+ lavc_param_rc_buffer_size = 224 * 8;
+ lavc_param_rc_buffer_aggressivity = 99;
+- lavc_param_scan_offset = CODEC_FLAG_SVCD_SCAN_OFFSET;
++ lavc_param_scan_offset = 1;
+
+ break;
+
+@@ -674,7 +674,7 @@
+
+ lavc_param_rc_buffer_size = 224 * 8;
+ lavc_param_rc_buffer_aggressivity = 99;
+- lavc_param_scan_offset = CODEC_FLAG_SVCD_SCAN_OFFSET;
++ lavc_param_scan_offset = 1;
+
+ break;
+
+@@ -887,7 +887,7 @@
+ lavc_venc_context->thread_count);
+ }
+
+- avcodec_thread_init(lavc_venc_context, lavc_param_threads);
++ lavc_venc_context->thread_count = lavc_param_threads;
+
+ if (lavc_param_intra_matrix) {
+ char *tmp;
+@@ -1065,15 +1065,10 @@
+ lavc_venc_context->flags |= lavc_param_closedgop;
+ lavc_venc_context->flags |= lavc_param_trunc;
+ lavc_venc_context->flags |= lavc_param_aic;
+- lavc_venc_context->flags |= lavc_param_umv;
+ lavc_venc_context->flags |= lavc_param_v4mv;
+- lavc_venc_context->flags |= lavc_param_data_partitioning;
+ lavc_venc_context->flags |= lavc_param_cbp;
+ lavc_venc_context->flags |= lavc_param_mv0;
+ lavc_venc_context->flags |= lavc_param_qp_rd;
+- lavc_venc_context->flags |= lavc_param_scan_offset;
+- lavc_venc_context->flags |= lavc_param_ss;
+- lavc_venc_context->flags |= lavc_param_alt;
+ lavc_venc_context->flags |= lavc_param_ilme;
+ #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
+ lavc_venc_context->flags |= lavc_param_trell;
+@@ -1203,7 +1198,6 @@
+
+ lavc_venc_context->me_method = ME_ZERO + lavc_param_vme;
+
+-
+ /* FIXME: transcode itself contains "broken ffmpeg default settings", thus we need to override them! */
+ if (lavc_param_video_preset) {
+ avcodec_opts[AVMEDIA_TYPE_VIDEO] = lavc_venc_context;
+@@ -1241,20 +1235,39 @@
+ }
+ }
+
++ if (lavc_param_scan_offset) {
++ av_dict_set(lavc_venc_opts, "scan_offset", "1", 0);
++ }
++
++ if (lavc_param_ss) {
++ av_dict_set(lavc_venc_opts, "structured_slices", "1", 0);
++ }
++
++ if (lavc_param_alt) {
++ av_dict_set(lavc_venc_opts, "alternate_scan", "1", 0);
++ }
++
++ if (lavc_param_umv) {
++ av_dict_set(lavc_venc_opts, "umv", "1", 0);
++ }
++
++ if (lavc_param_data_partitioning) {
++ av_dict_set(lavc_venc_opts, "vdpart", "1", 0);
++ }
+
+ //-- open codec --
+ //----------------
+ TC_LOCK_LIBAVCODEC;
+- ret = avcodec_open(lavc_venc_context, lavc_venc_codec);
++ ret = avcodec_open2(lavc_venc_context, lavc_venc_codec, lavc_venc_opts);
+ TC_UNLOCK_LIBAVCODEC;
+ if (ret < 0) {
+ tc_log_warn(MOD_NAME, "could not open FFMPEG codec");
+ return TC_EXPORT_ERROR;
+ }
+
+- if (lavc_venc_context->codec->encode == NULL) {
++ if (av_codec_is_encoder(lavc_venc_context->codec) == 0) {
+ tc_log_warn(MOD_NAME, "could not open FFMPEG codec "
+- "(lavc_venc_context->codec->encode == NULL)");
++ "(av_codec_is_encoder(lavc_venc_context->codec) == 0)");
+ return TC_EXPORT_ERROR;
+ }
+
+diff -urN export/ffmpeg_cfg.c.orig export/ffmpeg_cfg.c
+--- export/ffmpeg_cfg.c.orig 2011-11-19 08:50:27.000000000 -0800
++++ export/ffmpeg_cfg.c 2012-07-03 10:09:25.011003254 -0700
+@@ -160,9 +160,9 @@
+ {"vcelim", &lavc_param_chroma_elim_threshold, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99},
+ {"vpsize", &lavc_param_packet_size, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 100000000},
+ {"vstrict", &lavc_param_strict, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99},
+- {"vdpart", &lavc_param_data_partitioning, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_PART},
++ {"vdpart", &lavc_param_data_partitioning, TCCONF_TYPE_FLAG, 0, 0, 1},
+ // {"keyint", &lavc_param_keyint, TCCONF_TYPE_INT, 0, 0, 0},
+- {"gray", &lavc_param_gray, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_PART},
++ {"gray", &lavc_param_gray, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_GRAY},
+ {"mpeg_quant", &lavc_param_mpeg_quant, TCCONF_TYPE_FLAG, 0, 0, 1},
+ {"vi_qfactor", &lavc_param_vi_qfactor, TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, -31.0, 31.0},
+ {"vi_qoffset", &lavc_param_vi_qoffset, TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 31.0},
+@@ -211,7 +211,7 @@
+ #else
+ {"aic", &lavc_param_aic, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_AC_PRED},
+ #endif
+- {"umv", &lavc_param_umv, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_H263P_UMV},
++ {"umv", &lavc_param_umv, TCCONF_TYPE_FLAG, 0, 0, 1},
+ {"ibias", &lavc_param_ibias, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -512, 512},
+ {"pbias", &lavc_param_pbias, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -512, 512},
+ {"coder", &lavc_param_coder, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 10},
+@@ -223,9 +223,9 @@
+ {"nr", &lavc_param_noise_reduction, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 1000000},
+ {"qprd", &lavc_param_qp_rd, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_QP_RD},
+ {"threads", &lavc_param_threads, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 16},
+- {"ss", &lavc_param_ss, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_H263P_SLICE_STRUCT},
+- {"svcd_sof", &lavc_param_scan_offset, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_SVCD_SCAN_OFFSET},
+- {"alt", &lavc_param_alt, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_ALT_SCAN},
++ {"ss", &lavc_param_ss, TCCONF_TYPE_FLAG, 0, 0, 1},
++ {"svcd_sof", &lavc_param_scan_offset, TCCONF_TYPE_FLAG, 0, 0, 1},
++ {"alt", &lavc_param_alt, TCCONF_TYPE_FLAG, 0, 0, 1},
+ {"ilme", &lavc_param_ilme, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_INTERLACED_ME},
+ {"inter_threshold", &lavc_param_inter_threshold, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -1000000, 1000000},
+ {"sc_threshold", &lavc_param_sc_threshold, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -1000000, 1000000},
+diff -urN import/decode_lavc.c.orig import/decode_lavc.c
+--- import/decode_lavc.c.orig 2011-11-19 08:50:27.000000000 -0800
++++ import/decode_lavc.c 2012-07-03 10:21:46.085005182 -0700
+@@ -181,7 +181,7 @@
+ #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
+ lavc_dec_context->error_resilience = 2;
+ #else
+- lavc_dec_context->error_recognition = 2;
++ lavc_dec_context->err_recognition = 2;
+ #endif
+ lavc_dec_context->error_concealment = 3;
+ lavc_dec_context->workaround_bugs = FF_BUG_AUTODETECT;
+diff -urN import/import_ffmpeg.c.orig import/import_ffmpeg.c
+--- import/import_ffmpeg.c.orig 2011-11-19 08:50:27.000000000 -0800
++++ import/import_ffmpeg.c 2012-07-03 10:19:36.936004841 -0700
+@@ -314,7 +314,7 @@
+ #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
+ lavc_dec_context->error_resilience = 2;
+ #else
+- lavc_dec_context->error_recognition = 2;
++ lavc_dec_context->err_recognition = 2;
+ #endif
+ lavc_dec_context->error_concealment = 3;
+ lavc_dec_context->workaround_bugs = FF_BUG_AUTODETECT;
+diff -urN import/probe_ffmpeg.c.orig import/probe_ffmpeg.c
+--- import/probe_ffmpeg.c.orig 2011-11-19 08:50:27.000000000 -0800
++++ import/probe_ffmpeg.c 2012-07-03 10:41:42.782008306 -0700
+@@ -99,8 +99,8 @@
+
+ TC_INIT_LIBAVCODEC;
+
+- ret = av_open_input_file(&lavf_dmx_context, ipipe->name,
+- NULL, 0, NULL);
++ ret = avformat_open_input(&lavf_dmx_context, ipipe->name,
++ NULL, NULL);
+ if (ret != 0) {
+ tc_log_error(__FILE__, "unable to open '%s'"
+ " (libavformat failure)",
+diff -urN libtc/tcavcodec.h.orig libtc/tcavcodec.h
+--- libtc/tcavcodec.h.orig 2011-11-19 08:50:27.000000000 -0800
++++ libtc/tcavcodec.h 2012-07-03 10:34:43.648007213 -0700
+@@ -53,7 +53,6 @@
+
+ #define TC_INIT_LIBAVCODEC do { \
+ TC_LOCK_LIBAVCODEC; \
+- avcodec_init(); \
+ avcodec_register_all(); \
+ TC_UNLOCK_LIBAVCODEC; \
+ } while (0)
diff --git a/multimedia/transcode/files/patch-ffmpeg2 b/multimedia/transcode/files/patch-ffmpeg2
new file mode 100644
index 000000000000..bbeef488a702
--- /dev/null
+++ b/multimedia/transcode/files/patch-ffmpeg2
@@ -0,0 +1,328 @@
+Index: encode/encode_lavc.c
+===================================================================
+--- encode/encode_lavc.c.orig
++++ encode/encode_lavc.c
+@@ -74,6 +74,9 @@ struct tclavcconfigdata_ {
+ int lmin;
+ int lmax;
+ int me_method;
++ int luma_elim_threshold;
++ int chroma_elim_threshold;
++ int quantizer_noise_shaping;
+
+ /* same as above for flags */
+ struct {
+@@ -114,7 +117,7 @@ struct tclavcprivatedata_ {
+
+ AVFrame ff_venc_frame;
+ AVCodecContext ff_vcontext;
+- AVDictionary ** ff_opts;
++ AVDictionary * ff_opts;
+
+ AVCodec *ff_vcodec;
+
+@@ -165,6 +168,7 @@ static const TCCodecID tc_lavc_codecs_ou
+ TC_CODEC_ERROR
+ };
+
++#if LIBAVCODEC_VERSION_MAJOR < 55
+ static const enum CodecID tc_lavc_internal_codecs[] = {
+ CODEC_ID_MPEG1VIDEO, CODEC_ID_MPEG2VIDEO, CODEC_ID_MPEG4,
+ CODEC_ID_H263I, CODEC_ID_H263P,
+@@ -177,6 +181,20 @@ static const enum CodecID tc_lavc_intern
+ CODEC_ID_MSMPEG4V2, CODEC_ID_MSMPEG4V3,
+ CODEC_ID_NONE
+ };
++#else
++static const enum AVCodecID tc_lavc_internal_codecs[] = {
++ AV_CODEC_ID_MPEG1VIDEO, AV_CODEC_ID_MPEG2VIDEO, AV_CODEC_ID_MPEG4,
++ AV_CODEC_ID_H263I, AV_CODEC_ID_H263P,
++ AV_CODEC_ID_H264,
++ AV_CODEC_ID_WMV1, AV_CODEC_ID_WMV2,
++ AV_CODEC_ID_RV10,
++ AV_CODEC_ID_HUFFYUV, AV_CODEC_ID_FFV1,
++ AV_CODEC_ID_DVVIDEO,
++ AV_CODEC_ID_MJPEG, AV_CODEC_ID_LJPEG,
++ AV_CODEC_ID_MSMPEG4V2, AV_CODEC_ID_MSMPEG4V3,
++ AV_CODEC_ID_NONE
++};
++#endif
+
+ static const TCFormatID tc_lavc_formats[] = { TC_FORMAT_ERROR };
+
+@@ -938,7 +956,11 @@ static int tc_lavc_settings_from_vob(TCL
+ static void tc_lavc_config_defaults(TCLavcPrivateData *pd)
+ {
+ /* first of all reinitialize lavc data */
++#if LIBAVCODEC_VERSION_MAJOR < 55
+ avcodec_get_context_defaults(&pd->ff_vcontext);
++#else
++ avcodec_get_context_defaults3(&pd->ff_vcontext, NULL);
++#endif
+
+ pd->confdata.thread_count = 1;
+
+@@ -976,8 +998,8 @@ static void tc_lavc_config_defaults(TCLa
+ pd->ff_vcontext.mpeg_quant = 0;
+ pd->ff_vcontext.rc_initial_cplx = 0.0;
+ pd->ff_vcontext.rc_qsquish = 1.0;
+- pd->ff_vcontext.luma_elim_threshold = 0;
+- pd->ff_vcontext.chroma_elim_threshold = 0;
++ pd->confdata.luma_elim_threshold = 0;
++ pd->confdata.chroma_elim_threshold = 0;
+ pd->ff_vcontext.strict_std_compliance = 0;
+ pd->ff_vcontext.dct_algo = FF_DCT_AUTO;
+ pd->ff_vcontext.idct_algo = FF_IDCT_AUTO;
+@@ -1001,7 +1023,7 @@ static void tc_lavc_config_defaults(TCLa
+ pd->ff_vcontext.intra_quant_bias = FF_DEFAULT_QUANT_BIAS;
+ pd->ff_vcontext.inter_quant_bias = FF_DEFAULT_QUANT_BIAS;
+ pd->ff_vcontext.noise_reduction = 0;
+- pd->ff_vcontext.quantizer_noise_shaping = 0;
++ pd->confdata.quantizer_noise_shaping = 0;
+ pd->ff_vcontext.flags = 0;
+ }
+
+@@ -1033,7 +1055,6 @@ static void tc_lavc_dispatch_settings(TC
+
+ pd->ff_vcontext.flags = 0;
+ SET_FLAG(pd, mv0);
+- SET_FLAG(pd, cbp);
+ SET_FLAG(pd, qpel);
+ SET_FLAG(pd, naq);
+ SET_FLAG(pd, ilme);
+@@ -1060,17 +1081,29 @@ static void tc_lavc_dispatch_settings(TC
+ pd->ff_vcontext.flags |= CODEC_FLAG_INTERLACED_ME;
+ }
+ if (pd->confdata.flags.alt) {
+- av_dict_set(pd->ff_opts, "alternate_scan", "1", 0);
++ av_dict_set(&(pd->ff_opts), "alternate_scan", "1", 0);
+ }
+ if (pd->confdata.flags.vdpart) {
+- av_dict_set(pd->ff_opts, "data_partitioning", "1", 0);
++ av_dict_set(&(pd->ff_opts), "data_partitioning", "1", 0);
+ }
+ if (pd->confdata.flags.umv) {
+- av_dict_set(pd->ff_opts, "umv", "1", 0);
++ av_dict_set(&(pd->ff_opts), "umv", "1", 0);
+ }
+ if (pd->confdata.flags.aiv) {
+- av_dict_set(pd->ff_opts, "aiv", "1", 0);
++ av_dict_set(&(pd->ff_opts), "aiv", "1", 0);
+ }
++ if (pd->confdata.flags.cbp) {
++ av_dict_set(&(pd->ff_opts), "mpv_flags", "+cbp_rd", 0);
++ }
++
++ char buf[1024];
++#define set_dict_opt(val, opt) \
++ snprintf(buf, sizeof(buf), "%i", pd->confdata.val);\
++ av_dict_set(&(pd->ff_opts), opt, buf, 0)
++
++ set_dict_opt(luma_elim_threshold, "luma_elim_threshold");
++ set_dict_opt(chroma_elim_threshold, "chroma_elim_threshold");
++ set_dict_opt(quantizer_noise_shaping, "quantizer_noise_shaping");
+ }
+
+ #undef SET_FLAG
+@@ -1155,8 +1188,8 @@ static int tc_lavc_read_config(TCLavcPri
+ { "vrc_init_cplx", PCTX(rc_initial_cplx), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 9999999.0 },
+ // { "vrc_init_occupancy", }, // not yet supported
+ { "vqsquish", PCTX(rc_qsquish), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 99.0 },
+- { "vlelim", PCTX(luma_elim_threshold), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99 },
+- { "vcelim", PCTX(chroma_elim_threshold), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99 },
++ { "vlelim", PAUX(luma_elim_threshold), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99 },
++ { "vcelim", PAUX(chroma_elim_threshold), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99 },
+ { "vstrict", PCTX(strict_std_compliance), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99 },
+ { "vpsize", PCTX(rtp_payload_size), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 100000000 },
+ { "dct", PCTX(dct_algo), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 10 },
+@@ -1182,12 +1215,12 @@ static int tc_lavc_read_config(TCLavcPri
+ { "ibias", PCTX(intra_quant_bias), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -512, 512 },
+ { "pbias", PCTX(inter_quant_bias), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -512, 512 },
+ { "nr", PCTX(noise_reduction), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 1000000},
+- { "qns", PCTX(quantizer_noise_shaping), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 3 },
++ { "qns", PAUX(quantizer_noise_shaping), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 3 },
+ { "inter_matrix_file", inter_matrix_file, TCCONF_TYPE_STRING, 0, 0, 0 },
+ { "intra_matrix_file", intra_matrix_file, TCCONF_TYPE_STRING, 0, 0, 0 },
+
+ { "mv0", PAUX(flags.mv0), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_MV0 },
+- { "cbp", PAUX(flags.cbp), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_CBP_RD },
++ { "cbp", PAUX(flags.cbp), TCCONF_TYPE_FLAG, 0, 0, 1 },
+ { "qpel", PAUX(flags.qpel), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_QPEL },
+ { "alt", PAUX(flags.alt), TCCONF_TYPE_FLAG, 0, 0, 1 },
+ { "ilme", PAUX(flags.ilme), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_INTERLACED_ME },
+@@ -1350,6 +1383,8 @@ static int tc_lavc_configure(TCModuleIns
+
+ pd = self->userdata;
+
++ pd->ff_opts = NULL;
++
+ pd->flush_flag = vob->encoder_flush;
+
+ /* FIXME: move into core? */
+@@ -1402,7 +1437,7 @@ static int tc_lavc_configure(TCModuleIns
+ }
+
+ TC_LOCK_LIBAVCODEC;
+- ret = avcodec_open2(&pd->ff_vcontext, pd->ff_vcodec, pd->ff_opts);
++ ret = avcodec_open2(&pd->ff_vcontext, pd->ff_vcodec, &(pd->ff_opts));
+ TC_UNLOCK_LIBAVCODEC;
+
+ if (ret < 0) {
+Index: export/export_ffmpeg.c
+===================================================================
+--- export/export_ffmpeg.c.orig
++++ export/export_ffmpeg.c
+@@ -122,7 +122,7 @@ static uint8_t *img_buffer =
+ static AVFrame *lavc_convert_frame = NULL;
+
+ static AVCodec *lavc_venc_codec = NULL;
+-static AVDictionary **lavc_venc_opts = NULL;
++static AVDictionary *lavc_venc_opts = NULL;
+ static AVFrame *lavc_venc_frame = NULL;
+ static AVCodecContext *lavc_venc_context;
+ static avi_t *avifile = NULL;
+@@ -486,7 +486,7 @@ MOD_init
+ codec->name, codec->fourCC, codec->comments);
+ }
+
+- lavc_venc_context = avcodec_alloc_context();
++ lavc_venc_context = avcodec_alloc_context3(lavc_venc_codec);
+ lavc_venc_frame = avcodec_alloc_frame();
+
+ lavc_convert_frame= avcodec_alloc_frame();
+@@ -838,8 +838,13 @@ MOD_init
+ lavc_venc_context->rc_strategy = lavc_param_vrc_strategy;
+ lavc_venc_context->b_frame_strategy = lavc_param_vb_strategy;
+ lavc_venc_context->b_quant_offset = lavc_param_vb_qoffset;
+- lavc_venc_context->luma_elim_threshold= lavc_param_luma_elim_threshold;
+- lavc_venc_context->chroma_elim_threshold= lavc_param_chroma_elim_threshold;
++
++ char buf[1024];
++#define set_dict_opt(val, opt) \
++ snprintf(buf, sizeof(buf), "%i", val); \
++ av_dict_set(&lavc_venc_opts, opt, buf, 0)
++ set_dict_opt(lavc_param_luma_elim_threshold, "luma_elim_threshold");
++ set_dict_opt(lavc_param_chroma_elim_threshold, "chroma_elim_threshold");
+ lavc_venc_context->rtp_payload_size = lavc_param_packet_size;
+ #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
+ if (lavc_param_packet_size)
+@@ -870,7 +875,7 @@ MOD_init
+ lavc_venc_context->context_model = lavc_param_context;
+ lavc_venc_context->scenechange_threshold= lavc_param_sc_threshold;
+ lavc_venc_context->noise_reduction = lavc_param_noise_reduction;
+- lavc_venc_context->inter_threshold = lavc_param_inter_threshold;
++ set_dict_opt(lavc_param_inter_threshold, "inter_threshold");
+ lavc_venc_context->intra_dc_precision = lavc_param_intra_dc_precision;
+ lavc_venc_context->skip_top = lavc_param_skip_top;
+ lavc_venc_context->skip_bottom = lavc_param_skip_bottom;
+@@ -1066,9 +1071,11 @@ MOD_init
+ lavc_venc_context->flags |= lavc_param_trunc;
+ lavc_venc_context->flags |= lavc_param_aic;
+ lavc_venc_context->flags |= lavc_param_v4mv;
+- lavc_venc_context->flags |= lavc_param_cbp;
++ if(lavc_param_cbp)
++ av_dict_set(&lavc_venc_opts, "mpv_flags", "+cbp_rd", 0);
+ lavc_venc_context->flags |= lavc_param_mv0;
+- lavc_venc_context->flags |= lavc_param_qp_rd;
++ if(lavc_param_qp_rd)
++ av_dict_set(&lavc_venc_opts, "mpv_flags", "+qp_rd", 0);
+ lavc_venc_context->flags |= lavc_param_ilme;
+ #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
+ lavc_venc_context->flags |= lavc_param_trell;
+@@ -1238,29 +1245,29 @@ MOD_init
+ }
+
+ if (lavc_param_scan_offset) {
+- av_dict_set(lavc_venc_opts, "scan_offset", "1", 0);
++ av_dict_set(&lavc_venc_opts, "scan_offset", "1", 0);
+ }
+
+ if (lavc_param_ss) {
+- av_dict_set(lavc_venc_opts, "structured_slices", "1", 0);
++ av_dict_set(&lavc_venc_opts, "structured_slices", "1", 0);
+ }
+
+ if (lavc_param_alt) {
+- av_dict_set(lavc_venc_opts, "alternate_scan", "1", 0);
++ av_dict_set(&lavc_venc_opts, "alternate_scan", "1", 0);
+ }
+
+ if (lavc_param_umv) {
+- av_dict_set(lavc_venc_opts, "umv", "1", 0);
++ av_dict_set(&lavc_venc_opts, "umv", "1", 0);
+ }
+
+ if (lavc_param_data_partitioning) {
+- av_dict_set(lavc_venc_opts, "vdpart", "1", 0);
++ av_dict_set(&lavc_venc_opts, "vdpart", "1", 0);
+ }
+
+ //-- open codec --
+ //----------------
+ TC_LOCK_LIBAVCODEC;
+- ret = avcodec_open2(lavc_venc_context, lavc_venc_codec, lavc_venc_opts);
++ ret = avcodec_open2(lavc_venc_context, lavc_venc_codec, &lavc_venc_opts);
+ TC_UNLOCK_LIBAVCODEC;
+ if (ret < 0) {
+ tc_log_warn(MOD_NAME, "could not open FFMPEG codec");
+Index: export/ffmpeg_cfg.c
+===================================================================
+--- export/ffmpeg_cfg.c.orig
++++ export/ffmpeg_cfg.c
+@@ -214,10 +214,10 @@ TCConfigEntry lavcopts_conf[]={
+ {"context", &lavc_param_context, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 10},
+ {"intra_matrix", &lavc_param_intra_matrix, TCCONF_TYPE_STRING, 0, 0, 0},
+ {"inter_matrix", &lavc_param_inter_matrix, TCCONF_TYPE_STRING, 0, 0, 0},
+- {"cbp", &lavc_param_cbp, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_CBP_RD},
++ {"cbp", &lavc_param_cbp, TCCONF_TYPE_FLAG, 0, 0, 1},
+ {"mv0", &lavc_param_mv0, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_MV0},
+ {"nr", &lavc_param_noise_reduction, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 1000000},
+- {"qprd", &lavc_param_qp_rd, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_QP_RD},
++ {"qprd", &lavc_param_qp_rd, TCCONF_TYPE_FLAG, 0, 0, 1},
+ {"threads", &lavc_param_threads, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 16},
+ {"ss", &lavc_param_ss, TCCONF_TYPE_FLAG, 0, 0, 1},
+ {"svcd_sof", &lavc_param_scan_offset, TCCONF_TYPE_FLAG, 0, 0, 1},
+Index: export/aud_aux.c
+===================================================================
+--- export/aud_aux.c.orig
++++ export/aud_aux.c
+@@ -346,7 +346,7 @@ static int tc_audio_init_ffmpeg(vob_t *v
+
+ //-- set parameters (bitrate, channels and sample-rate) --
+ //--------------------------------------------------------
+- avcodec_get_context_defaults(&mpa_ctx);
++ avcodec_get_context_defaults3(&mpa_ctx, mpa_codec);
+ #if LIBAVCODEC_VERSION_MAJOR < 53
+ mpa_ctx.codec_type = CODEC_TYPE_AUDIO;
+ #else
+@@ -359,7 +359,7 @@ static int tc_audio_init_ffmpeg(vob_t *v
+ //-- open codec --
+ //----------------
+ TC_LOCK_LIBAVCODEC;
+- ret = avcodec_open(&mpa_ctx, mpa_codec);
++ ret = avcodec_open2(&mpa_ctx, mpa_codec, NULL);
+ TC_UNLOCK_LIBAVCODEC;
+ if (ret < 0) {
+ tc_warn("tc_audio_init_ffmpeg: could not open %s codec !",
+Index: import/import_ffmpeg.c
+===================================================================
+--- import/import_ffmpeg.c.orig
++++ import/import_ffmpeg.c
+@@ -302,7 +302,7 @@ do_avi:
+
+ // Set these to the expected values so that ffmpeg's decoder can
+ // properly detect interlaced input.
+- lavc_dec_context = avcodec_alloc_context();
++ lavc_dec_context = avcodec_alloc_context3(lavc_dec_codec);
+ if (lavc_dec_context == NULL) {
+ tc_log_error(MOD_NAME, "Could not allocate enough memory.");
+ return TC_IMPORT_ERROR;
+@@ -344,7 +344,7 @@ do_avi:
+ }
+
+ TC_LOCK_LIBAVCODEC;
+- ret = avcodec_open(lavc_dec_context, lavc_dec_codec);
++ ret = avcodec_open2(lavc_dec_context, lavc_dec_codec, NULL);
+ TC_UNLOCK_LIBAVCODEC;
+ if (ret < 0) {
+ tc_log_warn(MOD_NAME, "Could not initialize the '%s' codec.",
diff --git a/multimedia/transcode/files/patch-livav-9.patch b/multimedia/transcode/files/patch-livav-9.patch
new file mode 100644
index 000000000000..9f2d2351f4f0
--- /dev/null
+++ b/multimedia/transcode/files/patch-livav-9.patch
@@ -0,0 +1,31 @@
+--- ./import/probe_ffmpeg.c.original 2013-04-22 20:04:51.058081388 +0200
++++ ./import/probe_ffmpeg.c 2013-04-22 20:05:25.744081897 +0200
+@@ -109,7 +109,7 @@ void probe_ffmpeg(info_t *ipipe)
+ return;
+ }
+
+- ret = av_find_stream_info(lavf_dmx_context);
++ ret = avformat_find_stream_info(lavf_dmx_context, NULL);
+ if (ret < 0) {
+ tc_log_error(__FILE__, "unable to fetch informations from '%s'"
+ " (libavformat failure)",
+--- ./import/decode_lavc.c.original 2013-04-22 20:06:17.260082652 +0200
++++ ./import/decode_lavc.c 2013-04-22 20:07:47.564083975 +0200
+@@ -170,7 +170,7 @@ void decode_lavc(decode_t *decode)
+
+ // Set these to the expected values so that ffmpeg's decoder can
+ // properly detect interlaced input.
+- lavc_dec_context = avcodec_alloc_context();
++ lavc_dec_context = avcodec_alloc_context3(NULL);
+ if (lavc_dec_context == NULL) {
+ tc_log_error(__FILE__, "Could not allocate enough memory.");
+ goto decoder_error;
+@@ -186,7 +186,7 @@ void decode_lavc(decode_t *decode)
+ lavc_dec_context->error_concealment = 3;
+ lavc_dec_context->workaround_bugs = FF_BUG_AUTODETECT;
+
+- if (avcodec_open(lavc_dec_context, lavc_dec_codec) < 0) {
++ if (avcodec_open2(lavc_dec_context, lavc_dec_codec, NULL) < 0) {
+ tc_log_error(__FILE__, "Could not initialize the '%s' codec.",
+ codec->name);
+ goto decoder_error;
diff --git a/multimedia/vdr-plugin-osdpip/files/patch-ffmpeg1 b/multimedia/vdr-plugin-osdpip/files/patch-ffmpeg1
new file mode 100644
index 000000000000..b0304ad5adc0
--- /dev/null
+++ b/multimedia/vdr-plugin-osdpip/files/patch-ffmpeg1
@@ -0,0 +1,26 @@
+Index: osdpip-0.1.1/decoder.h
+===================================================================
+--- osdpip-0.1.1.orig/decoder.h
++++ osdpip-0.1.1/decoder.h
+@@ -34,7 +34,7 @@ extern "C"
+ #include <libavcodec/avcodec.h>
+ #ifdef USE_SWSCALE
+ #include <libswscale/swscale.h>
+- #include <libavcodec/opt.h>
++ #include <libavutil/opt.h>
+ #endif
+ #else
+ #include <ffmpeg/avcodec.h>
+Index: osdpip-0.1.1/osdpip.c
+===================================================================
+--- osdpip-0.1.1.orig/osdpip.c
++++ osdpip-0.1.1/osdpip.c
+@@ -73,8 +73,6 @@ bool cPluginOsdpip::ProcessArgs(int argc
+
+ bool cPluginOsdpip::Initialize(void)
+ {
+- // must be called before using avcodec lib
+- avcodec_init();
+ // register all the codecs (you can also register only the codec
+ // you wish to have smaller code)
+ avcodec_register_all();
diff --git a/multimedia/vdr-plugin-osdpip/files/patch-libav9 b/multimedia/vdr-plugin-osdpip/files/patch-libav9
new file mode 100644
index 000000000000..d1f531b325ce
--- /dev/null
+++ b/multimedia/vdr-plugin-osdpip/files/patch-libav9
@@ -0,0 +1,40 @@
+diff -urN osdpip-0.1.2.old/decoder.c osdpip-0.1.2/decoder.c
+--- osdpip-0.1.2.old/decoder.c 2013-06-17 21:01:31.795476861 +0200
++++ osdpip-0.1.2/decoder.c 2013-06-17 21:01:57.153475959 +0200
+@@ -34,8 +34,8 @@
+ printf("codec not found\n");
+ return -1;
+ }
+- m_Context = avcodec_alloc_context();
+- if (avcodec_open(m_Context, m_Codec) < 0)
++ m_Context = avcodec_alloc_context3(m_Codec);
++ if (avcodec_open2(m_Context, m_Codec, NULL) < 0)
+ {
+ printf("could not open codec\n");
+ return -1;
+@@ -106,17 +106,17 @@
+ return -1;
+ }
+
+- av_set_int(context, "srcw", m_Context->width - (OsdPipSetup.CropLeft + OsdPipSetup.CropRight));
+- av_set_int(context, "srch", m_Context->height - (OsdPipSetup.CropTop + OsdPipSetup.CropBottom));
+- av_set_int(context, "src_format", PIX_FMT_YUV420P);
+- av_set_int(context, "dstw", m_Width);
+- av_set_int(context, "dsth", m_Height);
++ av_opt_set_int(context, "srcw", m_Context->width - (OsdPipSetup.CropLeft + OsdPipSetup.CropRight), 0);
++ av_opt_set_int(context, "srch", m_Context->height - (OsdPipSetup.CropTop + OsdPipSetup.CropBottom), 0);
++ av_opt_set_int(context, "src_format", PIX_FMT_YUV420P, 0);
++ av_opt_set_int(context, "dstw", m_Width, 0);
++ av_opt_set_int(context, "dsth", m_Height, 0);
+ #ifdef USE_NEW_FFMPEG_HEADERS
+- av_set_int(context, "dst_format", ConvertToRGB ? PIX_FMT_RGB32 : PIX_FMT_YUV420P);
++ av_opt_set_int(context, "dst_format", ConvertToRGB ? PIX_FMT_RGB32 : PIX_FMT_YUV420P, 0);
+ #else
+- av_set_int(context, "dst_format", ConvertToRGB ? PIX_FMT_RGBA32 : PIX_FMT_YUV420P);
++ av_opt_set_int(context, "dst_format", ConvertToRGB ? PIX_FMT_RGBA32 : PIX_FMT_YUV420P, 0);
+ #endif
+- av_set_int(context, "sws_flags", SWS_LANCZOS);
++ av_opt_set_int(context, "sws_flags", SWS_LANCZOS, 0);
+
+ if (sws_init_context(context, NULL, NULL) < 0) {
+ printf("Error initializing conversion context.\n");
diff --git a/multimedia/xbmc-addon-pvr/Makefile b/multimedia/xbmc-addon-pvr/Makefile
index b39142f42479..ab915394527e 100644
--- a/multimedia/xbmc-addon-pvr/Makefile
+++ b/multimedia/xbmc-addon-pvr/Makefile
@@ -3,6 +3,7 @@
PORTNAME= xbmc-pvr-addons
PORTVERSION= 12.0
+PORTREVISION= 1
CATEGORIES= multimedia
MASTER_SITES= http://people.freebsd.org/~decke/distfiles/
DISTNAME= ${PORTNAME}-${PORTVERSION}-Frodo
diff --git a/net/mediatomb/files/patch-livav7 b/net/mediatomb/files/patch-livav7
new file mode 100644
index 000000000000..91be32119b22
--- /dev/null
+++ b/net/mediatomb/files/patch-livav7
@@ -0,0 +1,64 @@
+=== modified file 'src/metadata/ffmpeg_handler.cc'
+--- src/metadata/ffmpeg_handler.cc.orig 2010-08-25 17:07:03 +0000
++++ src/metadata/ffmpeg_handler.cc 2011-05-19 04:33:32 +0000
+@@ -89,6 +89,33 @@
+
+ Ref<StringConverter> sc = StringConverter::m2i();
+
++ /* Tabs are 4 characters here */
++ typedef struct {const char *avname; metadata_fields_t field;} mapping_t;
++ static const mapping_t mapping[] =
++ {
++ {"title", M_TITLE},
++ {"artist", M_ARTIST},
++ {"album", M_ALBUM},
++ {"date", M_DATE},
++ {"genre", M_GENRE},
++ {"comment", M_DESCRIPTION},
++ {"track", M_TRACKNUMBER},
++ {NULL, M_MAX},
++ };
++
++ if (!pFormatCtx->metadata)
++ return;
++ for (const mapping_t *m = mapping; m->avname != NULL; m++)
++ {
++ AVMetadataTag *tag = NULL;
++ tag = av_metadata_get(pFormatCtx->metadata, m->avname, NULL, 0);
++ if (tag && tag->value && tag->value[0])
++ {
++ log_debug("Added metadata %s: %s\n", m->avname, tag->value);
++ item->setMetadata(MT_KEYS[m->field].upnp, sc->convert(tag->value));
++ }
++ }
++ /* Old algorithm (doesn't work with libav >= 0.7)
+ if (strlen(pFormatCtx->title) > 0)
+ {
+ log_debug("Added metadata title: %s\n", pFormatCtx->title);
+@@ -131,6 +158,7 @@
+ item->setMetadata(MT_KEYS[M_TRACKNUMBER].upnp,
+ sc->convert(String::from(pFormatCtx->track)));
+ }
++ */
+ }
+
+ // ffmpeg library calls
+@@ -178,7 +206,7 @@
+ for(i=0; i<pFormatCtx->nb_streams; i++)
+ {
+ AVStream *st = pFormatCtx->streams[i];
+- if((st != NULL) && (videoset == false) && (st->codec->codec_type == CODEC_TYPE_VIDEO))
++ if((st != NULL) && (videoset == false) && (st->codec->codec_type == AVMEDIA_TYPE_VIDEO))
+ {
+ if (st->codec->codec_tag > 0)
+ {
+@@ -209,7 +237,7 @@
+ *y = st->codec->height;
+ }
+ }
+- if(st->codec->codec_type == CODEC_TYPE_AUDIO)
++ if(st->codec->codec_type == AVMEDIA_TYPE_AUDIO)
+ {
+ // Increase number of audiochannels
+ audioch++;
+
diff --git a/net/mediatomb/files/patch-livav9 b/net/mediatomb/files/patch-livav9
new file mode 100644
index 000000000000..9a706fc2cef8
--- /dev/null
+++ b/net/mediatomb/files/patch-livav9
@@ -0,0 +1,42 @@
+diff -burN mediatomb-0.12.1.old//src/metadata/ffmpeg_handler.cc mediatomb-0.12.1/src/metadata/ffmpeg_handler.cc
+--- src/metadata/ffmpeg_handler.cc.orig 2012-11-25 14:55:05.335753129 +0100
++++ src/metadata/ffmpeg_handler.cc 2012-11-25 15:29:42.840677486 +0100
+@@ -110,8 +110,8 @@
+ return;
+ for (const mapping_t *m = mapping; m->avname != NULL; m++)
+ {
+- AVMetadataTag *tag = NULL;
+- tag = av_metadata_get(pFormatCtx->metadata, m->avname, NULL, 0);
++ AVDictionaryEntry *tag = NULL;
++ tag = av_dict_get(pFormatCtx->metadata, m->avname, NULL, 0);
+ if (tag && tag->value && tag->value[0])
+ {
+ log_debug("Added metadata %s: %s\n", m->avname, tag->value);
+@@ -290,14 +290,14 @@
+ av_register_all();
+
+ // Open video file
+- if (av_open_input_file(&pFormatCtx,
+- item->getLocation().c_str(), NULL, 0, NULL) != 0)
++ if (avformat_open_input(&pFormatCtx,
++ item->getLocation().c_str(), NULL, NULL) != 0)
+ return; // Couldn't open file
+
+ // Retrieve stream information
+- if (av_find_stream_info(pFormatCtx) < 0)
++ if (avformat_find_stream_info(pFormatCtx, NULL) < 0)
+ {
+- av_close_input_file(pFormatCtx);
++ avformat_close_input(&pFormatCtx);
+ return; // Couldn't find stream information
+ }
+ // Add metadata using ffmpeg library calls
+@@ -306,7 +306,7 @@
+ addFfmpegResourceFields(item, pFormatCtx, &x, &y);
+
+ // Close the video file
+- av_close_input_file(pFormatCtx);
++ avformat_close_input(&pFormatCtx);
+ }
+
+ static bool _mkdir(const char *path)
diff --git a/net/opal/Makefile b/net/opal/Makefile
index b5bd6d4c700a..9182ca110e0e 100644
--- a/net/opal/Makefile
+++ b/net/opal/Makefile
@@ -287,6 +287,12 @@ CONFIGURE_ARGS+= --disable-debug
CONFIGURE_ARGS+= --disable-gsmamr \
--disable-ruby
+post-patch:
+ @${REINPLACE_CMD} -e 's/CODEC_ID/AV_CODEC_ID/g' \
+ -e 's/CodecID/AVCodecID/g' \
+ ${WRKSRC}/plugins/video/H.263-1998/h263-1998.* \
+ ${WRKSRC}/plugins/video/common/dyna.*
+
post-install:
${LN} -sf libopal.so.${PORTVERSION} ${PREFIX}/lib/libopal.so.${PVERSION_MAJOR}
${LN} -sf libopal.so.${PORTVERSION} ${PREFIX}/lib/libopal.so.${PVERSION_MINOR}
diff --git a/net/opal/files/patch-ffmpeg b/net/opal/files/patch-ffmpeg
new file mode 100644
index 000000000000..c0ef5c00664e
--- /dev/null
+++ b/net/opal/files/patch-ffmpeg
@@ -0,0 +1,189 @@
+Note: This is not optimal but is backported from what is in the 3.12 branch.
+
+
+r28871 | rjongbloed | 2013-01-13 02:18:43 -0300 (Sun, 13 Jan 2013) | 2 lines
+
+Fixed compile against latest FFMPEG, specifically Mac OS-X "port" version. Have no idea what all the deprecated symbols are replaced by!
+
+Index: plugins/video/H.263-1998/h263-1998.cxx
+===================================================================
+--- plugins/video/H.263-1998/h263-1998.cxx.orig
++++ plugins/video/H.263-1998/h263-1998.cxx
+@@ -312,6 +312,7 @@ void H263_Base_EncoderContext::SetOption
+ return;
+ }
+
++#ifdef CODEC_FLAG_H263P_UMV
+ if (STRCMPI(option, H263_ANNEX_D) == 0) {
+ // Annex D: Unrestructed Motion Vectors
+ // Level 2+
+@@ -322,7 +323,9 @@ void H263_Base_EncoderContext::SetOption
+ m_context->flags &= ~CODEC_FLAG_H263P_UMV;
+ return;
+ }
++#endif
+
++#ifdef CODEC_FLAG_OBMC
+ #if 0 // DO NOT ENABLE THIS FLAG. FFMPEG IS NOT THREAD_SAFE WHEN THIS FLAG IS SET
+ if (STRCMPI(option, H263_ANNEX_F) == 0) {
+ // Annex F: Advanced Prediction Mode
+@@ -334,7 +337,9 @@ void H263_Base_EncoderContext::SetOption
+ return;
+ }
+ #endif
++#endif
+
++#ifdef CODEC_FLAG_AC_PRED
+ if (STRCMPI(option, H263_ANNEX_I) == 0) {
+ // Annex I: Advanced Intra Coding
+ // Level 3+
+@@ -345,7 +350,9 @@ void H263_Base_EncoderContext::SetOption
+ m_context->flags &= ~CODEC_FLAG_AC_PRED;
+ return;
+ }
++#endif
+
++#ifdef CODEC_FLAG_LOOP_FILTER
+ if (STRCMPI(option, H263_ANNEX_J) == 0) {
+ // Annex J: Deblocking Filter
+ // works with eyeBeam
+@@ -355,7 +362,9 @@ void H263_Base_EncoderContext::SetOption
+ m_context->flags &= ~CODEC_FLAG_LOOP_FILTER;
+ return;
+ }
++#endif
+
++#ifdef CODEC_FLAG_H263P_SLICE_STRUCT
+ if (STRCMPI(option, H263_ANNEX_K) == 0) {
+ // Annex K: Slice Structure
+ // does not work with eyeBeam
+@@ -365,7 +374,9 @@ void H263_Base_EncoderContext::SetOption
+ m_context->flags &= ~CODEC_FLAG_H263P_SLICE_STRUCT;
+ return;
+ }
++#endif
+
++#ifdef CODEC_FLAG_H263P_AIV
+ if (STRCMPI(option, H263_ANNEX_S) == 0) {
+ // Annex S: Alternative INTER VLC mode
+ // does not work with eyeBeam
+@@ -375,6 +386,7 @@ void H263_Base_EncoderContext::SetOption
+ m_context->flags &= ~CODEC_FLAG_H263P_AIV;
+ return;
+ }
++#endif
+
+ if (STRCMPI(option, PLUGINCODEC_MEDIA_PACKETIZATION) == 0 ||
+ STRCMPI(option, PLUGINCODEC_MEDIA_PACKETIZATIONS) == 0) {
+@@ -452,12 +464,24 @@ bool H263_Base_EncoderContext::OpenCodec
+
+ #define CODEC_TRACER_FLAG(tracer, flag) \
+ PTRACE(4, m_prefix, #flag " is " << ((m_context->flags & flag) ? "enabled" : "disabled"));
++#ifdef CODEC_FLAG_H263P_UMV
+ CODEC_TRACER_FLAG(tracer, CODEC_FLAG_H263P_UMV);
++#endif
++#ifdef CODEC_FLAG_OBMC
+ CODEC_TRACER_FLAG(tracer, CODEC_FLAG_OBMC);
++#endif
++#ifdef CODEC_FLAG_AC_PRED
+ CODEC_TRACER_FLAG(tracer, CODEC_FLAG_AC_PRED);
++#endif
++#ifdef CODEC_FLAG_H263P_SLICE_STRUCT
+ CODEC_TRACER_FLAG(tracer, CODEC_FLAG_H263P_SLICE_STRUCT)
++#endif
++#ifdef CODEC_FLAG_LOOP_FILTER
+ CODEC_TRACER_FLAG(tracer, CODEC_FLAG_LOOP_FILTER);
++#endif
++#ifdef CODEC_FLAG_H263P_AIV
+ CODEC_TRACER_FLAG(tracer, CODEC_FLAG_H263P_AIV);
++#endif
+
+ return FFMPEGLibraryInstance.AvcodecOpen(m_context, m_codec) == 0;
+ }
+@@ -521,7 +545,7 @@ bool H263_Base_EncoderContext::EncodeFra
+
+ // Need to copy to local buffer to guarantee 16 byte alignment
+ memcpy(m_inputFrame->data[0], OPAL_VIDEO_FRAME_DATA_PTR(header), header->width*header->height*3/2);
+- m_inputFrame->pict_type = (flags & PluginCodec_CoderForceIFrame) ? FF_I_TYPE : AV_PICTURE_TYPE_NONE;
++ m_inputFrame->pict_type = (flags & PluginCodec_CoderForceIFrame) ? AV_PICTURE_TYPE_I : AV_PICTURE_TYPE_NONE;
+
+ /*
+ m_inputFrame->pts = (int64_t)srcRTP.GetTimestamp()*m_context->time_base.den/m_context->time_base.num/VIDEO_CLOCKRATE;
+@@ -603,13 +627,21 @@ bool H263_RFC2190_EncoderContext::Init()
+ m_context->rtp_callback = &H263_RFC2190_EncoderContext::RTPCallBack;
+ m_context->opaque = this; // used to separate out packets from different encode threads
+
++#ifdef CODEC_FLAG_H263P_UMV
+ m_context->flags &= ~CODEC_FLAG_H263P_UMV;
++#endif
++#ifdef CODEC_FLAG_4MV
+ m_context->flags &= ~CODEC_FLAG_4MV;
+-#if LIBAVCODEC_RTP_MODE
++#endif
++#if LIBAVCODEC_RTP_MODE && defined(CODEC_FLAG_H263P_AIC)
+ m_context->flags &= ~CODEC_FLAG_H263P_AIC;
+ #endif
++#ifdef CODEC_FLAG_H263P_AIV
+ m_context->flags &= ~CODEC_FLAG_H263P_AIV;
++#endif
++#ifdef CODEC_FLAG_H263P_SLICE_STRUCT
+ m_context->flags &= ~CODEC_FLAG_H263P_SLICE_STRUCT;
++#endif
+
+ return true;
+ }
+Index: plugins/video/H.264/h264-x264.cxx
+===================================================================
+--- plugins/video/H.264/h264-x264.cxx.orig
++++ plugins/video/H.264/h264-x264.cxx
+@@ -1071,13 +1071,13 @@ class MyDecoder : public PluginCodec<MY_
+ return false;
+
+ m_context->workaround_bugs = FF_BUG_AUTODETECT;
++#ifdef FF_ER_AGGRESSIVE
+ m_context->error_recognition = FF_ER_AGGRESSIVE;
++#endif
+ m_context->idct_algo = FF_IDCT_H264;
+ m_context->error_concealment = FF_EC_GUESS_MVS | FF_EC_DEBLOCK;
+ m_context->flags = CODEC_FLAG_INPUT_PRESERVED | CODEC_FLAG_EMU_EDGE;
+- m_context->flags2 = CODEC_FLAG2_BRDO |
+- CODEC_FLAG2_MEMC_ONLY |
+- CODEC_FLAG2_DROP_FRAME_TIMECODE |
++ m_context->flags2 = CODEC_FLAG2_DROP_FRAME_TIMECODE |
+ CODEC_FLAG2_SKIP_RD |
+ CODEC_FLAG2_CHUNKS;
+
+Index: plugins/video/MPEG4-ffmpeg/mpeg4.cxx
+===================================================================
+--- plugins/video/MPEG4-ffmpeg/mpeg4.cxx.orig
++++ plugins/video/MPEG4-ffmpeg/mpeg4.cxx
+@@ -594,12 +594,10 @@ void MPEG4EncoderContext::SetStaticEncod
+ #else
+ m_avcontext->max_b_frames=0; /*don't use b frames*/
+ m_avcontext->flags|=CODEC_FLAG_AC_PRED;
+- m_avcontext->flags|=CODEC_FLAG_H263P_UMV;
+ /*c->flags|=CODEC_FLAG_QPEL;*/ /*don't enable this one: this forces profile_level to advanced simple profile */
+ m_avcontext->flags|=CODEC_FLAG_4MV;
+ m_avcontext->flags|=CODEC_FLAG_GMC;
+ m_avcontext->flags|=CODEC_FLAG_LOOP_FILTER;
+- m_avcontext->flags|=CODEC_FLAG_H263P_SLICE_STRUCT;
+ #endif
+ m_avcontext->opaque = this; // for use in RTP callback
+ }
+@@ -804,7 +802,7 @@ int MPEG4EncoderContext::EncodeFrames(co
+ // Should the next frame be an I-Frame?
+ if ((flags & PluginCodec_CoderForceIFrame) || (m_frameNum == 0))
+ {
+- m_avpicture->pict_type = FF_I_TYPE;
++ m_avpicture->pict_type = AV_PICTURE_TYPE_I;
+ }
+ else // No IFrame requested, let avcodec decide what to do
+ {
+@@ -1325,7 +1323,6 @@ void MPEG4DecoderContext::SetFrameHeight
+
+ void MPEG4DecoderContext::SetStaticDecodingParams() {
+ m_avcontext->flags |= CODEC_FLAG_4MV;
+- m_avcontext->flags |= CODEC_FLAG_PART;
+ m_avcontext->workaround_bugs = 0; // no workaround for buggy implementations
+ }
+
diff --git a/x11/xpra/Makefile b/x11/xpra/Makefile
index 310c83c37b91..07e1ec91f50b 100644
--- a/x11/xpra/Makefile
+++ b/x11/xpra/Makefile
@@ -19,7 +19,7 @@ RUN_DEPENDS= cython:${PORTSDIR}/lang/cython \
${PYTHON_SITELIBDIR}/PIL/__init__.py:${PORTSDIR}/graphics/py-imaging \
py*-notify>=0:${PORTSDIR}/devel/py-notify \
Xvfb:${PORTSDIR}/x11-servers/xorg-vfbserver
-LIB_DEPENDS+= avcodec.1:${PORTSDIR}/multimedia/ffmpeg
+LIB_DEPENDS+= libavcodec.so:${PORTSDIR}/multimedia/ffmpeg
MANCOMPRESSED= no
MAN1= xpra.1 xpra_launcher.1 parti.1