diff options
author | wg <wg@FreeBSD.org> | 2013-10-20 00:43:32 +0800 |
---|---|---|
committer | wg <wg@FreeBSD.org> | 2013-10-20 00:43:32 +0800 |
commit | 7bd53d2a9f339dc47381e00f07db80cc4b59237c (patch) | |
tree | 69155a2473ecd42904d8ae76e85c62fefb67950b | |
parent | 51b8eaeb1ac21f9fe97de34ffac01229f11188ac (diff) | |
download | freebsd-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)
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(¶ms, 0, sizeof(params)); +- if ((ret = av_open_input_file(&ffmpeg->ctxt, ft->filename, NULL, 0, ¶ms)) < 0) { ++ if ((ret = avformat_open_input(&ffmpeg->ctxt, ft->filename, NULL, ¶ms)) < 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 |