From owner-freebsd-multimedia@FreeBSD.ORG Sun May 17 13:51:32 2009 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D8083106566B for ; Sun, 17 May 2009 13:51:32 +0000 (UTC) (envelope-from villa.alberto@gmail.com) Received: from mail-bw0-f213.google.com (mail-bw0-f213.google.com [209.85.218.213]) by mx1.freebsd.org (Postfix) with ESMTP id A887D8FC13 for ; Sun, 17 May 2009 13:51:31 +0000 (UTC) (envelope-from villa.alberto@gmail.com) Received: by bwz9 with SMTP id 9so2732569bwz.43 for ; Sun, 17 May 2009 06:51:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:to:subject:date :user-agent:mime-version:content-type:message-id; bh=YSwhJ2okGavN3plCWUyHIrORBC49X/mWL26CltX3tH0=; b=wGqZp99Ldf5mjI8nwbaAE3ZpywIw2vdO2XKCNwKQNpuFfZo4rjRDXTjoPeTfW9ll3k 2GGb9Vr0X2J2n/+WSpQo3iwnvWsbgDapCZs3PFQOUm876JdPNkaz2fzMfPE4QBpKJ6uc hqjsPNPxAPEDTufQIaMU68uv6nztPnPjkWvlo= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:subject:date:user-agent:mime-version:content-type :message-id; b=Kqnjap3HCXs1eEkgG89QOLCKXrp+XmQqD26H/ceBy8mo03tklhXsz8HGx2NI06+MWZ GlyUtjOeDSNBioHWgZMMcl9tN7sVxlujZ7qeDBKItYRPrRq6sT9M8zm56Bb2UxynpWyB 9MV2sxBWkedyDHRvEWKJ3zGRmdfKI0rA4ezRE= Received: by 10.204.60.72 with SMTP id o8mr5601630bkh.210.1242566858443; Sun, 17 May 2009 06:27:38 -0700 (PDT) Received: from echo.hoth (host15-211-dynamic.0-79-r.retail.telecomitalia.it [79.0.211.15]) by mx.google.com with ESMTPS id f31sm5507149fkf.12.2009.05.17.06.27.35 (version=SSLv3 cipher=RC4-MD5); Sun, 17 May 2009 06:27:37 -0700 (PDT) From: Alberto Villa To: freebsd-multimedia@freebsd.org Date: Sun, 17 May 2009 15:27:33 +0200 User-Agent: KMail/1.11.3 (FreeBSD/7.2-STABLE; KDE/4.2.3; i386; ; ) MIME-Version: 1.0 Content-Type: Multipart/Mixed; boundary="Boundary-00=_GDBEKd31vQVG4qD" Message-Id: <200905171527.34117.villa.alberto@gmail.com> X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: ffmpeg-2009-05-15 port ready for testing! X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 May 2009 13:51:33 -0000 --Boundary-00=_GDBEKd31vQVG4qD Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline hi all! as the maintainer of multimedia/(mlt|mlt++|kdenlive), and as a multimedia user, i feel the need for a newer ffmpeg in the ports tree. my maintained apps, as well as a lot of other software (blender, for example), are now broken due to the old ffmpeg (i have to ship a patch for the ffmpeg port on kdenlive.org to avoid a crash in the program in freebsd, but that cannot be shipped with the port itself!) so, i've made a new port (quite easy), and i'd like you to test and (hopefully) commit it. i'm not sending a pr because it is an important port, and i think the list should review it. also, it's breaking the building of some other ports, but that's a matter of some #define's at the moment i'm using (happily! blender started reading my video files, kdenlive doesn't crash anymore, and so on) my port. i've rebuilt all its dependent ports, which means: blender-2.48a_1 * gegl-0.0.22_4 gimp-2.6.6,2 gimp-app-2.6.6_1,1 gimp-gutenprint-5.1.7_1 kdenlive-0.7.3_1 libquicktime-1.1.1 * mlt++-0.3.8 mlt-0.3.8 py25-gimp-app-2.6.6 sox-14.2.0 among these, only blender and libquicktime required some little patches (i'm attaching them to this mail) i've enabled ALL the configure options supported in kdenlive (in OPTIONS, obviously), and it's working fine. maybe some check is required for the replace actions, but they seem to work attached you find: - the port .tar.gz - the .diff between the actual port and the new one - the patches to build libquicktime and blender (as an example) and here you find the distfile: http://kdenlive.org/~freebsd/ffmpeg-2009-05-15.tar.bz2 regards -- Alberto Villa --Boundary-00=_GDBEKd31vQVG4qD Content-Type: text/x-patch; charset="UTF-8"; name="ffmpeg-2009-05-15.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="ffmpeg-2009-05-15.diff" diff -ruN /home/albi/ffmpeg.orig/Makefile ffmpeg/Makefile --- /home/albi/ffmpeg.orig/Makefile 2009-05-15 18:12:18.000000000 +0200 +++ ffmpeg/Makefile 2009-05-16 03:05:21.000000000 +0200 @@ -6,8 +6,7 @@ # $Id: Makefile 77 2008-07-27 21:50:37Z buhnux $ PORTNAME= ffmpeg -DISTVERSION= 2008-07-27 -PORTREVISION= 10 +DISTVERSION= 2009-05-15 CATEGORIES= multimedia audio ipv6 net MASTER_SITES= ${MASTER_SITE_LOCAL} MASTER_SITE_SUBDIR= ahze @@ -15,6 +14,8 @@ MAINTAINER= multimedia@FreeBSD.org COMMENT= Hyper fast realtime audio/video encoder/converter, streaming server +BUILD_DEPENDS= yasm:${PORTSDIR}/devel/yasm + HAS_CONFIGURE= yes CONFIGURE_LOG= config.err USE_BZIP2= yes @@ -22,29 +23,32 @@ MAKE_JOBS_SAFE= yes WANT_SDL= yes -OPTIONS= AMR_NB "AMR narrowband encoder" off \ - AMR_WB "AMR wideband encoder" off \ - FAAC "FAAC mp4/aac audio encoder" off \ - FAAD "FAAD mp4/aac audio decoder" on \ - GSM "gsm audio codec" off \ +OPTIONS= AMR_NB "AMR Narrow Band encoder" off \ + AMR_WB "AMR Wide Band encoder" off \ + DIRAC "Dirac codec via libschroedinger" off \ + FAAC "FAAC audio encoder" off \ + FAAD "FAAD audio decoder" off \ + GSM "GSM audio codec" off \ IPV6 "IPV6 network support" on \ - LAME "lame MP3 codec" off \ - LIBA52 "liba52 support" on \ + LAME "LAME MP3 encoder" off \ + OPENJPEG "JPEG 2000 decoder" off \ OPTIMIZED_CFLAGS "Additional optimizations" off \ SDL "SDL support (build ffplay)" off \ - THEORA "libtheora support (implies OGG)" on \ - VORBIS "libvorbisenc support (implies OGG)" on \ - X264 "X.264 codec" on \ - XVID "XVID codec" off + SPEEX "Speex audio decoder" off \ + THEORA "Theora encoder (implies OGG)" off \ + VORBIS "Vorbis encoder via libvorbis (implies OGG)" off \ + X264 "H.264 encoder" off \ + XVID "Xvid encoder via xvidcore" off -COMPAT_HEADERS= libavcodec/avcodec.h \ +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 \ - libavformat/rtsp.h \ - libavformat/rtspcodes.h \ - libavutil/adler32.h \ + libavutil/adler32.h \ libavutil/avstring.h \ libavutil/avutil.h \ libavutil/base64.h \ @@ -57,128 +61,151 @@ libavutil/mathematics.h \ libavutil/md5.h \ libavutil/mem.h \ - libavutil/random.h \ + libavutil/pixfmt.h \ libavutil/rational.h \ libavutil/sha1.h \ libpostproc/postprocess.h \ - libswscale/rgb2rgb.h \ libswscale/swscale.h .include -CONFIGURE_ARGS+=--cc="${CC}" --prefix="${PREFIX}" \ - --disable-debug \ - --enable-memalign-hack \ +CONFIGURE_ARGS+=--prefix="${PREFIX}" \ + --mandir="${PREFIX}/man" \ --enable-shared \ + --enable-gpl \ --enable-postproc \ + --enable-avfilter \ + --enable-avfilter-lavf \ + --enable-pthreads \ + --enable-x11grab \ + --enable-runtime-cpudetect \ + --enable-memalign-hack \ + --cc="${CC}" \ --extra-cflags="${FFMPEG_CFLAGS} -I${LOCALBASE}/include" \ --extra-ldflags="-L${LOCALBASE}/lib ${FFMPEG_LDFLAGS}" \ --extra-libs="${PTHREAD_LIBS}" \ - --enable-gpl \ - --enable-pthreads \ - --enable-swscale \ - --mandir=${PREFIX}/man -CONFIGURE_ENV+= LANG=C -MAKE_ENV+= INSTALL="${INSTALL}" + --disable-debug SHLIB_VER= 1 PLIST_SUB= SHLIB_VER=${SHLIB_VER} USE_LDCONFIG= yes -## -DOC_FILES= Changelog README -# under subdir doc -DOC_DOCFILES= TODO faq.html ffmpeg-doc.html \ - ffplay-doc.html ffserver-doc.html \ - hooks.html optimization.txt +DOC_FILES= Changelog COPYING.GPL COPYING.LGPL \ + CREDITS INSTALL LICENSE MAINTAINERS README +# under doc subdirectory +DOC_DOCFILES= APIchanges avutil.txt faq.html ffmpeg-doc.html \ + ffmpeg_powerpc_performance_evaluation_howto.txt \ + ffplay-doc.html ffserver-doc.html general.html \ + issue_tracker.txt optimization.txt \ + rate_distortion.txt snow.txt soc.txt \ + swscale.txt TODO viterbi.txt PORTDOCS= * -## sse hardware vector support +USE_RC_SUBR= ffserver + +# sse hardware vector support .if (defined(MACHINE_CPU) && ${MACHINE_CPU:Msse} == "sse") WITH_BUILTIN_VECTOR= yes -.endif - -## -## support activation -## -## PORTDOCS -.ifndef(NOPORTDOCS) -BUILD_DEPENDS+= texi2html:${PORTSDIR}/textproc/texi2html -MAN1+= ffmpeg.1 ffserver.1 -.endif - -.ifdef(WITH_OPTIMIZED_CFLAGS) -CFLAGS:= ${CFLAGS:N-O*} -O3 -ffast-math -fno-finite-math-only -fomit-frame-pointer .else -CFLAGS:= ${CFLAGS:N-O0} -O2 -DEBUG_FLAGS+= -O2 +CONFIGURE_ARGS+= --disable-sse .endif -## a52 -.if !defined(WITHOUT_LIBA52) && !defined(WITHOUT_A52) -LIB_DEPENDS+= a52.0:${PORTSDIR}/audio/liba52 +# mmx support +.if ${MACHINE_CPU:Mmmx} == "" +CONFIGURE_ARGS+= --disable-mmx +WITHOUT_BUILTIN_VECTOR= yes +.endif -CONFIGURE_ARGS+= --enable-liba52 \ - --enable-liba52bin -FFMPEG_LDFLAGS+= -la52 -.else -CONFIGURE_ARGS+= --disable-liba52 +# builtin vector, requires mmx +.if !defined(WITHOUT_BUILTIN_VECTOR) && defined(WITH_BUILTIN_VECTOR) +FFMPEG_CFLAGS+= -msse .endif -.ifdef(WITH_FAAC) -LIB_DEPENDS+= faac.0:${PORTSDIR}/audio/faac -CONFIGURE_ARGS+= --enable-libfaac -.else -CONFIGURE_ARGS+= --disable-libfaac +# PORTDOCS +.ifndef(NOPORTDOCS) +BUILD_DEPENDS+= texi2html:${PORTSDIR}/textproc/texi2html +MAN1+= ffmpeg.1 ffserver.1 .endif -## faad -.ifndef(WITHOUT_FAAD) -LIB_DEPENDS+= faad.2:${PORTSDIR}/audio/faad -CONFIGURE_ARGS+= --enable-libfaad \ - --enable-libfaadbin +# optimizations +.ifdef(WITH_OPTIMIZED_CFLAGS) +CFLAGS:= ${CFLAGS:N-O*} -O3 -ffast-math -fno-finite-math-only -fomit-frame-pointer .else -CONFIGURE_ARGS+= --disable-libfaad +CFLAGS:= ${CFLAGS:N-O0} -O2 +DEBUG_FLAGS+= -O2 .endif -## amr +# amr .ifdef(WITH_AMR_NB) -LIB_DEPENDS+= amrnb.3:${PORTSDIR}/audio/libamrnb +LIB_DEPENDS+= amrnb.3:${PORTSDIR}/audio/libamrnb CONFIGURE_ARGS+= --enable-libamr-nb --enable-nonfree .else CONFIGURE_ARGS+= --disable-libamr-nb .endif .ifdef(WITH_AMR_WB) -LIB_DEPENDS+= amrwb.3:${PORTSDIR}/audio/libamrwb +LIB_DEPENDS+= amrwb.3:${PORTSDIR}/audio/libamrwb CONFIGURE_ARGS+= --enable-libamr-wb --enable-nonfree .else CONFIGURE_ARGS+= --disable-libamr-wb .endif -USE_RC_SUBR= ffserver +# dirac +.ifdef(WITH_DIRAC) +LIB_DEPENDS+= schroedinger-1.0.2:${PORTSDIR}/multimedia/schroedinger +CONFIGURE_ARGS+= --enable-libschroedinger +.else +CONFIGURE_ARGS+= --disable-libschroedinger +.endif -.if ${MACHINE_CPU:Mmmx}=="" -CONFIGURE_ARGS+= --disable-mmx +# faac +.ifdef(WITH_FAAC) +LIB_DEPENDS+= faac.0:${PORTSDIR}/audio/faac +CONFIGURE_ARGS+= --enable-libfaac +.else +CONFIGURE_ARGS+= --disable-libfaac +.endif -WITHOUT_BUILTIN_VECTOR= yes +# faad +.ifdef(WITH_FAAD) +LIB_DEPENDS+= faad.2:${PORTSDIR}/audio/faad +CONFIGURE_ARGS+= --enable-libfaad \ + --enable-libfaadbin +.else +CONFIGURE_ARGS+= --disable-libfaad .endif -## gsm -.ifdef(WITH_GSM) -LIB_DEPENDS+= gsm.1:${PORTSDIR}/audio/gsm +# gsm +.ifdef(WITH_GSM) +LIB_DEPENDS+= gsm.1:${PORTSDIR}/audio/gsm CONFIGURE_ARGS+= --enable-libgsm .else CONFIGURE_ARGS+= --disable-libgsm .endif -## mp3 + +# ipv6 +.ifndef(WITHOUT_IPV6) +CONFIGURE_ARGS+= --enable-ipv6 +.else +CONFIGURE_ARGS+= --disable-ipv6 +.endif + +# mp3 .ifdef(WITH_LAME) -LIB_DEPENDS+= mp3lame.0:${PORTSDIR}/audio/lame +LIB_DEPENDS+= mp3lame.0:${PORTSDIR}/audio/lame CONFIGURE_ARGS+= --enable-libmp3lame .else CONFIGURE_ARGS+= --disable-libmp3lame .endif -## SDL +# openjpeg +.ifdef(WITH_OPENJPEG) +LIB_DEPENDS+= openjpeg.2:${PORTSDIR}/graphics/openjpeg +CONFIGURE_ARGS+= --enable-libopenjpeg +.else +CONFIGURE_ARGS+= --disable-libopenjpeg +.endif + +# sdl .ifdef(WITH_SDL) USE_SDL+= sdl PLIST_FILES+= bin/ffplay @@ -189,19 +216,25 @@ CONFIGURE_ARGS+= --disable-ffplay .endif -## theora -.if !defined(WITHOUT_THEORA) -LIB_DEPENDS+= theora.0:${PORTSDIR}/multimedia/libtheora +# speex +.ifdef(WITH_SPEEX) +LIB_DEPENDS+= speex.1:${PORTSDIR}/audio/speex +CONFIGURE_ARGS+= --enable-libspeex +.else +CONFIGURE_ARGS+= --disable-libspeex +.endif +# theora +.ifdef(WITH_THEORA) +LIB_DEPENDS+= theora.0:${PORTSDIR}/multimedia/libtheora CONFIGURE_ARGS+= --enable-libtheora .else CONFIGURE_ARGS+= --disable-libtheora .endif -## vorbis -.if !defined(WITHOUT_VORBIS) -LIB_DEPENDS+= vorbisenc.2:${PORTSDIR}/audio/libvorbis - +# vorbis +.ifdef(WITH_VORBIS) +LIB_DEPENDS+= vorbisenc.2:${PORTSDIR}/audio/libvorbis CONFIGURE_ARGS+= --enable-libvorbis FFMPEG_CFLAGS+= -I${LOCALBASE}/include/vorbis .else @@ -209,21 +242,16 @@ .endif # x264 -.ifndef(WITHOUT_X264) -LIB_DEPENDS+= x264.65:${PORTSDIR}/multimedia/x264 - +.ifdef(WITH_X264) +LIB_DEPENDS+= x264.65:${PORTSDIR}/multimedia/x264 CONFIGURE_ARGS+= --enable-libx264 .else CONFIGURE_ARGS+= --disable-libx264 .endif -## builtin vector, requires mmx -.if !defined(WITHOUT_BUILTIN_VECTOR) && defined(WITH_BUILTIN_VECTOR) -FFMPEG_CFLAGS+= -msse -.endif -## xvid +# xvid .ifdef(WITH_XVID) -LIB_DEPENDS+= xvidcore.4:${PORTSDIR}/multimedia/xvid +LIB_DEPENDS+= xvidcore.4:${PORTSDIR}/multimedia/xvid CONFIGURE_ARGS+= --enable-libxvid .else CONFIGURE_ARGS+= --disable-libxvid @@ -238,42 +266,20 @@ .endif post-patch: -# Faad compat +# faad compat @${REINPLACE_CMD} -e 's|faacD|NeAACD|' ${WRKSRC}/libavcodec/libfaad.c # {C,LD}FLAGS safeness -# fix x264 math, use correct log base 2 from math(3) -.if ${OSVERSION} <= 601000 - @${REINPLACE_CMD} -E \ - -e 's| log2| log|' \ - ${WRKSRC}/libavcodec/libx264.c -.endif - @${REINPLACE_CMD} -e 's|$$(libdir)/pkgconfig|${PREFIX}/libdata/pkgconfig|' \ - ${WRKSRC}/common.mak + @${REINPLACE_CMD} -e 's|$$(LIBDIR)/pkgconfig|${PREFIX}/libdata/pkgconfig|' \ + ${WRKSRC}/subdir.mak @${REINPLACE_CMD} -e 's|/etc/ffserver.conf|${PREFIX}/etc/ffserver.conf|' \ ${WRKSRC}/ffserver.c @${REINPLACE_CMD} -E \ -e "s|(EXTRALIBS[[:space:]]*=)|\1-L${LOCALBASE}/lib |g; \ - s|%%LOCALBASE%%|${LOCALBASE}|g; s|%%SHLIB_VER%%|${SHLIB_VER}|g; \ + s|%%LOCALBASE%%|${LOCALBASE}|g; \ s|-pthread|${PTHREAD_LIBS}|g" \ ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT} -# force detection of texi2html -.ifndef(NOPORTDOCS) - @${REINPLACE_CMD} -E \ - -e 's|^(texi2html=)no|\1yes|' \ - ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT} -.endif - @${REINPLACE_CMD} -e 's|-ldl||' \ - ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT} -.if defined(WITH_IMLIB2) && !defined(WITHOUT_IMLIB2) - @${REINPLACE_CMD} -E \ - -e 's|^(imlib2).*$$|\1=yes|' \ - ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT} -.endif -.if !defined(WITHOUT_IPV6) - @${REINPLACE_CMD} -E \ - -e 's|^(ipv6).*$$|\1=yes|' \ + @${REINPLACE_CMD} -e 's|-ldl||; s|$$(LIBMAJOR)|${SHLIB_VER}|g;' \ ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT} -.endif .ifdef(WITH_SDL) @${REINPLACE_CMD} -E \ -e 's|sdl-config|${SDL_CONFIG}|g' \ @@ -282,17 +288,6 @@ ${XARGS} -n 10 ${REINPLACE_CMD} -E \ -e 's|#include > config.mak -- eval echo "${lcname}_VERSION_MAJOR=\$${name}_VERSION_MAJOR" >> config.mak -+ eval echo "${lcname}_VERSION_MAJOR=1" >> config.mak - } - - get_version LIBSWSCALE libswscale/swscale.h -@@ -2096,7 +2103,7 @@ if enabled shared; then - echo "SLIB_UNINSTALL_EXTRA_CMD=${SLIB_UNINSTALL_EXTRA_CMD}" >> config.mak - fi - echo "LIB_INSTALL_EXTRA_CMD=${LIB_INSTALL_EXTRA_CMD}" >> config.mak --echo "EXTRALIBS=$extralibs" >> config.mak -+echo "EXTRALIBS=-L/usr/local/lib -L/usr/local/lib -L/usr/local/lib $extralibs" >> config.mak - - print_config ARCH_ $TMPH config.mak $ARCH_LIST - print_config HAVE_ $TMPH config.mak $HAVE_LIST -@@ -2206,7 +2213,7 @@ Requires.private: $(enabled shared && ec - Conflicts: - Libs: -L\${libdir} -l${shortname} $(disabled shared && echo $libs) - Libs.private: $(enabled shared && echo $libs) --Cflags: -I\${includedir} -+Cflags: -I\${includedir} -I\${includedir}/ffmpeg - EOF - cat < $name/$name-uninstalled.pc - prefix= diff -ruN /home/albi/ffmpeg.orig/files/patch-libavcodec_Makefile ffmpeg/files/patch-libavcodec_Makefile --- /home/albi/ffmpeg.orig/files/patch-libavcodec_Makefile 2009-05-15 18:12:13.000000000 +0200 +++ ffmpeg/files/patch-libavcodec_Makefile 1970-01-01 01:00:00.000000000 +0100 @@ -1,12 +0,0 @@ ---- libavcodec/Makefile.orig 2008-08-14 14:31:06.000000000 -0400 -+++ libavcodec/Makefile 2008-08-14 14:31:16.000000000 -0400 -@@ -373,9 +373,7 @@ OBJS-$(HAVE_W32THREADS) + - - OBJS-$(HAVE_XVMC) += xvmcvideo.o - --ifndef CONFIG_SWSCALE - OBJS += imgresample.o --endif - - # processor-specific code - ifdef HAVE_MMX diff -ruN /home/albi/ffmpeg.orig/files/patch-libavcodec_imgconvert.c ffmpeg/files/patch-libavcodec_imgconvert.c --- /home/albi/ffmpeg.orig/files/patch-libavcodec_imgconvert.c 2009-05-15 18:12:13.000000000 +0200 +++ ffmpeg/files/patch-libavcodec_imgconvert.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,18 +0,0 @@ ---- libavcodec/imgconvert.c.orig 2008-08-14 14:31:37.000000000 -0400 -+++ libavcodec/imgconvert.c 2008-08-14 14:31:54.000000000 -0400 -@@ -2108,7 +2108,6 @@ int img_pad(AVPicture *dst, const AVPict - } - #endif - --#ifndef CONFIG_SWSCALE - static uint8_t y_ccir_to_jpeg[256]; - static uint8_t y_jpeg_to_ccir[256]; - static uint8_t c_ccir_to_jpeg[256]; -@@ -2628,7 +2627,6 @@ int img_convert(AVPicture *dst, int dst_ - avpicture_free(tmp); - return ret; - } --#endif - - /* NOTE: we scan all the pixels to have an exact information */ - static int get_alpha_info_pal8(const AVPicture *src, int width, int height) diff -ruN /home/albi/ffmpeg.orig/files/patch-libavcodec_libx264.c ffmpeg/files/patch-libavcodec_libx264.c --- /home/albi/ffmpeg.orig/files/patch-libavcodec_libx264.c 2009-05-15 18:12:14.000000000 +0200 +++ ffmpeg/files/patch-libavcodec_libx264.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,37 +0,0 @@ ---- ./libavcodec/libx264.c.orig 2008-06-12 23:50:13.000000000 +0200 -+++ ./libavcodec/libx264.c 2008-10-13 15:47:05.000000000 +0200 -@@ -124,6 +124,8 @@ - { - X264Context *x4 = avctx->priv_data; - -+ av_freep(&avctx->extradata); -+ - if(x4->enc) - x264_encoder_close(x4->enc); - -@@ -162,7 +164,7 @@ - - x4->params.i_bframe = avctx->max_b_frames; - x4->params.b_cabac = avctx->coder_type == FF_CODER_TYPE_AC; -- x4->params.b_bframe_adaptive = avctx->b_frame_strategy; -+ x4->params.i_bframe_adaptive = avctx->b_frame_strategy; - x4->params.i_bframe_bias = avctx->bframebias; - x4->params.b_bframe_pyramid = avctx->flags2 & CODEC_FLAG2_BPYRAMID; - avctx->has_b_frames= avctx->flags2 & CODEC_FLAG2_BPYRAMID ? 2 : !!avctx->max_b_frames; -@@ -227,8 +229,6 @@ - x4->params.analyse.i_me_range = avctx->me_range; - x4->params.analyse.i_subpel_refine = avctx->me_subpel_quality; - -- x4->params.analyse.b_bidir_me = avctx->bidir_refine > 0; -- x4->params.analyse.b_bframe_rdo = avctx->flags2 & CODEC_FLAG2_BRDO; - x4->params.analyse.b_mixed_references = - avctx->flags2 & CODEC_FLAG2_MIXED_REFS; - x4->params.analyse.b_chroma_me = avctx->me_cmp & FF_CMP_CHROMA; -@@ -253,7 +253,6 @@ - x4->params.rc.f_ip_factor = 1/fabs(avctx->i_quant_factor); - x4->params.rc.f_pb_factor = avctx->b_quant_factor; - x4->params.analyse.i_chroma_qp_offset = avctx->chromaoffset; -- x4->params.rc.psz_rc_eq = avctx->rc_eq; - - x4->params.analyse.b_psnr = avctx->flags & CODEC_FLAG_PSNR; - x4->params.i_log_level = X264_LOG_DEBUG; diff -ruN /home/albi/ffmpeg.orig/files/patch-libavdevice-bktr.c ffmpeg/files/patch-libavdevice-bktr.c --- /home/albi/ffmpeg.orig/files/patch-libavdevice-bktr.c 1970-01-01 01:00:00.000000000 +0100 +++ ffmpeg/files/patch-libavdevice-bktr.c 2009-05-16 03:05:21.000000000 +0200 @@ -0,0 +1,14 @@ +--- libavdevice/bktr.c.orig 2009-05-15 17:34:55.000000000 +0200 ++++ libavdevice/bktr.c 2009-05-15 17:38:01.000000000 +0200 +@@ -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; ++ + #define _BSD_SOURCE 1 + #include "libavformat/avformat.h" + #if HAVE_DEV_BKTR_IOCTL_METEOR_H && HAVE_DEV_BKTR_IOCTL_BT848_H diff -ruN /home/albi/ffmpeg.orig/files/patch-libavdevice-oss_audio.c ffmpeg/files/patch-libavdevice-oss_audio.c --- /home/albi/ffmpeg.orig/files/patch-libavdevice-oss_audio.c 1970-01-01 01:00:00.000000000 +0100 +++ ffmpeg/files/patch-libavdevice-oss_audio.c 2009-05-16 03:05:21.000000000 +0200 @@ -0,0 +1,14 @@ +--- libavdevice/oss_audio.c.orig 2009-05-15 17:38:35.000000000 +0200 ++++ libavdevice/oss_audio.c 2009-05-15 17:41:27.000000000 +0200 +@@ -19,6 +19,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; ++ + #include "config.h" + #include + #include diff -ruN /home/albi/ffmpeg.orig/files/patch-libavformat-udp.c ffmpeg/files/patch-libavformat-udp.c --- /home/albi/ffmpeg.orig/files/patch-libavformat-udp.c 1970-01-01 01:00:00.000000000 +0100 +++ ffmpeg/files/patch-libavformat-udp.c 2009-05-16 03:05:21.000000000 +0200 @@ -0,0 +1,11 @@ +--- libavformat/udp.c.orig 2009-05-15 17:24:45.000000000 +0200 ++++ libavformat/udp.c 2009-05-15 17:27:17.000000000 +0200 +@@ -45,6 +45,8 @@ + #define IN6_IS_ADDR_MULTICAST(a) (((uint8_t *) (a))[0] == 0xff) + #endif + ++#define IPPROTO_IPV6 41 ++ + typedef struct { + int udp_fd; + int ttl; diff -ruN /home/albi/ffmpeg.orig/files/patch-libavutil__bswap.h ffmpeg/files/patch-libavutil__bswap.h --- /home/albi/ffmpeg.orig/files/patch-libavutil__bswap.h 2009-05-15 18:12:13.000000000 +0200 +++ ffmpeg/files/patch-libavutil__bswap.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,21 +0,0 @@ ---- libavutil/bswap.h.orig Mon Nov 28 22:16:18 2005 -+++ libavutil/bswap.h Mon Nov 28 22:21:22 2005 -@@ -6,8 +6,18 @@ - #ifndef __BSWAP_H__ - #define __BSWAP_H__ - -+/* to detect __FreeBSD_version */ -+#if (defined(__unix__) || defined(unix)) && !defined(USG) -+#include -+#endif -+ - #ifdef HAVE_BYTESWAP_H - #include -+#elif (defined(__FreeBSD__) && __FreeBSD_version >= 500000) -+# include -+# define bswap_16(x) bswap16(x) -+# define bswap_32(x) bswap32(x) -+# define bswap_64(x) bswap64(x) - #else - - #ifdef ARCH_X86_64 diff -ruN /home/albi/ffmpeg.orig/files/patch-subdir.mak ffmpeg/files/patch-subdir.mak --- /home/albi/ffmpeg.orig/files/patch-subdir.mak 2009-05-15 18:12:13.000000000 +0200 +++ ffmpeg/files/patch-subdir.mak 1970-01-01 01:00:00.000000000 +0100 @@ -1,14 +0,0 @@ ---- subdir.mak.orig 2008-07-27 15:57:37.873013462 -0500 -+++ subdir.mak 2008-07-27 15:58:54.041106334 -0500 -@@ -54,9 +54,9 @@ - - install-headers:: - install -d "$(INCINSTDIR)" -- install -d "$(LIBDIR)/pkgconfig" -+ install -d "$(prefix)/libdata/pkgconfig" - install -m 644 $(addprefix "$(SRC_DIR)"/,$(HEADERS)) "$(INCINSTDIR)" -- install -m 644 $(BUILD_ROOT)/lib$(NAME)/lib$(NAME).pc "$(LIBDIR)/pkgconfig" -+ install -m 644 $(BUILD_ROOT)/lib$(NAME)/lib$(NAME).pc "$(prefix)/libdata/pkgconfig" - - uninstall-libs:: - -rm -f "$(SHLIBDIR)/$(SLIBNAME_WITH_MAJOR)" \ diff -ruN /home/albi/ffmpeg.orig/files/patch-tkadv2009-004 ffmpeg/files/patch-tkadv2009-004 --- /home/albi/ffmpeg.orig/files/patch-tkadv2009-004 2009-05-15 18:12:13.000000000 +0200 +++ ffmpeg/files/patch-tkadv2009-004 1970-01-01 01:00:00.000000000 +0100 @@ -1,17 +0,0 @@ ---- libavformat/4xm.c.orig 2008-06-03 20:20:54.000000000 +0400 -+++ libavformat/4xm.c 2009-03-08 23:38:44.000000000 +0300 -@@ -163,10 +163,12 @@ - return AVERROR_INVALIDDATA; - } - current_track = AV_RL32(&header[i + 8]); -+ if((unsigned)current_track >= UINT_MAX / sizeof(AudioTrack) - 1){ -+ av_log(s, AV_LOG_ERROR, "current_track too large\n"); -+ return -1; -+ } - if (current_track + 1 > fourxm->track_count) { - fourxm->track_count = current_track + 1; -- if((unsigned)fourxm->track_count >= UINT_MAX / sizeof(AudioTrack)) -- return -1; - fourxm->tracks = av_realloc(fourxm->tracks, - fourxm->track_count * sizeof(AudioTrack)); - if (!fourxm->tracks) { diff -ruN /home/albi/ffmpeg.orig/pkg-descr ffmpeg/pkg-descr --- /home/albi/ffmpeg.orig/pkg-descr 2009-05-15 18:12:18.000000000 +0200 +++ ffmpeg/pkg-descr 2009-05-16 03:05:21.000000000 +0200 @@ -1,24 +1,24 @@ [ excerpt (with adaptations) from developer's README ] -ffmpeg is a hyper fast realtime audio/video encoder, a streaming +FFmpeg is a hyper fast realtime audio/video encoder, a streaming server and a generic audio and video file converter. 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. -What makes ffmpeg interesting ? -- Simple and efficient video encoder: outputs MPEG1, H263, Real +What makes FFmpeg interesting ? +- Simple and efficient video encoder: outputs MPEG1, H.263, 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 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://www.ffmpeg.org diff -ruN /home/albi/ffmpeg.orig/pkg-plist ffmpeg/pkg-plist --- /home/albi/ffmpeg.orig/pkg-plist 2009-05-15 18:12:18.000000000 +0200 +++ ffmpeg/pkg-plist 2009-05-16 03:05:21.000000000 +0200 @@ -5,6 +5,7 @@ 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 @@ -20,21 +21,21 @@ include/ffmpeg/md5.h include/ffmpeg/mem.h include/ffmpeg/opt.h +include/ffmpeg/pixfmt.h include/ffmpeg/postprocess.h -include/ffmpeg/random.h include/ffmpeg/rational.h -include/ffmpeg/rgb2rgb.h -include/ffmpeg/rtsp.h -include/ffmpeg/rtspcodes.h include/ffmpeg/sha1.h include/ffmpeg/swscale.h +include/ffmpeg/vdpau.h +include/ffmpeg/xvmc.h include/libavcodec/avcodec.h include/libavcodec/opt.h +include/libavcodec/vdpau.h +include/libavcodec/xvmc.h include/libavdevice/avdevice.h +include/libavfilter/avfilter.h include/libavformat/avformat.h include/libavformat/avio.h -include/libavformat/rtsp.h -include/libavformat/rtspcodes.h include/libavutil/adler32.h include/libavutil/avstring.h include/libavutil/avutil.h @@ -48,53 +49,70 @@ include/libavutil/mathematics.h include/libavutil/md5.h include/libavutil/mem.h -include/libavutil/random.h +include/libavutil/pixfmt.h include/libavutil/rational.h include/libavutil/sha1.h include/libpostproc/postprocess.h include/postproc/postprocess.h -include/libswscale/rgb2rgb.h include/libswscale/swscale.h lib/libavcodec.a lib/libavcodec.so lib/libavcodec.so.1 -lib/libavcodec.so.51.61.0 +lib/libavcodec.so.52.29.0 lib/libavdevice.a lib/libavdevice.so lib/libavdevice.so.1 -lib/libavdevice.so.52.0.0 +lib/libavdevice.so.52.2.0 +lib/libavfilter.a +lib/libavfilter.so +lib/libavfilter.so.0.5.0 +lib/libavfilter.so.1 lib/libavformat.a lib/libavformat.so lib/libavformat.so.1 -lib/libavformat.so.52.18.0 +lib/libavformat.so.52.32.0 lib/libavutil.a lib/libavutil.so lib/libavutil.so.1 -lib/libavutil.so.49.7.0 +lib/libavutil.so.50.3.0 lib/libpostproc.a lib/libpostproc.so lib/libpostproc.so.1 -lib/libpostproc.so.51.1.0 +lib/libpostproc.so.51.2.0 lib/libswscale.a lib/libswscale.so -lib/libswscale.so.0.5.1 +lib/libswscale.so.0.7.1 lib/libswscale.so.1 -lib/vhook/fish.so -lib/vhook/null.so -lib/vhook/ppm.so -lib/vhook/watermark.so libdata/pkgconfig/libavcodec.pc libdata/pkgconfig/libavdevice.pc +libdata/pkgconfig/libavfilter.pc libdata/pkgconfig/libavformat.pc libdata/pkgconfig/libavutil.pc libdata/pkgconfig/libpostproc.pc libdata/pkgconfig/libswscale.pc -@dirrm lib/vhook +%%DATADIR%%/libx264-baseline.ffpreset +%%DATADIR%%/libx264-default.ffpreset +%%DATADIR%%/libx264-fastfirstpass.ffpreset +%%DATADIR%%/libx264-hq.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 +%%DATADIR%%/libx264-main.ffpreset +%%DATADIR%%/libx264-max.ffpreset +%%DATADIR%%/libx264-normal.ffpreset +%%DATADIR%%/libx264-slowfirstpass.ffpreset +@dirrm %%DATADIR%% @dirrm include/postproc @dirrm include/libswscale @dirrm include/libpostproc @dirrm include/libavutil @dirrm include/libavformat +@dirrm include/libavfilter @dirrm include/libavdevice @dirrm include/libavcodec @dirrm include/ffmpeg --Boundary-00=_GDBEKd31vQVG4qD--