1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-20 20:09:11 +00:00

- Update to 0.5.0.

This is an enhancement release, confined mainly to the modules rather
than the framework. In particular, this adds support for VDPAU, YADIF,
and HD-SDI technologies!

Approved by:	tabthorpe (mentor)
Feature safe:	yes
This commit is contained in:
Alberto Villa 2010-02-26 01:05:03 +00:00
parent fafb887c71
commit 8b11f23c1b
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=250343
5 changed files with 162 additions and 19 deletions

View File

@ -5,8 +5,7 @@
# $FreeBSD$
PORTNAME= mlt
PORTVERSION= 0.4.10
PORTREVISION= 3
PORTVERSION= 0.5.0
CATEGORIES= multimedia
MASTER_SITES= SF
@ -21,8 +20,7 @@ GNU_CONFIGURE= yes
CONFIGURE_ARGS= --disable-debug \
--enable-gpl
USE_GMAKE= yes
# required by FreeBSD 6
MAKE_ENV= LDFLAGS="-lc"
MAKE_ENV= LDFLAGS="-lc" # required by FreeBSD 6
CFLAGS+= -I${LOCALBASE}/include
USE_LDCONFIG= ${PREFIX}/lib ${PREFIX}/lib/mlt
@ -41,7 +39,8 @@ OPTIONS= AVFORMAT "Avformat module" on \
QIMAGE "Qimage module" on \
RESAMPLE "Secret Rabbit Code module" on \
SOX "Sound eXchange module" on \
SSE "SSE support (requires MMX, caution on x86-64)" off \
SSE "SSE support (requires MMX)" off \
SSE2 "SSE2 support" off \
VORBIS "Vorbis module" on
.include <bsd.port.pre.mk>
@ -144,6 +143,12 @@ CONFIGURE_ARGS+= --enable-sse
CONFIGURE_ARGS+= --disable-sse
.endif
.ifdef(WITH_SSE2)
CONFIGURE_ARGS+= --enable-sse2
.else
CONFIGURE_ARGS+= --disable-sse2
.endif
.ifdef(WITH_VORBIS)
LIB_DEPENDS+= vorbis.4:${PORTSDIR}/audio/libvorbis
CONFIGURE_ARGS+= --enable-vorbis
@ -154,20 +159,22 @@ PLIST_SUB+= VORBIS="@comment "
.endif
pre-configure:
@${REINPLACE_CMD} -e 's|-pthread|${PTHREAD_LIBS}|g' \
.if ${OSVERSION} < 700041
${REINPLACE_CMD} -E -e 's|^(LDFLAGS.*)|\1 -lthr|' \
${WRKSRC}/src/framework/Makefile \
${WRKSRC}/src/modules/avformat/Makefile \
${WRKSRC}/src/modules/core/Makefile \
${WRKSRC}/src/modules/dv/Makefile \
${WRKSRC}/src/modules/sdl/Makefile
.endif
${REINPLACE_CMD} -e 's|-pthread|${PTHREAD_LIBS}|g' \
${WRKSRC}/configure \
${WRKSRC}/src/swig/*/build
@${REINPLACE_CMD} -e 's|-lpthread|${PTHREAD_LIBS}|g' \
${REINPLACE_CMD} -e 's|-lpthread|${PTHREAD_LIBS}|g' \
${WRKSRC}/src/framework/Makefile \
${WRKSRC}/src/melt/Makefile \
${WRKSRC}/src/modules/*/Makefile
@${REINPLACE_CMD} -E -e 's|^(LDFLAGS.*)|\1 -lthr|' \
${WRKSRC}/src/framework/Makefile \
${WRKSRC}/src/modules/avformat/Makefile \
${WRKSRC}/src/modules/core/Makefile \
${WRKSRC}/src/modules/dv/Makefile \
${WRKSRC}/src/modules/sdl/Makefile
@${REINPLACE_CMD} -e 's|$$(libdir)/pkgconfig|${PREFIX}/libdata/pkgconfig|g' \
${REINPLACE_CMD} -e 's|$$(libdir)/pkgconfig|${PREFIX}/libdata/pkgconfig|g' \
${WRKSRC}/Makefile
post-install:

