summaryrefslogtreecommitdiff
path: root/multimedia
diff options
context:
space:
mode:
authorMario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>2005-05-12 02:54:48 +0000
committerMario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>2005-05-12 02:54:48 +0000
commit2ad8ab31b2fa24b7c5dfa2766b500e68d61b914c (patch)
tree185c4c4f78099e9d8a73c8a9efe52c4c22c16f4f /multimedia
parentRemove SDPA. now it is relased under GPL (diff)
o Commit updates after repo copy from multimedia/ffmpeg
o Update to CVS snapshot 20050511 o Add FreeBSD native byteswap support o Video capture is not working and help is appreciated on this matter. Join irc.freenode.net #freebsd-multimedia to help. Some fixes have been borrowed from [2], [3] and [4] o IPV6 support fixed [1] Submitted by: ahze [1], Jacob Meuser <jakemsr@jakemsr.com> [4], Vladimir Kushnir <vkushnir@i.kiev.ua> [4] Reviewed by: ahze, Jacob Meuser <jakemsr@jakemsr.com>, Vladimir Kushnir <vkushnir@i.kiev.ua>, countless others at FreeBSD-multimedia@FreeBSD.org mailing list Obtained from: FFmpeg CVS repo [2], OpenBSD FFmpeg port [3]
Notes
Notes: svn path=/head/; revision=135093
Diffstat (limited to 'multimedia')
-rw-r--r--multimedia/ffmpeg-devel/Makefile521
-rw-r--r--multimedia/ffmpeg-devel/distinfo4
-rw-r--r--multimedia/ffmpeg-devel/files/extra-bktr-patch-libavformat::Makefile11
-rw-r--r--multimedia/ffmpeg-devel/files/grab_bsdbktr.c74
-rw-r--r--multimedia/ffmpeg-devel/files/patch-Makefile14
-rw-r--r--multimedia/ffmpeg-devel/files/patch-configure29
-rw-r--r--multimedia/ffmpeg-devel/files/patch-libavcodec::Makefile29
-rw-r--r--multimedia/ffmpeg-devel/files/patch-libavcodec::alpha::simple_idct_alpha.c19
-rw-r--r--multimedia/ffmpeg-devel/files/patch-libavcodec::bswap.h60
-rw-r--r--multimedia/ffmpeg-devel/files/patch-libavcodec::x264.c10
-rw-r--r--multimedia/ffmpeg-devel/files/patch-libavformat::Makefile31
-rw-r--r--multimedia/ffmpeg-devel/files/patch-libavformat::udp.c13
-rw-r--r--multimedia/ffmpeg-devel/files/patch-vhook::Makefile19
-rw-r--r--multimedia/ffmpeg-devel/pkg-plist13
14 files changed, 475 insertions, 372 deletions
diff --git a/multimedia/ffmpeg-devel/Makefile b/multimedia/ffmpeg-devel/Makefile
index dad98b383462..95eea6f2ad1f 100644
--- a/multimedia/ffmpeg-devel/Makefile
+++ b/multimedia/ffmpeg-devel/Makefile
@@ -1,55 +1,96 @@
-# New ports collection makefile for: ffmpeg
-# Date created: Tue Sep 25 15:52:09 BRT 2001
+# New ports collection makefile for: ffmpeg cvs
+# Date created: Sun May 1 20:46:59 UTC 2005
# Whom: Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>
#
# $FreeBSD$
#
PORTNAME= ffmpeg
-DISTVERSION= 0.4.9-pre1
-PORTREVISION= 2
-CATEGORIES= multimedia audio net
-MASTER_SITES= ${MASTER_SITE_SOURCEFORGE_EXTENDED}
-MASTER_SITE_SUBDIR= ffmpeg
+DISTVERSION= 0.4.9.cvs.${RELEASE_DATE}
+CATEGORIES= multimedia audio ipv6 net
+MASTER_SITES= http://mplayerhq.hu/MPlayer/cvs/
+DISTNAME= FFMpeg-${RELEASE_DATE}
MAINTAINER= lioux@FreeBSD.org
COMMENT= Hyper fast realtime audio/video encoder/converter, streaming server
-USE_GETOPT_LONG= yes
HAS_CONFIGURE= yes
+USE_LINUX= yes
+USE_BZIP2= yes
USE_GMAKE= yes
USE_REINPLACE= yes
WANT_SDL= yes
CONFIGURE_ARGS= --cc="${CC}" --prefix="${PREFIX}" \
- --make="${GMAKE}" --enable-shared \
- --extra-ldflags="-L${LOCALBASE}/lib -L${X11BASE}/lib" \
- --extra-libs"-lm" \
- --disable-debug
+ --make="${GMAKE}" \
+ --disable-debug \
+ --enable-memalign-hack \
+ --enable-shared \
+ --source-path=${WRKSRC}
+
+FFMPEG_CFLAGS= ${CFLAGS} \
+ -I${WRKSRC}/libavcodec \
+ -I${WRKSRC}/libavcodec/i386 \
+ -I${WRKSRC}/libavformat \
+ -I${LOCALBASE}/include \
+ -I${X11BASE}/include \
+ -I. -I.. \
+ -L${LOCALBASE}/lib \
+ -L${X11BASE}/lib
+FFMPEG_LDFLAGS= ${LDFLAGS} \
+ -L${WRKSRC}/libavcodec/libpostproc \
+ -L${LOCALBASE}/lib \
+ -L${X11BASE}/lib \
+ -lm \
+ -fpie \
+ -fPIE
PLIST_SUB= SHLIB_VERSION=${SHLIB_VERSION}
INSTALLS_SHLIB= yes
+NO_LATEST_LINK= yes
+CONFLICTS= ffmpeg-[0-9]*-*
+
+RELEASE_DATE= 20050511
SHLIB_VERSION= 1
-#
+
+MAN1= ffmpeg.1
+
+##
DOC_FILES= COPYING Changelog README
# under subdir doc
DOC_DOCFILES= TODO faq.html ffmpeg-doc.html \
ffplay-doc.html ffserver-doc.html \
hooks.html optimization.txt
-PORTDOCS= ${DOC_FILES} ${DOC_DOCFILES}
+#
+PORTDOCS= *
+
+## headers
HEADER_FILES= libavcodec/avcodec.h libavcodec/common.h \
libavcodec/dsputil.h
+#
+# libraries
LIB_FILES= libavcodec/libavcodec.a libavformat/libavformat.a
-MAN1= ffmpeg.1
.include <bsd.port.pre.mk>
-.if ${ARCH} == "alpha"
-BROKEN= "Does not compile on alpha"
+.if (exists(${LOCALBASE}/lib/libavformat.so))
+BROKEN= 'Please remove previous version of ${PORTNAME} to continue build'
.endif
-.if exists(${LOCALBASE}/lib/libavformat.so.0)
-BROKEN= Please remove previous version of ${PORTNAME} to continue build
+##
+## default options
+##
+GPLLIBS=yes
+WITHOUT_LIBA52=yes
+# video captuure is not working as of yet
+WITH_VIDEO_CAPTURE=no
+CONFIGURE_ARGS+=--disable-v4l
+
+##
+## support detection
+##
+.if !defined(WITHOUT_IPV6) && ${OSVERSION} >= 400014
+WITH_IPV6= yes
.endif
##
@@ -57,26 +98,23 @@ BROKEN= Please remove previous version of ${PORTNAME} to continue build
##
.if ${ARCH} != "i386"
WITHOUT_MMX= yes
-.else
-# only for i386
-EXTRA_PATCHES+= ${FILESDIR}/extra-bktr-patch-libavformat::Makefile
-#. if ${OSVERSION} >= 502000 && !defined(WITH_OPTIMIZED_CFLAGS)
-#CFLAGS+=-fomit-frame-pointer
-#WITH_OPTIMIZED_CFLAGS=yes
-#. endif
.endif
-## lib detection
##
+## lib detection
##
-## SDL
-.if ${HAVE_SDL:Msdl}
-WITH_SDL=yes
+## dts
+.if exists(${LOCALBASE}/lib/libdts.a)
+WITH_DTS=yes
.endif
## faac
-.if exists(${LOCALBASE}/lib/libfaac.so.0)
+.if exists(${LOCALBASE}/lib/libfaac.so)
WITH_FAAC=yes
.endif
+## faad
+.if exists(${LOCALBASE}/lib/libfaad.so)
+WITH_FAAD=yes
+.endif
## freetype2
.if exists(${LOCALBASE}/lib/libfreetype.so)
WITH_FREETYPE2=yes
@@ -86,65 +124,106 @@ WITH_FREETYPE2=yes
WITH_IMLIB2=yes
.endif
## lame mp3
-.if exists(${LOCALBASE}/lib/libmp3lame.so.0)
+.if exists(${LOCALBASE}/lib/libmp3lame.so)
WITH_MP3=yes
.endif
+## ogg
+.if exists(${LOCALBASE}/lib/libogg.so)
+WITH_OGG=yes
+.endif
+## sdl
+.if ${HAVE_SDL:Msdl}
+WITH_SDL=yes
+.endif
+## theora
+.if exists(${LOCALBASE}/lib/libtheora.so)
+## XXX theora does not work for the time being
+WITH_THEORA=yes
+.endif
## vorbis
-.if exists(${LOCALBASE}/lib/libvorbisenc.so.2)
+.if exists(${LOCALBASE}/lib/libvorbisenc.so)
WITH_VORBIS=yes
.endif
-.if exists(${LOCALBASE}/lib/libfaad.so.0)
-WITH_FAAD=yes
+# x264
+.if exists(${LOCALBASE}/lib/libx264.so)
+WITH_X264=yes
+.endif
+# xvid
+.if exists(${LOCALBASE}/lib/libxvidcore.so)
+WITH_XVID=yes
.endif
+##
## support activation
##
## PORTDOCS
.ifndef(NOPORTDOCS)
BUILD_DEPENDS+= texi2html:${PORTSDIR}/textproc/texi2html
.endif
-## disable a52
-#.ifndef(WITHOUT_LIBA52)
-#LIB_DEPENDS+= a52.0:${PORTSDIR}/audio/liba52
-#
-#CONFIGURE_ARGS+= --enable-a52 \
-# --enable-a52bin
-#.else
-#CONFIGURE_ARGS+= --enable-a52 \
-# --disable-a52bin
-#.endif
-GPLLIBS= yes
-# --enable-a52bin breaks build
-CONFIGURE_ARGS+= --enable-a52
-## enable freetype2
-.if defined(WITH_FREETYPE2)
-LIB_DEPENDS+= freetype.9:${PORTSDIR}/print/freetype2
+## optimization
+# breaks ffmpeg build if defined
+FFMPEG_CFLAGS+= -fno-force-addr
+
+.ifdef(WITH_OPTIMIZED_CFLAGS)
+FFMPEG_CFLAGS+= -O3 -ffast-math -fomit-frame-pointer
+. if ${OSVERSION} > 502124
+FFMPEG_CFLAGS+= -fno-unit-at-a-time
+. endif
+.endif
+
+## a52
+.ifndef(WITHOUT_LIBA52)
+LIB_DEPENDS+= a52.0:${PORTSDIR}/audio/liba52
+
+CONFIGURE_ARGS+= --enable-a52 \
+ --enable-a52bin
-PLIST_SUB+= DRAWTEXT=""
+# libavcodec needs it
+FFMPEG_LDFLAGS+= -la52
.else
-PLIST_SUB+= DRAWTEXT="@comment "
+CONFIGURE_ARGS+= --enable-a52 \
+ --disable-a52bin
.endif
-## enable imlib2
-.if !defined(WITHOUT_VHOOK) && defined(WITH_IMLIB2)
-LIB_DEPENDS+= Imlib2.3:${PORTSDIR}/graphics/imlib2
+## dts
+.ifdef(WITH_DTS)
+BUILD_DEPENDS+= ${LOCALBASE}/lib/libdts.a:${PORTSDIR}/multimedia/libdts
-PLIST_SUB+= IMLIB2=""
+CONFIGURE_ARGS+= --enable-dts
+.endif
+## faac
+.ifdef(WITH_FAAC)
+LIB_DEPENDS+= faac.0:${PORTSDIR}/audio/faac
+
+CONFIGURE_ARGS+= --enable-faac
+.endif
+## faad
+.ifdef(WITH_FAAD)
+LIB_DEPENDS+= faad.0:${PORTSDIR}/audio/faad
+
+CONFIGURE_ARGS+= --enable-faad \
+ --enable-faadbin
+.endif
+## ffserver
+.ifdef(WITHOUT_FFMPEG_FFSERVER)
+CONFIGURE_ARGS+= --disable-ffserver
.else
-PLIST_SUB+= IMLIB2="@comment "
+USE_RC_SUBR= yes
+
+MAN1+= ffserver.1
+
+PLIST_FILES+= bin/ffserver \
+ etc/ffserver.conf.sample \
+ etc/rc.d/ffserver.sh
+.endif
+## gpl libs
+.ifdef(GPLLIBS)
+CONFIGURE_ARGS+= --enable-gpl
.endif
## disable mmx
.ifdef(WITHOUT_MMX)
CONFIGURE_ARGS+= --disable-mmx
-.endif
-## SDL
-.ifdef(WITH_SDL)
-USE_SDL= sdl
-MAN1+= ffplay.1
-
-PLIST_SUB+= SDL=""
-.else
-PLIST_SUB+= SDL="@comment "
+WITHOUT_BUILTIN_VECTOR= yes
.endif
## mp3
.ifdef(WITH_MP3)
@@ -152,113 +231,163 @@ LIB_DEPENDS+= mp3lame.0:${PORTSDIR}/audio/lame
CONFIGURE_ARGS+= --enable-mp3lame
.endif
-## optimization
-.if ${OSVERSION} > 502124
-. ifdef(WITH_OPTIMIZED_CFLAGS)
-CONFIGURE_ARGS+= --extra-cflags="-fPIC -DPIC -I${LOCALBASE}/include \
- -I${X11BASE}/include \
- -ffast-math -fomit-frame-pointer -fno-unit-at-a-time" \
- --extra-ldflags="-L${LOCALBASE}/lib -L${X11BASE}/lib -lm"
-. else
-CONFIGURE_ARGS+= --extra-cflags="-fPIC -DPIC -I${LOCALBASE}/include \
- -I${X11BASE}/include \
- -fomit-frame-pointer -fno-unit-at-a-time" \
- --extra-ldflags="-L${LOCALBASE}/lib -L${X11BASE}/lib -lm "
-# --disable-opts
-. endif
-.else
-CONFIGURE_ARGS+= --extra-cflags="-fPIC -DPIC -I${LOCALBASE}/include \
- -I${X11BASE}/include \
- -ffast-math -fomit-frame-pointer" \
- --extra-ldflags="-L${LOCALBASE}/lib -L${X11BASE}/lib -lm"
-. else
-CONFIGURE_ARGS+= --extra-cflags="-fPIC -DPIC -I${LOCALBASE}/include \
- -I${X11BASE}/include" \
- --extra-ldflags="-L${WRKSRC}/libavcodec -L${LOCALBASE}/lib -L${X11BASE}/lib -lm "
+## ogg
+.ifdef(WITH_OGG)
+LIB_DEPENDS+= ogg.5:${PORTSDIR}/audio/libogg
+
+CONFIGURE_ARGS+= --enable-libogg
.endif
+## post processing
+.ifndef(WITHOUT_POSTPROCESS)
+CONFIGURE_ARGS+= --enable-pp \
+ --enable-shared-pp
-## vhook
-.ifndef(WITHOUT_VHOOK)
-PLIST_SUB+= VHOOK=""
+LIB_FILES+= libavcodec/libpostproc/libpostproc.a
+PLIST_DIRS+= include/ffmpeg/postproc \
+ include/ffmpeg
+PLIST_FILES+= include/ffmpeg/postproc/postprocess.h
+.endif
+## pthreads
+.ifndef(WITHOUT_PTHREADS)
+CONFIGURE_ARGS+= --enable-pthreads
+.endif
+## SDL
+.ifdef(WITH_SDL)
+USE_SDL= sdl
+
+MAN1+= ffplay.1
+
+PLIST_FILES+= bin/ffplay
.else
-CONFIGURE_ARGS+= -disable-vhook
+CONFIGURE_ARGS+= --disable-ffplay
+.endif
+## theora
+.undef WITH_THEORA
+.ifdef(WITH_THEORA)
+LIB_DEPENDS+= theora.1:${PORTSDIR}/multimedia/libtheora
-PLIST_SUB+= VHOOK="@comment "
+CONFIGURE_ARGS+= --enable-theora
.endif
## vorbis
.ifdef(WITH_VORBIS)
LIB_DEPENDS+= vorbisenc.2:${PORTSDIR}/audio/libvorbis
CONFIGURE_ARGS+= --enable-vorbis
+FFMPEG_CFLAGS+= -I${LOCALBASE}/include/vorbis
.endif
-## faac
-.ifdef(WITH_FAAC)
-LIB_DEPENDS+= faac.0:${PORTSDIR}/audio/faac
-
-CONFIGURE_ARGS+= --enable-faac
-.endif
-## faad
-.ifdef(WITH_FAAD)
-LIB_DEPENDS+= faad.0:${PORTSDIR}/audio/faad
+# x264
+.ifdef(WITH_X264)
+LIB_DEPENDS+= x264.1:${PORTSDIR}/multimedia/x264
-CONFIGURE_ARGS+= --enable-faad --enable-faadbin
-GPLLIBS= yes
+CONFIGURE_ARGS+= --enable-x264
.endif
-## GPLLIBS
-.ifdef(GPLLIBS)
-CONFIGURE_ARGS+= --enable-gpl
+## builtin vector, requires mmx
+.if !defined(WITHOUT_BUILTIN_VECTOR) && defined(WITH_BUILTIN_VECTOR)
+FFMPEG_CFLAGS+= -msse
.endif
-## post processing
-.ifndef(WITHOUT_POSTPROCESS)
-CONFIGURE_ARGS+= --enable-shared-pp
-PLIST_FILES+= include/ffmpeg/postproc/postprocess.h
-PLIST_DIRS+= include/ffmpeg/postproc
-.endif
-## ffserver
-.ifdef(WITHOUT_FFMPEG_FFSERVER)
-CONFIGURE_ARGS+= --disable-ffserver
+## vhook
+.ifndef(WITHOUT_VHOOK)
+PLIST_DIRS+= lib/vhook
+PLIST_FILES+= \
+ lib/vhook/fish.so \
+ lib/vhook/null.so \
+ lib/vhook/ppm.so \
+ lib/vhook/watermark.so
+
+# enable freetype2
+. ifdef(WITH_FREETYPE2)
+LIB_DEPENDS+= freetype.9:${PORTSDIR}/print/freetype2
+
+PLIST_FILES+= lib/vhook/drawtext.so
+. endif # freetype2
+
+# enable imlib2
+. ifdef(WITH_IMLIB2)
+LIB_DEPENDS+= Imlib2.3:${PORTSDIR}/graphics/imlib2
+
+PLIST_FILES+= lib/vhook/imlib2.so
+. else
+WITHOUT_IMLIB2= yes
+. endif # imlib2
-PLIST_SUB+= FFSERVER="@comment "
.else
-USE_RC_SUBR= yes
-MAN1+= ffserver.1
+CONFIGURE_ARGS+= -disable-vhook
+.endif ## WITHOUT_VHOOK
+## xvid
+.ifdef(WITH_XVID)
+LIB_DEPENDS+= xvidcore.4:${PORTSDIR}/multimedia/xvid
-PLIST_SUB+= FFSERVER=""
+CONFIGURE_ARGS+= --enable-xvid
.endif
-PLIST_DIRS+= include/ffmpeg
pre-everything::
-.ifndef(WITH_FREETYPE2)
- @${ECHO_MSG} 'Define WITH_FREETYPE2 to enable drawtext FREETYPE2 codec'
+.ifndef(WITHOUT_LIBA52)
+ @${ECHO_MSG} 'You can disable liba52 support by defining WITHOUT_LIBA52'
@${ECHO_MSG}
.endif
-.ifndef(WITHOUT_LIBA52)
- @${ECHO_MSG} "You can disable liba52 support by defining WITHOUT_LIBA52"
+.ifndef(WITH_BUILTIN_VECTOR)
+ @${ECHO_MSG} 'Define WITH_BUILTIN_VECTOR if your system supports SSE"
@${ECHO_MSG}
.endif
-.ifndef(WITHOUT_MMX)
- @${ECHO_MSG} "Define WITHOUT_MMX if your system does not support MMX"
+.ifndef(WITH_DTS)
+ @${ECHO_MSG} 'Define WITH_DTS to enable DTS codec'
@${ECHO_MSG}
.endif
-.ifndef(WITH_SDL)
- @${ECHO_MSG} 'Define WITH_SDL to enable ffplay SDL version'
+.ifndef(WITH_FAAC)
+ @${ECHO_MSG} 'Define WITH_FAAC to enable FAAC codec'
+ @${ECHO_MSG}
+.endif
+.ifndef(WITH_FAAD)
+ @${ECHO_MSG} 'Define WITH_FAAD to enable FAAD codec'
+ @${ECHO_MSG}
+.endif
+.ifndef(WITHOUT_FFMPEG_FFSERVER)
+ @${ECHO_MSG} 'Define WITHOUT_FFMPEG_FFSERVER to disable ffserver build'
+ @${ECHO_MSG}
+.endif
+.ifndef(WITH_FREETYPE2)
+ @${ECHO_MSG} 'Define WITH_FREETYPE2 to enable VHOOK drawtext FREETYPE2 codec'
+ @${ECHO_MSG}
+.endif
+.ifndef(WITHOUT_IPV6)
+ @${ECHO_MSG} 'Define WITHOUT_IPV6 to disable IPV6 network support'
+ @${ECHO_MSG}
+.endif
+.ifndef(WITHOUT_MMX)
+ @${ECHO_MSG} 'Define WITHOUT_MMX if your system does not support MMX'
@${ECHO_MSG}
.endif
.ifndef(WITH_MP3)
@${ECHO_MSG} 'Define WITH_MP3 to enable lame MP3 codec'
@${ECHO_MSG}
.endif
+.ifndef(WITH_OGG)
+ @${ECHO_MSG} 'Define WITH_OGG to enable OGG codec'
+ @${ECHO_MSG}
+.endif
.ifndef(WITH_OPTIMIZED_CFLAGS)
@${ECHO_MSG} 'You can enable additional compilation optimizations'
@${ECHO_MSG} 'by defining WITH_OPTIMIZED_CFLAGS'
@${ECHO_MSG}
.endif
+.ifndef(WITHOUT_PTHREADS)
+ @${ECHO_MSG} 'Define WITHOUT_PTHREADS to disable threading support'
+ @${ECHO_MSG}
+.endif
.ifndef(WITHOUT_POSTPROCESS)
@${ECHO_MSG} 'You can disable post process support by defining'
@${ECHO_MSG} 'WITHOUT_POSTPROCESS'
@${ECHO_MSG} 'Beware that this might break some ports that require it'
@${ECHO_MSG}
.endif
+.ifndef(WITH_SDL)
+ @${ECHO_MSG} 'Define WITH_SDL to enable ffplay SDL version'
+ @${ECHO_MSG}
+.endif
+.ifndef(WITH_THEORA)
+ @${ECHO_MSG} 'Define WITH_THEORA to enable THEORA codec'
+ @${ECHO_MSG}
+.endif
.ifndef(WITHOUT_VHOOK)
@${ECHO_MSG} 'You can disable vhook support by defining WITHOUT_VHOOK'
@${ECHO_MSG}
@@ -267,16 +396,12 @@ pre-everything::
@${ECHO_MSG} 'Define WITH_VORBIS to enable libvorbisenc VORBIS codec'
@${ECHO_MSG}
.endif
-.ifndef(WITH_FAAC)
- @${ECHO_MSG} 'Define WITH_FAAC to enable libfaac'
- @${ECHO_MSG}
-.endif
-.ifndef(WITH_FAAD)
- @${ECHO_MSG} 'Define WITH_FAAD to enable libfaad codec'
+.ifndef(WITH_X264)
+ @${ECHO_MSG} 'Define WITH_VORBIS to enable X264 codec'
@${ECHO_MSG}
.endif
-.ifndef(WITHOUT_FFMPEG_FFSERVER)
- @${ECHO_MSG} 'Define WITHOUT_FFMPEG_FFSERVER to disable ffserver build'
+.ifndef(WITH_XVID)
+ @${ECHO_MSG} 'Define WITH_VORBIS to enable XVID codec'
@${ECHO_MSG}
.endif
.if ${ARCH} == "i386"
@@ -300,44 +425,80 @@ post-extract:
.endif # ${ARCH} == i386
post-patch:
+# {C,LD}FLAGS safeness
+ @${FIND} ${WRKDIR} -type f -name "Makefile" -print0 | \
+ ${XARGS} -0 -n 5 -x \
+ ${REINPLACE_CMD} -E \
+ -e 's@^(CFLAGS.+)$$@\1 ${FFMPEG_CFLAGS}@' \
+ -e 's@^(FFLIBS|LDFLAGS)(.+)$$@\1\2 ${FFMPEG_LDFLAGS}@' \
+# fix x264 math, use correct log base 2 from math(3)
+ @${REINPLACE_CMD} -E \
+ -e 's| log2| log|' \
+ ${WRKSRC}/libavcodec/x264.c
# force detection of texi2html
.ifndef(NOPORTDOCS)
@${REINPLACE_CMD} -E \
-e 's|^(texi2html=)no|\1yes|' \
${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
.endif
-.ifndef(WITHOUT_FFMPEG_FFSERVER)
- @${SED} -e 's|%%PREFIX%%|${PREFIX}|; s|%%RC_SUBR%%|${RC_SUBR}|' \
- ${FILESDIR}/ffserver.sh >${WRKDIR}/ffserver.sh
- @${REINPLACE_CMD} -e "s!/etc/ffserver.conf!${PREFIX}/etc/ffserver.conf!g" \
- ${WRKSRC}/ffserver.c ${WRKSRC}/doc/ffserver-doc.texi
- @${REINPLACE_CMD} -e 's!NoDaemon!# NoDaemon!g' \
- ${WRKSRC}/doc/ffserver.conf
-.endif
.if ${ARCH} == "i386"
+.ifdef(WITH_VIDEO_CAPTURE)
# we support "v4l" per default through Steve O'Hara-Smith's bktr(4)
# patch
- @${REINPLACE_CMD} -E -e \
- 's|^(v4l).*$$|\1="yes"|' \
- ${WRKSRC}/configure
-.ifdef(WITH_BKTR_FORMAT)
- @${REINPLACE_CMD} -e \
- "s!VIDEO_FORMAT NTSC!VIDEO_FORMAT ${WITH_BKTR_FORMAT}!" \
- ${WRKSRC}/libavformat/grab_bsdbktr.c
+ @${REINPLACE_CMD} -E \
+ -e 's|^(v4l).*$$|\1="yes"|' \
+ ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
+# set proper audio device
+.ifdef(WITH_AUDIO_DEV)
+ @${REINPLACE_CMD} -E \
+ -e 's!/dev/dsp!${WITH_AUDIO_DEV:Q}!' \
+ ${WRKSRC}/libavformat/audio.c
.endif
.ifdef(WITH_BKTR_DEV)
- @${REINPLACE_CMD} -e \
- "s!idev = 0!idev = ${WITH_BKTR_DEV}!" \
+ @${REINPLACE_CMD} -E \
+ -e "s!idev = 0!idev = ${WITH_BKTR_DEV}!" \
${WRKSRC}/libavformat/grab_bsdbktr.c
.endif
+.ifdef(WITH_BKTR_FORMAT)
+ @${REINPLACE_CMD} -E \
+ -e "s!VIDEO_FORMAT NTSC!VIDEO_FORMAT ${WITH_BKTR_FORMAT}!" \
+ ${WRKSRC}/libavformat/grab_bsdbktr.c
+.endif
+.endif # WITH_VIDEO_CAPTURE
.endif # ${ARCH} == i386
# malloc.h was deprecated in favor of stdlib.h
- @${FIND} ${WRKSRC} -type f | \
- ${XARGS} -n 10 ${REINPLACE_CMD} -e \
- 's|malloc\.h|stdlib\.h|'
+# do not shadow fprintf(3) with bogus statement
+ @${FIND} ${WRKSRC} -type f -print0 | \
+ ${XARGS} -0 -n 5 -x ${REINPLACE_CMD} -E \
+ -e 's|malloc\.h|stdlib\.h|' \
+ -e 's|^.*please_use_av_log.*$$||'
.ifndef(WITHOUT_LIBA52)
@${REINPLACE_CMD} -e 's|-ldl||' \
- ${WRKSRC}/configure
+ ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
+ @${REINPLACE_CMD} -E \
+ -e 's|../(avcodec.h)|\1|' \
+ ${WRKSRC}/libavcodec/liba52/a52.h
+.endif
+.ifndef(WITHOUT_FFMPEG_FFSERVER)
+ @${SED} -e 's|%%PREFIX%%|${PREFIX}|; s|%%RC_SUBR%%|${RC_SUBR}|' \
+ ${FILESDIR}/ffserver.sh >${WRKDIR}/ffserver.sh
+ @${REINPLACE_CMD} -e "s!/etc/ffserver.conf!${PREFIX}/etc/ffserver.conf!g" \
+ ${WRKSRC}/ffserver.c ${WRKSRC}/doc/ffserver-doc.texi
+ @${REINPLACE_CMD} -e 's!NoDaemon!# NoDaemon!g' \
+ ${WRKSRC}/doc/ffserver.conf
+.endif
+.if defined(WITH_IMLIB2) && !defined(WITHOUT_IMLIB2)
+ @${REINPLACE_CMD} -E \
+ -e 's|^(imlib2).*$$|\1=yes|' \
+ ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
+ @${REINPLACE_CMD} -E \
+ -e 's|(-lImlib2)|-L ${X11BASE}/lib \1|' \
+ ${WRKSRC}/vhook/Makefile
+.endif
+.if defined(WITH_IPV6) && ${OSVERSION} >= 400014
+ @${REINPLACE_CMD} -E \
+ -e 's|^(ipv6).*$$|\1=yes|' \
+ ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
.endif
.ifdef(WITH_SDL)
@${REINPLACE_CMD} -E \
@@ -347,7 +508,45 @@ post-patch:
${XARGS} -n 10 ${REINPLACE_CMD} -E \
-e 's|#include <SDL|#include <SDL11/SDL|'
.endif
+.ifndef(WITHOUT_POSTPROCESS)
+ @${REINPLACE_CMD} -E \
+ -e 's|^(SPPVERSION).*$$|\1=${SHLIB_VERSION}|' \
+ -e 's|\$$[(]SPPLIB[)].0|$$(SPPLIB).${SHLIB_VERSION}|' \
+ ${WRKSRC}/libavcodec/libpostproc/Makefile
+# XXX - libavcodec.so needs libpostproc.so but looks for libpostproc.so.0
+# exists
+ @${LN} -sf libpostproc.so \
+ ${WRKSRC}/libavcodec/libpostproc/libpostproc.so.${SHLIB_VERSION}
+.endif
+.ifndef(WITHOUT_BUILTIN_VECTOR)
+ @${REINPLACE_CMD} -E \
+ -e 's|^(builtin_vector).*$$|\1=yes|' \
+ ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
+.endif
+post-configure:
+.ifdef(WITH_DTS)
+ @${REINPLACE_CMD} -E \
+ -e 's|-ldts|${LOCALBASE}/lib/libdts.a|' \
+ -e 's|(-lx264)|-L${LOCALBASE}/lib \1|' \
+ ${WRKSRC}/config.mak \
+ ${WRKSRC}/libavcodec/Makefile
+.endif
+.ifdef(WITH_X264)
+ @${REINPLACE_CMD} -E \
+ -e 's|(-lx264)|-L${LOCALBASE}/lib \1|' \
+ ${WRKSRC}/config.mak \
+ ${WRKSRC}/libavcodec/Makefile
+.endif
+.ifndef(WITH_THEORA)
+ @${REINPLACE_CMD} -E \
+ -e 's|^(CONFIG_LIBTHEORA).*$$|\1=no|' \
+ ${WRKSRC}/config.mak
+.endif
+# shared libraries PIC
+ @${REINPLACE_CMD} -E \
+ -e 's|^(PIC[[:space:]]*=.*)$$|\1 -fpic -fPIC -DPIC|' \
+ ${WRKSRC}/config.mak
post-install:
.ifndef(NOPORTDOCS)
@${MKDIR} ${DOCSDIR}
@@ -381,7 +580,7 @@ post-install:
.ifndef(WITHOUT_POSTPROCESS)
@${MKDIR} ${PREFIX}/include/ffmpeg/postproc
@${INSTALL_DATA} ${WRKSRC}/libavcodec/libpostproc/postprocess.h \
- ${PREFIX}/include/ffmpeg/postproc/postprocess.h
+ ${PREFIX}/include/ffmpeg/postproc/postprocess.h
.endif
.include <bsd.port.post.mk>
diff --git a/multimedia/ffmpeg-devel/distinfo b/multimedia/ffmpeg-devel/distinfo
index 81f3247203c6..c7bdb94c4918 100644
--- a/multimedia/ffmpeg-devel/distinfo
+++ b/multimedia/ffmpeg-devel/distinfo
@@ -1,2 +1,2 @@
-MD5 (ffmpeg-0.4.9-pre1.tar.gz) = ea5587e3c66d50b1503b82ac4179c303
-SIZE (ffmpeg-0.4.9-pre1.tar.gz) = 1611332
+MD5 (FFMpeg-20050511.tar.bz2) = 01d4e80af7ef832ad9a25204a74ab921
+SIZE (FFMpeg-20050511.tar.bz2) = 1533468
diff --git a/multimedia/ffmpeg-devel/files/extra-bktr-patch-libavformat::Makefile b/multimedia/ffmpeg-devel/files/extra-bktr-patch-libavformat::Makefile
deleted file mode 100644
index 25f7c23de3a0..000000000000
--- a/multimedia/ffmpeg-devel/files/extra-bktr-patch-libavformat::Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
---- libavformat/Makefile.orig Wed Jan 1 21:00:22 2003
-+++ libavformat/Makefile Wed Jan 1 21:01:27 2003
-@@ -21,7 +21,7 @@
- endif
-
- ifeq ($(CONFIG_VIDEO4LINUX),yes)
--OBJS+= grab.o
-+OBJS+= grab_bsdbktr.o
- endif
-
- ifeq ($(CONFIG_AUDIO_OSS),yes)
diff --git a/multimedia/ffmpeg-devel/files/grab_bsdbktr.c b/multimedia/ffmpeg-devel/files/grab_bsdbktr.c
index 853cf55221f4..afb4b79574bb 100644
--- a/multimedia/ffmpeg-devel/files/grab_bsdbktr.c
+++ b/multimedia/ffmpeg-devel/files/grab_bsdbktr.c
@@ -80,7 +80,7 @@ static void catchsignal(int signal)
}
static int bktr_init (const char *video_device, int width, int height,
- int format, u_int8_t **video_buf, int *video_fd, int *tuner_fd,
+ int format, u_int8_t **video_buf_local, int *video_fd, int *tuner_fd,
int idev, double frequency)
{
struct meteor_geomet geo;
@@ -127,10 +127,11 @@ static int bktr_init (const char *video_device, int width, int height,
perror("Warning: Tuner not opened continuing");
}
- *video_fd = open (video_device, O_RDONLY);
+// *video_fd = open (video_device, O_RDONLY);
+ *video_fd = open (video_device, O_RDWR);
if (*video_fd < 0) {
perror (video_device);
- return -1;
+ return AVERROR_IO;
}
geo.rows = height;
@@ -167,9 +168,9 @@ static int bktr_init (const char *video_device, int width, int height,
perror ("METEORSINPUT");
return -1;
}
- *video_buf = (u_int8_t *) mmap((caddr_t)0, width*height*2,
+ *video_buf_local = (u_int8_t *) mmap((void *)0, width*height*2,
PROT_READ, MAP_SHARED, *video_fd, (off_t) 0);
- if (*video_buf == MAP_FAILED) {
+ if (*video_buf_local == MAP_FAILED) {
perror ("mmap");
return -1;
}
@@ -185,23 +186,29 @@ static int bktr_init (const char *video_device, int width, int height,
return 0;
}
-static void bktr_getframe(u_int64_t per_frame)
+static void bktr_getframe(VideoData *s)
{
- u_int64_t curtime;
- static u_int64_t last_frame_time = 0;
-
- curtime = av_gettime();
- if (!last_frame_time
- || ((last_frame_time + per_frame) > curtime)) {
- if (!usleep (last_frame_time + per_frame + per_frame/8 - curtime)) {
- if (!nsignals)
- printf ("\nSLEPT NO signals - %d microseconds late\n",
- (int) (av_gettime() - last_frame_time - per_frame));
+ int64_t curtime, delay;
+ struct timespec ts;
+
+ /* Calculate the time of the next frame */
+ s->per_frame += int64_t_C(1000000);
+
+ /* wait based on the frame rate */
+ for(;;) {
+ curtime = av_gettime();
+ delay = s->per_frame * s->frame_rate_base / s->frame_rate - curtime;
+ if (delay <= 0) {
+ if (delay < int64_t_C(-1000000) * s->frame_rate_base / s->frame_rate) {
+ /* printf("grabbing is %d frames late (dropping)\n", (int) -(delay / 16666)); */
+ s->per_frame += int64_t_C(1000000);
+ }
+ break;
}
+ ts.tv_sec = delay / 1000000;
+ ts.tv_nsec = (delay % 1000000) * 1000;
+ nanosleep(&ts, NULL);
}
- nsignals = 0;
-
- last_frame_time = curtime;
}
void bf_memcpy (char *dest, char *src, int size)
@@ -226,10 +233,12 @@ static int grab_read_packet(AVFormatContext *s1, AVPacket *pkt)
// if (av_new_packet(pkt, size + halfsize) < 0)
if (av_new_packet(pkt, size + size) < 0)
- return -EIO;
+ return AVERROR_IO;
+
+ bktr_getframe (s);
+// pkt->pts = av_gettime() & ((1LL << 48) - 1);
+ pkt->pts = av_gettime() * s->frame_rate / s->frame_rate_base;
- bktr_getframe (s->per_frame);
- pkt->pts = av_gettime() & ((1LL << 48) - 1);
bf_memcpy (pkt->data, video_buf, size + size);
// bf_memcpy (pkt->data, video_buf, size + halfsize);
@@ -246,18 +255,23 @@ static int grab_read_header (AVFormatContext *s1, AVFormatParameters *ap)
int frame_rate_base;
int format = -1;
- if (!ap || ap->width <= 0 || ap->height <= 0 || ap->frame_rate <= 0)
+ if (!ap || ap->width <= 0 || ap->height <= 0 || ap->time_base.den <= 0)
return -1;
width = ap->width;
height = ap->height;
- frame_rate = ap->frame_rate;
- frame_rate_base = ap->frame_rate_base;
+ frame_rate = ap->time_base.den;
+ frame_rate_base = ap->time_base.num;
+
+ if((unsigned)width > 32767 || (unsigned)height > 32767)
+ return -1;
st = av_new_stream(s1, 0);
if (!st)
return -ENOMEM;
+ av_set_pts_info(st, 48, 1, 1000000); /* 48 bits pts in us */
+
s->width = width;
s->height = height;
s->frame_rate = frame_rate;
@@ -270,10 +284,8 @@ static int grab_read_header (AVFormatContext *s1, AVFormatParameters *ap)
st->codec.codec_id = CODEC_ID_RAWVIDEO;
st->codec.width = width;
st->codec.height = height;
- st->codec.frame_rate = frame_rate;
- st->codec.frame_rate_base = frame_rate_base;
-
- av_set_pts_info(s1, 48, 1, 1000000); /* 48 bits pts in use */
+ st->codec.time_base.den = frame_rate;
+ st->codec.time_base.num = frame_rate_base;
if (ap->standard) {
if (!strcasecmp(ap->standard, "pal"))
@@ -286,7 +298,7 @@ static int grab_read_header (AVFormatContext *s1, AVFormatParameters *ap)
if (bktr_init (video_device, width, height, format, &video_buf,
&(s->fd), &(s->tuner_fd), -1, 0.0) < 0)
- return -EIO;
+ return AVERROR_IO;
return 0;
}
@@ -298,7 +310,7 @@ static int grab_read_close (AVFormatContext *s1)
ioctl(s->fd, METEORCAPTUR, &c);
close(s->fd);
close(s->tuner_fd);
- av_free(s);
+ munmap((void *)video_buf, sizeof(video_buf));
return 0;
}
diff --git a/multimedia/ffmpeg-devel/files/patch-Makefile b/multimedia/ffmpeg-devel/files/patch-Makefile
deleted file mode 100644
index a04053123a5f..000000000000
--- a/multimedia/ffmpeg-devel/files/patch-Makefile
+++ /dev/null
@@ -1,14 +0,0 @@
---- Makefile.orig Sat Jul 17 11:05:15 2004
-+++ Makefile Sat Jul 17 11:04:42 2004
-@@ -81,8 +81,9 @@
- all: lib $(PROG) $(PROGTEST) $(VHOOK) $(QTFASTSTART) $(DOC)
-
- lib:
-- $(MAKE) -C libavcodec all
-- $(MAKE) -C libavformat all
-+ $(MAKE) LDFLAGS="$(LDFLAGS)" -C libavcodec all
-+ $(MAKE) LDFLAGS="$(LDFLAGS)" -C libavformat all
-+
-
- ffmpeg_g$(EXESUF): ffmpeg.o cmdutils.o .libs
- $(CC) $(LDFLAGS) -o $@ ffmpeg.o cmdutils.o $(FFLIBS) $(EXTRALIBS)
diff --git a/multimedia/ffmpeg-devel/files/patch-configure b/multimedia/ffmpeg-devel/files/patch-configure
deleted file mode 100644
index 8aa0caaa7940..000000000000
--- a/multimedia/ffmpeg-devel/files/patch-configure
+++ /dev/null
@@ -1,29 +0,0 @@
---- configure.orig Mon Jul 5 15:05:54 2004
-+++ configure Sun Dec 5 15:49:57 2004
-@@ -88,7 +88,7 @@
- mandir=""
- bindir=""
- cross_prefix=""
--cc="gcc"
-+cc="$CC"
- ar="ar"
- ranlib="ranlib"
- make="make"
-@@ -187,7 +187,7 @@
- BeOS)
- prefix="/boot/home/config"
- # helps building libavcodec
--CFLAGS="-DPIC -fomit-frame-pointer"
-+CFLAGS="$CFLAGS -DPIC -fomit-frame-pointer"
- # 3 gcc releases known for BeOS, each with ugly bugs
- gcc_version="`$cc -v 2>&1 | grep version | cut -d ' ' -f3-`"
- case "$gcc_version" in
-@@ -857,7 +857,7 @@
- EOF
-
- imlib2=no
--if $cc -o $TMPE $TMPC -lImlib2 -lm > /dev/null 2>&1 ; then
-+if $cc $CFLAGS $LDFLAGS -o $TMPE $TMPC -lImlib2 -lm > /dev/null 2>&1 ; then
- imlib2=yes
- fi
-
diff --git a/multimedia/ffmpeg-devel/files/patch-libavcodec::Makefile b/multimedia/ffmpeg-devel/files/patch-libavcodec::Makefile
index 4ed42ea46e9d..96f23b48f7da 100644
--- a/multimedia/ffmpeg-devel/files/patch-libavcodec::Makefile
+++ b/multimedia/ffmpeg-devel/files/patch-libavcodec::Makefile
@@ -1,22 +1,13 @@
---- libavcodec/Makefile.orig Sat Jul 17 11:07:57 2004
-+++ libavcodec/Makefile Sat Jul 17 11:09:21 2004
-@@ -197,7 +197,7 @@
- $(CC) $(SHFLAGS) -Wl,--output-def,$(@:.dll=.def) -o $@ $(OBJS) $(EXTRALIBS) $(AMREXTRALIBS)
- -lib /machine:i386 /def:$(@:.dll=.def)
+--- libavcodec/Makefile.orig Sun May 1 17:07:56 2005
++++ libavcodec/Makefile Sun May 1 17:08:29 2005
+@@ -303,8 +303,8 @@
+ install $(INSTALLSTRIP) -m 755 $(SLIB) "$(prefix)"
else
-- $(CC) $(SHFLAGS) -o $@ $(OBJS) $(EXTRALIBS) $(AMREXTRALIBS) $(LDFLAGS)
-+ $(CC) $(SHFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(EXTRALIBS) $(AMREXTRALIBS)
- endif
-
- dsputil.o: dsputil.c dsputil.h
-@@ -269,8 +269,8 @@
- install -s -m 755 $(SLIB) "$(prefix)"
- else
- install -d $(prefix)/lib
-- install -s -m 755 $(SLIB) $(prefix)/lib/libavcodec-$(VERSION).so
-- ln -sf libavcodec-$(VERSION).so $(prefix)/lib/libavcodec.so
-+ install -s -m 755 $(SLIB) $(prefix)/lib/libavcodec.so.1
-+ cd $(prefix)/lib && ln -s libavcodec.so.1 libavcodec.so
+ install -d $(libdir)
+- install $(INSTALLSTRIP) -m 755 $(SLIB) $(libdir)/libavcodec-$(VERSION).so
+- ln -sf libavcodec-$(VERSION).so $(libdir)/libavcodec.so
++ ${BSD_INSTALL_DATA} $(SLIB) $(prefix)/lib/libavcodec.so.1
++ cd $(prefix)/lib && ln -sf libavcodec.so.1 libavcodec.so
ldconfig || true
endif
- else
+ ifeq ($(CONFIG_PP),yes)
diff --git a/multimedia/ffmpeg-devel/files/patch-libavcodec::alpha::simple_idct_alpha.c b/multimedia/ffmpeg-devel/files/patch-libavcodec::alpha::simple_idct_alpha.c
deleted file mode 100644
index 9595454fd081..000000000000
--- a/multimedia/ffmpeg-devel/files/patch-libavcodec::alpha::simple_idct_alpha.c
+++ /dev/null
@@ -1,19 +0,0 @@
---- libavcodec/alpha/simple_idct_alpha.c.bak Fri Dec 27 12:35:23 2002
-+++ libavcodec/alpha/simple_idct_alpha.c Tue May 13 21:21:42 2003
-@@ -24,8 +24,16 @@
- * and Falk Hueffner <falk@debian.org>
- */
-
-+#if (defined(__unix__) || defined(unix)) && !defined(USG)
-+#include <sys/param.h>
-+#endif
-+
- #include "asm.h"
- #include "../dsputil.h"
-+
-+#if defined(__FreeBSD__) && __FreeBSD_version < 500000
-+typedef __int32_t int_fast32_t;
-+#endif
-
- extern void (*put_pixels_clamped_axp_p)(const DCTELEM *block, uint8_t *pixels,
- int line_size);
diff --git a/multimedia/ffmpeg-devel/files/patch-libavcodec::bswap.h b/multimedia/ffmpeg-devel/files/patch-libavcodec::bswap.h
index 8bef16c36abc..bc314bd7bfa9 100644
--- a/multimedia/ffmpeg-devel/files/patch-libavcodec::bswap.h
+++ b/multimedia/ffmpeg-devel/files/patch-libavcodec::bswap.h
@@ -1,53 +1,21 @@
---- libavcodec/bswap.h.orig Sun Dec 5 16:03:35 2004
-+++ libavcodec/bswap.h Sun Dec 5 16:06:48 2004
-@@ -10,6 +10,14 @@
- #include <byteswap.h>
- #else
+--- libavcodec/bswap.h.orig Sun May 8 20:40:17 2005
++++ libavcodec/bswap.h Sun May 8 20:45:51 2005
+@@ -6,8 +6,18 @@
+ #ifndef __BSWAP_H__
+ #define __BSWAP_H__
++/* to detect __FreeBSD_version */
+#if (defined(__unix__) || defined(unix)) && !defined(USG)
+#include <sys/param.h>
+#endif
+
-+#if defined(__FreeBSD__) && __FreeBSD_version >= 470000
+ #ifdef HAVE_BYTESWAP_H
+ #include <byteswap.h>
++#elif (defined(__FreeBSD__) && __FreeBSD_version >= 470000)
+#include <sys/endian.h>
-+#endif
-+
- #ifdef ARCH_X86
- static inline unsigned short ByteSwap16(unsigned short x)
- {
-@@ -18,7 +26,11 @@
- "0" (x));
- return x;
- }
-+#if defined(__FreeBSD__) && __FreeBSD_version >= 470000
-+#define bswap_16(x) (be16toh(x))
-+#else
- #define bswap_16(x) ByteSwap16(x)
-+#endif
-
- static inline unsigned int ByteSwap32(unsigned int x)
- {
-@@ -34,7 +46,11 @@
- "0" (x));
- return x;
- }
-+#if defined(__FreeBSD__) && __FreeBSD_version >= 470000
-+#define bswap_32(x) (be32toh(x))
-+#else
- #define bswap_32(x) ByteSwap32(x)
-+#endif
-
- static inline unsigned long long int ByteSwap64(unsigned long long int x)
- {
-@@ -45,7 +61,11 @@
- "0"(bswap_32((unsigned long)x)),"1"(bswap_32((unsigned long)(x>>32))));
- return __x.__ll;
- }
-+#if defined(__FreeBSD__) && __FreeBSD_version >= 510000
-+#define bswap_64(x) (be64toh(x))
-+#else
- #define bswap_64(x) ByteSwap64(x)
-+#endif
-
- #elif defined(ARCH_SH4)
++#define bswap_16(x) bswap16(x)
++#define bswap_32(x) bswap32(x)
++#define bswap_64(x) bswap64(x)
+ #else
+ #ifdef ARCH_X86_64
diff --git a/multimedia/ffmpeg-devel/files/patch-libavcodec::x264.c b/multimedia/ffmpeg-devel/files/patch-libavcodec::x264.c
new file mode 100644
index 000000000000..5c4d4cc6085a
--- /dev/null
+++ b/multimedia/ffmpeg-devel/files/patch-libavcodec::x264.c
@@ -0,0 +1,10 @@
+--- libavcodec/x264.c.orig Sun May 1 16:15:23 2005
++++ libavcodec/x264.c Sun May 1 16:14:58 2005
+@@ -19,6 +19,7 @@
+
+ #include "avcodec.h"
+ #include <x264.h>
++#include <math.h>
+
+ typedef struct X264Context {
+ x264_param_t params;
diff --git a/multimedia/ffmpeg-devel/files/patch-libavformat::Makefile b/multimedia/ffmpeg-devel/files/patch-libavformat::Makefile
index 36a7674c28e5..5cb229d585e7 100644
--- a/multimedia/ffmpeg-devel/files/patch-libavformat::Makefile
+++ b/multimedia/ffmpeg-devel/files/patch-libavformat::Makefile
@@ -1,13 +1,22 @@
---- libavformat/Makefile.orig Thu Sep 11 22:55:10 2003
-+++ libavformat/Makefile Thu Sep 11 23:12:50 2003
-@@ -88,8 +88,8 @@
- install: all
- ifeq ($(BUILD_SHARED),yes)
- install -d $(prefix)/lib
-- install -s -m 755 $(SLIB) $(prefix)/lib/libavformat-$(VERSION).so
-- ln -sf libavformat-$(VERSION).so $(prefix)/lib/libavformat.so
-+ install -s -m 755 $(SLIB) $(prefix)/lib/libavformat.so.1
+--- libavformat/Makefile.orig Tue Apr 26 07:17:51 2005
++++ libavformat/Makefile Sun May 1 17:15:15 2005
+@@ -37,7 +37,7 @@
+ OBJS+= framehook.o
+
+ ifeq ($(CONFIG_VIDEO4LINUX),yes)
+-OBJS+= grab.o
++OBJS+= grab_bsdbktr.o
+ endif
+
+ ifeq ($(CONFIG_DV1394),yes)
+@@ -109,8 +109,8 @@
+ install $(INSTALLSTRIP) -m 755 $(SLIB) "$(prefix)"
+ else
+ install -d $(libdir)
+- install $(INSTALLSTRIP) -m 755 $(SLIB) $(libdir)/libavformat-$(VERSION).so
+- ln -sf libavformat-$(VERSION).so $(libdir)/libavformat.so
++ ${BSD_INSTALL_DATA} $(SLIB) $(prefix)/lib/libavformat.so.1
+ ln -sf libavformat.so.1 $(prefix)/lib/libavformat.so
ldconfig || true
- mkdir -p $(prefix)/include/ffmpeg
- install -m 644 $(VPATH)/avformat.h $(prefix)/include/ffmpeg/avformat.h
+ endif
+ else
diff --git a/multimedia/ffmpeg-devel/files/patch-libavformat::udp.c b/multimedia/ffmpeg-devel/files/patch-libavformat::udp.c
new file mode 100644
index 000000000000..11bd9641d541
--- /dev/null
+++ b/multimedia/ffmpeg-devel/files/patch-libavformat::udp.c
@@ -0,0 +1,13 @@
+--- libavformat/udp.c.orig Tue May 10 01:08:33 2005
++++ libavformat/udp.c Tue May 10 01:09:27 2005
+@@ -27,6 +27,10 @@
+ # include "barpainet.h"
+ #endif
+ #include <netdb.h>
++#ifndef IPV6_ADD_MEMBERSHIP
++#define IPV6_ADD_MEMBERSHIP IPV6_JOIN_GROUP
++#define IPV6_DROP_MEMBERSHIP IPV6_LEAVE_GROUP
++#endif
+
+ typedef struct {
+ int udp_fd;
diff --git a/multimedia/ffmpeg-devel/files/patch-vhook::Makefile b/multimedia/ffmpeg-devel/files/patch-vhook::Makefile
deleted file mode 100644
index cea89f3f74e5..000000000000
--- a/multimedia/ffmpeg-devel/files/patch-vhook::Makefile
+++ /dev/null
@@ -1,19 +0,0 @@
---- vhook/Makefile.orig Fri Dec 5 20:07:04 2003
-+++ vhook/Makefile Fri Dec 5 20:07:55 2003
-@@ -29,13 +29,13 @@
- install -s -m 755 $(HOOKS) $(INSTDIR)
-
- imlib2.so: imlib2.o
-- $(CC) -g -o $@ $(SHFLAGS) $< -lImlib2
-+ $(CC) -o $@ $(LDFLAGS) $(SHFLAGS) $< -lImlib2
-
- drawtext.so: drawtext.o
-- $(CC) -g -o $@ $(SHFLAGS) $< `freetype-config --libs`
-+ $(CC) -o $@ $(LDFLAGS) $(SHFLAGS) $< `freetype-config --libs`
-
- %.so: %.o
-- $(CC) -g -o $@ $(SHFLAGS) $<
-+ $(CC) -o $@ $(LDFLAGS) $(SHFLAGS) $<
-
- clean:
- rm -f *.o *.d .depend *.so *~
diff --git a/multimedia/ffmpeg-devel/pkg-plist b/multimedia/ffmpeg-devel/pkg-plist
index 6bad3c0fbd6c..60e9b180c537 100644
--- a/multimedia/ffmpeg-devel/pkg-plist
+++ b/multimedia/ffmpeg-devel/pkg-plist
@@ -1,8 +1,4 @@
bin/ffmpeg
-%%SDL%%bin/ffplay
-%%FFSERVER%%bin/ffserver
-%%FFSERVER%%etc/ffserver.conf.sample
-%%FFSERVER%%etc/rc.d/ffserver.sh
include/ffmpeg/avcodec.h
include/ffmpeg/avformat.h
include/ffmpeg/avio.h
@@ -18,9 +14,6 @@ lib/libavcodec.so.%%SHLIB_VERSION%%
lib/libavformat.a
lib/libavformat.so
lib/libavformat.so.%%SHLIB_VERSION%%
-%%VHOOK%%%%DRAWTEXT%%lib/vhook/drawtext.so
-%%VHOOK%%lib/vhook/fish.so
-%%VHOOK%%%%IMLIB2%%lib/vhook/imlib2.so
-%%VHOOK%%lib/vhook/null.so
-%%VHOOK%%lib/vhook/ppm.so
-%%VHOOK%%@dirrm lib/vhook
+lib/libpostproc.a
+lib/libpostproc.so
+lib/libpostproc.so.%%SHLIB_VERSION%%