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)
This commit is contained in:
William Grzybowski 2013-10-19 16:43:32 +00:00
parent 5535462810
commit 3624ddf181
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=330909
59 changed files with 2063 additions and 761 deletions

View file

@ -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

View file

@ -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

View file

@ -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)
{

View file

@ -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>

View file

@ -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

View file

@ -0,0 +1,100 @@
Index: m4/ffmpeg.m4
===================================================================
--- m4/ffmpeg.m4.orig
+++ m4/ffmpeg.m4
@@ -49,7 +49,7 @@ then
LIBS="$LIBS $FFMPEG_LIBS"
have_ffmpeg="no"
AC_CHECK_HEADERS([libavformat/avformat.h ffmpeg/avformat.h],
- [AC_CHECK_LIB(avformat, av_open_input_file,
+ [AC_CHECK_LIB(avformat, avformat_open_input,
[AC_CHECK_HEADERS([libavcodec/avcodec.h ffmpeg/avcodec.h],
[AC_CHECK_LIB(avcodec, avcodec_decode_audio3, have_ffmpeg=yes)])])
break])
Index: src/ffmpeg.c
===================================================================
--- src/ffmpeg.c.orig
+++ src/ffmpeg.c
@@ -92,8 +92,10 @@ static int stream_component_open(priv_t
enc->workaround_bugs = 1;
#if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
enc->error_resilience = 1;
-#else
+#elif LIBAVCODEC_VERSION_INT < ((54<<16)+(0<<8)+0)
enc->error_recognition = 1;
+#else
+ ic->error_recognition = 1;
#endif
if (!codec || avcodec_open(enc, codec) < 0)
@@ -157,7 +159,7 @@ static int audio_decode_frame(priv_t * f
static int startread(sox_format_t * ft)
{
priv_t * ffmpeg = (priv_t *)ft->priv;
- AVFormatParameters params;
+ AVDictionary *params;
int ret;
int i;
@@ -172,7 +174,7 @@ static int startread(sox_format_t * ft)
/* Open file and get format */
memset(&params, 0, sizeof(params));
- if ((ret = av_open_input_file(&ffmpeg->ctxt, ft->filename, NULL, 0, &params)) < 0) {
+ if ((ret = avformat_open_input(&ffmpeg->ctxt, ft->filename, NULL, &params)) < 0) {
lsx_fail("ffmpeg cannot open file for reading: %s (code %d)", ft->filename, ret);
return SOX_EOF;
}
@@ -231,7 +233,7 @@ static size_t read_samples(sox_format_t
/* If input buffer empty, read more data */
if (ffmpeg->audio_buf_index * 2 >= ffmpeg->audio_buf_size) {
if ((ret = av_read_frame(ffmpeg->ctxt, pkt)) < 0 &&
- (ret == AVERROR_EOF || url_ferror(ffmpeg->ctxt->pb)))
+ (ret == AVERROR_EOF || ( ffmpeg->ctxt->pb && ffmpeg->ctxt->pb->error)))
break;
ffmpeg->audio_buf_size = audio_decode_frame(ffmpeg, ffmpeg->audio_buf_aligned, AVCODEC_MAX_AUDIO_FRAME_SIZE);
ffmpeg->audio_buf_index = 0;
@@ -373,13 +375,6 @@ static int startwrite(sox_format_t * ft)
return SOX_EOF;
}
- /* set the output parameters (must be done even if no
- parameters). */
- if (av_set_parameters(ffmpeg->ctxt, NULL) < 0) {
- lsx_fail("ffmpeg invalid output format parameters");
- return SOX_EOF;
- }
-
/* Next line for debugging */
/* dump_format(ffmpeg->ctxt, 0, ft->filename, 1); */
@@ -391,14 +386,14 @@ static int startwrite(sox_format_t * ft)
/* open the output file, if needed */
if (!(ffmpeg->fmt->flags & AVFMT_NOFILE)) {
- if (url_fopen(&ffmpeg->ctxt->pb, ft->filename, URL_WRONLY) < 0) {
+ if (avio_open(&ffmpeg->ctxt->pb, ft->filename, AVIO_FLAG_WRITE) < 0) {
lsx_fail("ffmpeg could not open `%s'", ft->filename);
return SOX_EOF;
}
}
/* write the stream header, if any */
- av_write_header(ffmpeg->ctxt);
+ avformat_write_header(ffmpeg->ctxt, NULL);
return SOX_SUCCESS;
}
@@ -475,11 +470,7 @@ static int stopwrite(sox_format_t * ft)
if (!(ffmpeg->fmt->flags & AVFMT_NOFILE)) {
/* close the output file */
-#if (LIBAVFORMAT_VERSION_INT < 0x340000)
- url_fclose(&ffmpeg->ctxt->pb);
-#else
- url_fclose(ffmpeg->ctxt->pb);
-#endif
+ avio_close(ffmpeg->ctxt->pb);
}
/* Free the output context */

View file

@ -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

View file

@ -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;

View file

@ -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;
}

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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
# 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
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>
# rtmp
.if ${PORT_OPTIONS:MRTMP}
# 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
FFPROGS+= ffplay
.if ${PORT_OPTIONS:MDOCS}
DOC_DOCFILES+= ffplay.html
.endif
.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
.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
.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>

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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"

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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"

View file

@ -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

View file

@ -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 */

View file

@ -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

View file

@ -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/

View file

@ -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

View file

@ -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>

View file

@ -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;

View file

@ -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

View file

@ -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*

View file

@ -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);
}

View file

@ -1,4 +1,4 @@
%%GTK%%bin/libquicktime_config
%%GTK2%%bin/libquicktime_config
bin/lqt_transcode
bin/lqtplay
bin/lqtremux

View file

@ -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 \

View file

@ -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

View file

@ -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,

View file

@ -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' >$@

View file

@ -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 */

View file

@ -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

View file

@ -2,7 +2,7 @@
PORTNAME= mlt
PORTVERSION= 0.9.0
PORTREVISION?= 0
PORTREVISION?= 1
CATEGORIES?= multimedia
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}

View file

@ -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 "

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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]+.*$")

View file

@ -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

View file

@ -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

View file

@ -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];

View file

@ -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)

View file

@ -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.",

View file

@ -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;

View file

@ -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();

View file

@ -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");

View file

@ -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

View file

@ -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++;

View file

@ -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)

View file

@ -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}

189
net/opal/files/patch-ffmpeg Normal file
View file

@ -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
}

View file

@ -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