View File

@ -1,3 +1,3 @@
MD5 (mlt-0.4.10.tar.gz) = 7b0ba842277ea0a77e40a15917ab623f
SHA256 (mlt-0.4.10.tar.gz) = 28eed979b8c412d0fdfb92ad9d23516b0419b7f996d5e5e0e30c47a75a948c5a
SIZE (mlt-0.4.10.tar.gz) = 766911
MD5 (mlt-0.5.0.tar.gz) = 5e904e02c879d64f1c6fe14c75be0479
SHA256 (mlt-0.5.0.tar.gz) = 6741488a067a79f0149b3e4f9fc81706017b1d0db8415c0b1a9ae2264882c6bf
SIZE (mlt-0.5.0.tar.gz) = 796572

View File

@ -0,0 +1,16 @@
--- ./src/modules/xine/Makefile.orig 2010-02-16 07:40:46.000000000 +0100
+++ ./src/modules/xine/Makefile 2010-02-25 23:10:51.286144467 +0100
@@ -1,4 +1,4 @@
-CFLAGS += -I../../ -DARCH_X86
+CFLAGS += -I../../
LDFLAGS += -L../../framework -lmlt
@@ -12,6 +12,7 @@
filter_deinterlace.o
ifdef MMX_FLAGS
+CFLAGS += -DARCH_X86
OBJS += cpu_accel.o
endif

View File

@ -0,0 +1,111 @@
--- ./src/modules/xine/yadif.c.orig 2010-02-16 07:40:46.000000000 +0100
+++ ./src/modules/xine/yadif.c 2010-02-25 23:10:51.289144010 +0100
@@ -34,7 +34,8 @@
static void (*filter_line)(int mode, uint8_t *dst, const uint8_t *prev, const uint8_t *cur, const uint8_t *next, int w, int refs, int parity);
-#ifdef __GNUC__
+#if defined(__GNUC__) && defined(USE_SSE)
+
#define LOAD4(mem,dst) \
"movd "mem", "#dst" \n\t"\
"punpcklbw %%mm7, "#dst" \n\t"
@@ -264,6 +265,7 @@
#endif
// ================= SSE2 =================
+#ifdef USE_SSE2
#define PABS(tmp,dst) \
"pxor "#tmp", "#tmp" \n\t"\
"psubw "#dst", "#tmp" \n\t"\
@@ -271,17 +273,19 @@
#define FILTER_LINE_FUNC_NAME filter_line_sse2
#include "vf_yadif_template.h"
+#endif
// ================ SSSE3 =================
+#ifdef USE_SSE3
#define PABS(tmp,dst) \
"pabsw "#dst", "#dst" \n\t"
#define FILTER_LINE_FUNC_NAME filter_line_ssse3
#include "vf_yadif_template.h"
-
#endif
-#endif
+#endif // GCC 4.2+
+#endif // GNUC, USE_SSE
static void filter_line_c(int mode, uint8_t *dst, const uint8_t *prev, const uint8_t *cur, const uint8_t *next, int w, int refs, int parity){
int x;
@@ -356,15 +360,22 @@
filter_line = filter_line_c;
#ifdef __GNUC__
#if (__GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__>1)
+#ifdef USE_SSE3
if (cpu & AVS_CPU_SSSE3)
filter_line = filter_line_ssse3;
- else if (cpu & AVS_CPU_SSE2)
+ else
+#endif
+#ifdef USE_SSE2
+ if (cpu & AVS_CPU_SSE2)
filter_line = filter_line_sse2;
else
#endif
+#endif // GCC 4.2+
+#ifdef USE_SSE
if (cpu & AVS_CPU_INTEGER_SSE)
filter_line = filter_line_mmx2;
#endif
+#endif // GNUC
y=0;
if(((y ^ parity) & 1)){
memcpy(dst, cur0 + refs, w);// duplicate 1
@@ -401,14 +412,13 @@
memcpy(dst + (h-1)*dst_stride, cur0 + (h-1)*refs, w); // copy original
}
-#ifdef __GNUC__
+#if defined(__GNUC__) && defined(USE_SSE)
if (cpu >= AVS_CPU_INTEGER_SSE)
asm volatile("emms");
#endif
}
-#ifdef __GNUC__
-#ifndef PIC
+#if defined(__GNUC__) && defined(USE_SSE) && !defined(PIC)
static attribute_align_arg void YUY2ToPlanes_mmx(const unsigned char *srcYUY2, int pitch_yuy2, int width, int height,
unsigned char *py, int pitch_y,
unsigned char *pu, unsigned char *pv, int pitch_uv)
@@ -486,8 +496,7 @@
}
asm ("sfence \n\t emms");
}
-#endif
-#endif
+#endif // GNUC, USE_SSE, !PIC
//----------------------------------------------------------------------------------------------
@@ -498,7 +507,7 @@
int h,w;
int w0 = 0;
-#if defined(__GNUC__) && !defined(PIC)
+#if defined(__GNUC__) && defined(USE_SSE) && !defined(PIC)
if (cpu & AVS_CPU_INTEGER_SSE) {
w0 = (nWidth/8)*8;
YUY2ToPlanes_mmx(pSrcYUY2, nSrcPitchYUY2, w0, nHeight, pSrcY, srcPitchY, pSrcU, pSrcV, srcPitchUV);
@@ -529,7 +538,7 @@
{
int h,w;
int w0 = 0;
-#if defined(__GNUC__) && !defined(PIC)
+#if defined(__GNUC__) && defined(USE_SSE) && !defined(PIC)
if (cpu & AVS_CPU_INTEGER_SSE) {
w0 = (nWidth/8)*8;
YUY2FromPlanes_mmx(pSrcYUY2, nSrcPitchYUY2, w0, nHeight, pSrcY, srcPitchY, pSrcU, pSrcV, srcPitchUV);

View File

@ -48,10 +48,10 @@ include/mlt/framework/mlt_tractor.h
include/mlt/framework/mlt_transition.h
include/mlt/framework/mlt_types.h
lib/libmlt++.so
lib/libmlt++.so.0.4.10
lib/libmlt++.so.0.5.0
lib/libmlt++.so.3
lib/libmlt.so
lib/libmlt.so.0.4.10
lib/libmlt.so.0.5.0
lib/libmlt.so.2
%%AVFORMAT%%lib/mlt/libmltavformat.so
lib/mlt/libmltcore.so
@ -153,13 +153,21 @@ libdata/pkgconfig/mlt-framework.pc
%%DATADIR%%/oldfilm/tcolor.svg
%%DATADIR%%/oldfilm/vignette.svg
%%DATADIR%%/profiles/atsc_1080i_50
%%DATADIR%%/profiles/atsc_1080i_5994
%%DATADIR%%/profiles/atsc_1080i_60
%%DATADIR%%/profiles/atsc_1080p_2398
%%DATADIR%%/profiles/atsc_1080p_24
%%DATADIR%%/profiles/atsc_1080p_25
%%DATADIR%%/profiles/atsc_1080p_2997
%%DATADIR%%/profiles/atsc_1080p_30
%%DATADIR%%/profiles/atsc_720p_2398
%%DATADIR%%/profiles/atsc_720p_24
%%DATADIR%%/profiles/atsc_720p_25
%%DATADIR%%/profiles/atsc_720p_2997
%%DATADIR%%/profiles/atsc_720p_30
%%DATADIR%%/profiles/atsc_720p_50
%%DATADIR%%/profiles/atsc_720p_5994
%%DATADIR%%/profiles/atsc_720p_60
%%DATADIR%%/profiles/cif_15
%%DATADIR%%/profiles/cif_ntsc
%%DATADIR%%/profiles/cif_pal
@ -185,6 +193,7 @@ libdata/pkgconfig/mlt-framework.pc
%%DATADIR%%/profiles/quarter_ntsc_wide
%%DATADIR%%/profiles/quarter_pal
%%DATADIR%%/profiles/quarter_pal_wide
%%DATADIR%%/profiles/sdi_486i_5994
%%DATADIR%%/profiles/square_ntsc
%%DATADIR%%/profiles/square_ntsc_wide
%%DATADIR%%/profiles/square_pal