aboutsummaryrefslogtreecommitdiffstats
path: root/multimedia/handbrake
diff options
context:
space:
mode:
authormezz <mezz@FreeBSD.org>2007-12-14 00:50:15 +0800
committermezz <mezz@FreeBSD.org>2007-12-14 00:50:15 +0800
commit4e5d8d36e6ae42f2e9ba849aafa6163fd8d9d449 (patch)
tree4b42476530bc659e71dde7474a1e4062174fe54a /multimedia/handbrake
parent91560d6891f25968ed4788215c6d3a52c80244bd (diff)
downloadfreebsd-ports-gnome-4e5d8d36e6ae42f2e9ba849aafa6163fd8d9d449.tar.gz
freebsd-ports-gnome-4e5d8d36e6ae42f2e9ba849aafa6163fd8d9d449.tar.zst
freebsd-ports-gnome-4e5d8d36e6ae42f2e9ba849aafa6163fd8d9d449.zip
- Update to 0.9.1, remove BROKEN and add NO_CDROM. The handbrake builds as in
static with libdvdcss in its binary, so forced to have NO_CDROM[1]. - Pass the maintainership to the submitter. [1] NO_CDROM=CSS code may violate the DMCA PR: ports/118458 Submitted by: Jona Joachim <jaj@hcl-club.lu>
Diffstat (limited to 'multimedia/handbrake')
-rw-r--r--multimedia/handbrake/Makefile136
-rw-r--r--multimedia/handbrake/distinfo51
-rw-r--r--multimedia/handbrake/files/patch-Jamfile43
-rw-r--r--multimedia/handbrake/files/patch-Jamrules12
-rw-r--r--multimedia/handbrake/files/patch-configure14
-rw-r--r--multimedia/handbrake/files/patch-contrib-Jamfile285
-rw-r--r--multimedia/handbrake/files/patch-contrib-a52dec-libao-audio_out_oss.c11
-rw-r--r--multimedia/handbrake/files/patch-contrib-libsamplerate-configure20
-rw-r--r--multimedia/handbrake/files/patch-contrib-x264-Makefile20
-rw-r--r--multimedia/handbrake/files/patch-contrib-x264-configure11
-rw-r--r--multimedia/handbrake/files/patch-libhb-fifo.c13
-rw-r--r--multimedia/handbrake/files/patch-libhb-ports.c46
-rw-r--r--multimedia/handbrake/files/patch-libhb_Jamfile9
-rw-r--r--multimedia/handbrake/files/patch-libhb_encx264.c11
-rw-r--r--multimedia/handbrake/pkg-descr42
15 files changed, 579 insertions, 145 deletions
diff --git a/multimedia/handbrake/Makefile b/multimedia/handbrake/Makefile
index 88ee09123c60..d757028d3f88 100644
--- a/multimedia/handbrake/Makefile
+++ b/multimedia/handbrake/Makefile
@@ -6,63 +6,119 @@
#
PORTNAME= handbrake
-PORTVERSION= 0.7.1
-PORTREVISION= 5
+PORTVERSION= 0.9.1
CATEGORIES= multimedia
-MASTER_SITES= http://download.m0k.org/${PORTNAME}/ \
- http://www.mirrors.ausmac.net/ftp/AudioVisual-SW/HandBrake/ \
- http://apple.doit.wisc.edu/mirrors/ausmac/Audio-SW/HandBrake/
-DISTNAME= HandBrake-${PORTVERSION}
+MASTER_SITES= http://saintdevelopment.com/mirror/handbrake/:main \
+ http://junk.phantomgorilla.com/hb/:main \
+ http://daigertech.com/handbrake/:main \
+ http://www.mirrors.ausmac.net/ftp/Audio-SW/HandBrake/testing/:main \
+ http://asshatandi.com/:main \
+ http://download.m0k.org/handbrake/testing/:main \
+ http://download.m0k.org/handbrake/contrib/:contrib
+DISTFILES= HandBrake-${PORTVERSION}.tar.gz:main \
+ faac-1.24.tar.gz:contrib \
+ lame-3.96.1.tar.gz:contrib \
+ libdca-r81-strapped.tar.gz:contrib \
+ libdvdcss-1.2.9.tar.gz:contrib \
+ libdvdread-0.9.7.tar.gz:contrib \
+ libmkv-0.6.1.2.tar.gz:contrib \
+ libogg-1.1.2.tar.gz:contrib \
+ libvorbis-aotuv_b5.tar.gz:contrib \
+ mpeg2dec-0.4.1.tar.gz:contrib \
+ mpeg4ip-1.3.tar.gz:contrib \
+ xvidcore-1.1.2.tar.gz:contrib \
+ ffmpeg-9816.tar.gz:contrib \
+ x264-r665.tar.gz:contrib \
+ a52dec-0.7.4.tar.gz:contrib \
+ libsamplerate-0.1.2.tar.gz:contrib
+DIST_SUBDIR= handbrake
-MAINTAINER= multimedia@FreeBSD.org
+MAINTAINER= jaj@hcl-club.lu
COMMENT= A DVD to MPEG-4 ripper and encoder
-BUILD_DEPENDS= jam:${PORTSDIR}/devel/jam
-LIB_DEPENDS= a52.0:${PORTSDIR}/audio/liba52 \
- dvdcss.2:${PORTSDIR}/multimedia/libdvdcss \
- dvdread.5:${PORTSDIR}/multimedia/libdvdread \
- faac.0:${PORTSDIR}/audio/faac \
- mp3lame.0:${PORTSDIR}/audio/lame \
- mp4v2.0:${PORTSDIR}/multimedia/mpeg4ip-libmp4v2 \
- mpeg2.0:${PORTSDIR}/multimedia/libmpeg2 \
- ogg.5:${PORTSDIR}/audio/libogg \
- samplerate.1:${PORTSDIR}/audio/libsamplerate \
- vorbis.4:${PORTSDIR}/audio/libvorbis \
- xvidcore.4:${PORTSDIR}/multimedia/xvid \
- x264.50:${PORTSDIR}/multimedia/x264 \
- avcodec.1:${PORTSDIR}/multimedia/ffmpeg
+BUILD_DEPENDS= jam:${PORTSDIR}/devel/jam \
+ pkg-config:${PORTSDIR}/devel/pkg-config
+LIB_DEPENDS= freetype.9:${PORTSDIR}/print/freetype2
-BROKEN= Does not compile
+NO_CDROM= CSS code may violate the DMCA
-WRKSRC= ${WRKDIR}/HandBrake-${PORTVERSION}
+USE_GMAKE= yes
HAS_CONFIGURE= yes
+USE_AUTOTOOLS= libtool:15
+LIBTOOLFILES= ${WRKSRC}/contrib/a52dec/configure \
+ ${WRKSRC}/contrib/libdvdcss/configure \
+ ${WRKSRC}/contrib/libdvdread/configure \
+ ${WRKSRC}/contrib/faac/configure \
+ ${WRKSRC}/contrib/lame/configure \
+ ${WRKSRC}/contrib/mpeg4ip/configure \
+ ${WRKSRC}/contrib/mpeg2dec/configure \
+ ${WRKSRC}/contrib/libogg/configure \
+ ${WRKSRC}/contrib/libsamplerate/configure \
+ ${WRKSRC}/contrib/libvorbis/configure
+
+WRKSRC= ${WRKDIR}/HandBrake
PLIST_FILES= bin/handbrake
JAM?= ${LOCALBASE}/bin/jam
-SYSCTL_CMD?= /sbin/sysctl
-WITH_DVD_DEVICE?= acd0
+APPLY?= /usr/bin/apply
+
+.include <bsd.port.pre.mk>
+
+# nasm/yasm needed by x264
+.if ${ARCH}=="i386"
+BUILD_DEPENDS+= nasm:${PORTSDIR}/devel/nasm
+.else
+BUILD_DEPENDS+= yasm>=0.6.0:${PORTSDIR}/devel/yasm
+.endif
+
+CONFIGURE_ENV+= PKG_CONFIG_PATH=${WRKSRC}/contrib/lib/pkgconfig
+MAKE_ENV+= ARCH=${ARCH} MAKE=${GMAKE}
-EXTRACT_AFTER_ARGS= | ${TAR} -xf - --exclude beos \
- --exclude contrib \
- --exclude gtk2 \
- --exclude macosx \
- --exclude wx
+post-extract:
+ @${APPLY} "${MV} %1 ${WRKSRC}/contrib/" \
+ ${WRKDIR}/a52dec \
+ ${WRKDIR}/faac \
+ ${WRKDIR}/ffmpeg \
+ ${WRKDIR}/lame \
+ ${WRKDIR}/libdca \
+ ${WRKDIR}/libdvdcss \
+ ${WRKDIR}/libdvdread \
+ ${WRKDIR}/libmkv \
+ ${WRKDIR}/libogg \
+ ${WRKDIR}/libsamplerate \
+ ${WRKDIR}/libvorbis \
+ ${WRKDIR}/mpeg2dec \
+ ${WRKDIR}/mpeg4ip \
+ ${WRKDIR}/x264 \
+ ${WRKDIR}/xvidcore
post-patch:
- @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g ; \
- s|%%PTHREAD_LIBS%%|${PTHREAD_LIBS}|g ; s|HBTest|${PORTNAME}|g' \
- ${WRKSRC}/configure ${WRKSRC}/Jamfile \
- ${WRKSRC}/libhb/Jamfile ${WRKSRC}/test/test.c
- @${REINPLACE_CMD} -e 's|/usr/sbin/sysctl|${SYSCTL_CMD}|g' \
- ${WRKSRC}/libhb/ports.c
- @${REINPLACE_CMD} -e 's|malloc.h|stdlib.h|g' \
- ${WRKSRC}/libhb/fifo.c
+ @${REINPLACE_CMD} -e 's|-pthread|${PTHREAD_LIBS}|g' \
+ ${WRKSRC}/configure
+ @${REINPLACE_CMD} -e 's|%%CC%%|${CC}|g ; \
+ s|%%PTHREAD_LIBS%%|${PTHREAD_LIBS}|g ; \
+ s|%%CONTRIB%%|${WRKSRC}/contrib|g ; \
+ s|./bootstrap|${SETENV} CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" ${CONFIGURE_ENV} ./bootstrap|g ; \
+ s|./configure|${SETENV} CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" ${CONFIGURE_ENV} ./configure|g' \
+ ${WRKSRC}/contrib/Jamfile
+ @${REINPLACE_CMD} -e 's|-O3||g ; s|-O20||g ; s|-O4 -ffast-math||g ; \
+ s| -mtune=.*"|"|g ; s| -mcpu=.*"|"|g ; \
+ s|-fomit-frame-pointer||g ; s|-pthread|${PTHREAD_LIBS}|g ; \
+ s|-lpthread|${PTHREAD_LIBS}|g ; \
+ s|=`echo \".*$$CFLAGS\".*sed.*`|=`echo \"$$OPT_CFLAGS $$CFLAGS\"`|g' \
+ ${WRKSRC}/contrib/*/configure
+ @${REINPLACE_CMD} -e 's|>&/|>/|g' \
+ ${WRKSRC}/contrib/mpeg4ip/configure
+ @${REINPLACE_CMD} -e 's|\\$$(PREFIX)|${WRKSRC}/contrib|g ; \
+ s|$$(PREFIX)|${WRKSRC}/contrib|g ; \
+ s|$$PREFIX|${WRKSRC}/contrib|g' \
+ ${WRKSRC}/contrib/ffmpeg/configure
# jam -dx, it will giving a verbose of build.
do-build:
@(cd ${WRKSRC} ; ${SETENV} ${MAKE_ENV} ${JAM} -dx)
do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${PREFIX}/bin/
+ ${INSTALL_PROGRAM} ${WRKSRC}/HandBrakeCLI ${PREFIX}/bin/handbrake
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff --git a/multimedia/handbrake/distinfo b/multimedia/handbrake/distinfo
index 8af553ed1405..6b6f289fcfb6 100644
--- a/multimedia/handbrake/distinfo
+++ b/multimedia/handbrake/distinfo
@@ -1,3 +1,48 @@
-MD5 (HandBrake-0.7.1.tar.gz) = 0053ebfa950959286024333b4964907e
-SHA256 (HandBrake-0.7.1.tar.gz) = 6f42e31bc882cbefc8bda4584faa42f6382108b0574ef62ce5b94898d2846042
-SIZE (HandBrake-0.7.1.tar.gz) = 254694
+MD5 (handbrake/HandBrake-0.9.1.tar.gz) = 0eefe9189d59a0bfd9aeee41fd3d01a2
+SHA256 (handbrake/HandBrake-0.9.1.tar.gz) = ae29b03dfd9724d7856f8b44a5a52bc60ad0af2846efe7db302d90dccc57d54b
+SIZE (handbrake/HandBrake-0.9.1.tar.gz) = 1160277
+MD5 (handbrake/faac-1.24.tar.gz) = 81dc3efd98f1f2da0ac8bfa315284e95
+SHA256 (handbrake/faac-1.24.tar.gz) = 8eda7b69669f9d57c114d740555eb8bab29e4add90fade1aed41dd2ac1d19df6
+SIZE (handbrake/faac-1.24.tar.gz) = 627837
+MD5 (handbrake/lame-3.96.1.tar.gz) = 9a38f646c2b32c4ef50b4f19b0bafcae
+SHA256 (handbrake/lame-3.96.1.tar.gz) = 93091a5b9342d587a2e97571559ac4cdfbe4a67ec046d7f079d2a0849454e45d
+SIZE (handbrake/lame-3.96.1.tar.gz) = 1262685
+MD5 (handbrake/libdca-r81-strapped.tar.gz) = 448bab6df6e4f738e4afaa6ebc085d65
+SHA256 (handbrake/libdca-r81-strapped.tar.gz) = ab2519af6c2f12411a2bd674b83615af9b0d5fb09f28ad5dab714ea1bfab9df1
+SIZE (handbrake/libdca-r81-strapped.tar.gz) = 523282
+MD5 (handbrake/libdvdcss-1.2.9.tar.gz) = 3d15875225e8738e9a8300bede32fbab
+SHA256 (handbrake/libdvdcss-1.2.9.tar.gz) = f967f061a41c9e9fe21cca1ef1fc0e7c377145fa23c39d9df8d16a3af5b623bc
+SIZE (handbrake/libdvdcss-1.2.9.tar.gz) = 390930
+MD5 (handbrake/libdvdread-0.9.7.tar.gz) = a89a8532d5f850014f375bd3f5972082
+SHA256 (handbrake/libdvdread-0.9.7.tar.gz) = 18cf0ee3887264f09f2e23672923aec821ae9b806415ae0d78d0e310c1304c1f
+SIZE (handbrake/libdvdread-0.9.7.tar.gz) = 388570
+MD5 (handbrake/libmkv-0.6.1.2.tar.gz) = be5d3a31477efb54766c8d9da89e1865
+SHA256 (handbrake/libmkv-0.6.1.2.tar.gz) = 5d14627e98e0e8e3ff94ad11cb37dd5a35e909c5ba6444ef9e8b53b937ff3f3b
+SIZE (handbrake/libmkv-0.6.1.2.tar.gz) = 334575
+MD5 (handbrake/libogg-1.1.2.tar.gz) = 4018e57063a9e5ce35145d73bea4b18b
+SHA256 (handbrake/libogg-1.1.2.tar.gz) = 0572ac9027caadb6ee4c2e3c87f98b045a66216ff2006041b12fceb5fb2f0332
+SIZE (handbrake/libogg-1.1.2.tar.gz) = 423463
+MD5 (handbrake/libvorbis-aotuv_b5.tar.gz) = e282d60273dcc8cc6602f65b434f3591
+SHA256 (handbrake/libvorbis-aotuv_b5.tar.gz) = 1e3c5b974e3d16a924eb0af12516a2b0b14aae24d46d32395cd997d833e84509
+SIZE (handbrake/libvorbis-aotuv_b5.tar.gz) = 1345888
+MD5 (handbrake/mpeg2dec-0.4.1.tar.gz) = 1b446bb8e627b21820b065fd7071214b
+SHA256 (handbrake/mpeg2dec-0.4.1.tar.gz) = 8029b7d96dbcee9dc2d140fd872a2cded3eadb8cb6679dc75edc717c18445c44
+SIZE (handbrake/mpeg2dec-0.4.1.tar.gz) = 498874
+MD5 (handbrake/mpeg4ip-1.3.tar.gz) = fdc1b857485842f8daa2b17d77a45e69
+SHA256 (handbrake/mpeg4ip-1.3.tar.gz) = 052b2fc6a880a3c7834a9a60b9520f6e8e7846534e4c99fb15e6675a75eff2a3
+SIZE (handbrake/mpeg4ip-1.3.tar.gz) = 4719855
+MD5 (handbrake/xvidcore-1.1.2.tar.gz) = 671480af5816332c86f7ca74a2c90258
+SHA256 (handbrake/xvidcore-1.1.2.tar.gz) = b7ee6b752e5a4682605ba11bd52b80f02f72f7b1b23721d721e0a1c83f493aa6
+SIZE (handbrake/xvidcore-1.1.2.tar.gz) = 740185
+MD5 (handbrake/ffmpeg-9816.tar.gz) = cfc6b97f830eddccbbb82b97ee6e3b78
+SHA256 (handbrake/ffmpeg-9816.tar.gz) = 23a38e102fa3d2df67e17e21a52d068665580d4fa5bb1d0e6ca4abb5a23894f2
+SIZE (handbrake/ffmpeg-9816.tar.gz) = 2706937
+MD5 (handbrake/x264-r665.tar.gz) = a0fbe36eb7b03e61a96dd146e9c1ebbc
+SHA256 (handbrake/x264-r665.tar.gz) = b61d2122ff559867d173413b1f3eba649d614a5a2e3be90642375d79bd79d30e
+SIZE (handbrake/x264-r665.tar.gz) = 751198
+MD5 (handbrake/a52dec-0.7.4.tar.gz) = ce5a978bb359f642dcbd24c6e14a45a7
+SHA256 (handbrake/a52dec-0.7.4.tar.gz) = 54981ab08fc09a675b9924372cf0cca5aa5363b918c4c19065c2d40e2858be47
+SIZE (handbrake/a52dec-0.7.4.tar.gz) = 242978
+MD5 (handbrake/libsamplerate-0.1.2.tar.gz) = d53fbef1b1674bfee9d4fee5c2d0b627
+SHA256 (handbrake/libsamplerate-0.1.2.tar.gz) = c2bcb7de8cb15ea6cf68a211db5920fd22beb69071b80823714ecfde7eb398fa
+SIZE (handbrake/libsamplerate-0.1.2.tar.gz) = 711602
diff --git a/multimedia/handbrake/files/patch-Jamfile b/multimedia/handbrake/files/patch-Jamfile
deleted file mode 100644
index d5286155f542..000000000000
--- a/multimedia/handbrake/files/patch-Jamfile
+++ /dev/null
@@ -1,43 +0,0 @@
---- Jamfile.orig Thu Feb 23 18:29:33 2006
-+++ Jamfile Mon Jun 26 00:03:33 2006
-@@ -6,16 +6,8 @@
-
- SubDir TOP ;
-
--# libhb + contrib libraries
--HB_LIBS = libhb.a
-- contrib/lib/liba52.a contrib/lib/libavcodec.a
-- contrib/lib/libavutil.a contrib/lib/libdvdread.a
-- contrib/lib/libdvdcss.a contrib/lib/libfaac.a
-- contrib/lib/libmp3lame.a contrib/lib/libmp4v2.a
-- contrib/lib/libmpeg2.a contrib/lib/libvorbis.a
-- contrib/lib/libvorbisenc.a contrib/lib/libogg.a
-- contrib/lib/libsamplerate.a contrib/lib/libx264.a
-- contrib/lib/libxvidcore.a ;
-+# libhb
-+HB_LIBS = libhb.a ;
-
- # Interfaces
- TEST_BIN = HBTest ;
-@@ -63,6 +55,14 @@
- #ObjectC++Flags $(WX_SRC) : `wx-config --cflags` ;
- #Main $(WX_BIN) : $(WX_SRC) ;
- }
-+if $(OS) = FREEBSD
-+{
-+ SystemLibraries $(TEST_BIN) : -L%%LOCALBASE%%/lib %%PTHREAD_LIBS%% -la52
-+ -lavcodec -ldvdcss -ldvdread -lfaac -lmp3lame -lmp4v2 -lmpeg2
-+ -logg -lsamplerate -lvorbis -lvorbisenc -lxvidcore -lx264
-+ $(EXTRA_LIBS) ;
-+ ObjectCcFlags $(TEST_SRC) : -I%%LOCALBASE%%/include ;
-+}
-
- ObjectHdrs $(UI_SRC) : $(TOP)/libhb ;
- LinkLibraries $(UI_BIN) : $(HB_LIBS) ;
-@@ -71,6 +71,4 @@
- NotFile package ;
- Depends package : $(HB_PACKAGES) ;
-
--SubInclude TOP contrib ;
- SubInclude TOP libhb ;
--
diff --git a/multimedia/handbrake/files/patch-Jamrules b/multimedia/handbrake/files/patch-Jamrules
deleted file mode 100644
index 1664e2f5c44e..000000000000
--- a/multimedia/handbrake/files/patch-Jamrules
+++ /dev/null
@@ -1,12 +0,0 @@
---- Jamrules.orig Sun May 7 21:21:57 2006
-+++ Jamrules Sun May 7 21:22:12 2006
-@@ -80,3 +80,9 @@
- zip -9 -r $(<) "HandBrake $(HB_VERSION)" && \
- rm -rf "HandBrake $(HB_VERSION)"
- }
-+
-+rule SystemLibraries
-+{
-+ LINKLIBS on [ FAppendSuffix $(<) : $(SUFEXE) ] += $(>) ;
-+}
-+
diff --git a/multimedia/handbrake/files/patch-configure b/multimedia/handbrake/files/patch-configure
index 90d992da8cfd..f72855dbf91c 100644
--- a/multimedia/handbrake/files/patch-configure
+++ b/multimedia/handbrake/files/patch-configure
@@ -1,5 +1,5 @@
---- configure.orig Thu Feb 23 18:29:33 2006
-+++ configure Sun Jun 25 23:37:46 2006
+--- configure.orig 2007-12-07 17:24:34.000000000 -0600
++++ configure 2007-12-07 17:25:50.000000000 -0600
@@ -1,9 +1,9 @@
#! /bin/sh
@@ -11,14 +11,6 @@
+CXX="${CXX-g++}"
+CCFLAGS="${CFLAGS--Wall -g}"
+OPTIM=""
+ LINKLIBS="-lz"
# System-specific flags
- SYSTEM=`uname -s`
-@@ -36,6 +36,7 @@
- ;;
-
- FreeBSD)
-+ CCFLAGS="$CCFLAGS -Wall"
- DEFINES="$DEFINES SYS_FREEBSD"
- LINKLIBS="$LINKLIBS -pthread"
- ;;
diff --git a/multimedia/handbrake/files/patch-contrib-Jamfile b/multimedia/handbrake/files/patch-contrib-Jamfile
new file mode 100644
index 000000000000..1c8363c4f848
--- /dev/null
+++ b/multimedia/handbrake/files/patch-contrib-Jamfile
@@ -0,0 +1,285 @@
+--- contrib/Jamfile.orig 2007-10-08 15:57:23.000000000 -0500
++++ contrib/Jamfile 2007-12-07 17:58:44.000000000 -0600
+@@ -23,9 +23,10 @@
+ }
+ actions Wget
+ {
+- $(RM) $(<) &&
+- $(WGET) $(<) `cat $(>)` &&
+- ( touch $(<) || true )
++# $(RM) $(<) &&
++# $(WGET) $(<) `cat $(>)` &&
++# ( touch $(<) || true )
++ true
+ }
+
+ # liba52
+@@ -36,10 +37,9 @@
+ }
+ actions LibA52
+ {
+-
+- cd `dirname $(>)` && CONTRIB=`pwd` &&
+- rm -rf a52dec && tar xzf a52dec.tar.gz && cd a52dec && patch -p1 < ../patch-a52dec.patch &&
+- ./configure --prefix=$CONTRIB --cache-file=$CONTRIB/config.cache && make && make install &&
++ CONTRIB=%%CONTRIB%% &&
++ cd $CONTRIB/a52dec && patch -p1 < ../patch-a52dec.patch &&
++ ./configure --prefix=$CONTRIB && $(MAKE) && $(MAKE) install &&
+ strip -S $CONTRIB/lib/liba52.a
+ }
+ Wget $(SUBDIR)/a52dec.tar.gz : $(SUBDIR)/version_a52dec.txt ;
+@@ -58,14 +58,13 @@
+ }
+ actions LibAvCodec
+ {
+- cd `dirname $(>)` && CONTRIB=`pwd` &&
+- rm -rf ffmpeg && tar xzf ffmpeg.tar.gz &&
+- cd ffmpeg && $(FFMPEG_PATCH) &&
+- ./configure --prefix=$CONTRIB --enable-gpl --enable-pthreads --enable-swscaler --disable-audio-beos --disable-shared --enable-static \
++ CONTRIB=%%CONTRIB%% &&
++ cd $CONTRIB/ffmpeg && $(FFMPEG_PATCH) &&
++ ./configure --prefix="$CONTRIB" --cc="%%CC%%" --extra-libs="%%PTHREAD_LIBS%%" --enable-gpl --enable-pthreads --enable-swscaler --disable-audio-beos --disable-shared --enable-static --disable-opts \
+ --disable-decoders --enable-decoder=mp2 --disable-parsers --enable-parser=mpegaudio \
+ --disable-encoders --enable-encoder=mpeg4 --enable-encoder=ac3 --enable-encoder=snow \
+ --disable-muxers --enable-muxer=ipod --disable-demuxers --disable-protocols --disable-bsfs &&
+- make && make install &&
++ $(MAKE) && $(MAKE) install &&
+ strip -S $CONTRIB/lib/libavcodec.a
+ }
+ Wget $(SUBDIR)/ffmpeg.tar.gz : $(SUBDIR)/version_ffmpeg.txt ;
+@@ -96,9 +95,9 @@
+ }
+ actions LibDvdCss
+ {
+- cd `dirname $(>)` && CONTRIB=`pwd` &&
+- rm -rf libdvdcss && tar xzf libdvdcss.tar.gz && cd libdvdcss &&
+- ./configure --prefix=$CONTRIB --cache-file=$CONTRIB/config.cache && make && make install &&
++ CONTRIB=%%CONTRIB%% &&
++ cd $CONTRIB/libdvdcss &&
++ ./configure --prefix=$CONTRIB && $(MAKE) && $(MAKE) install &&
+ strip -S $CONTRIB/lib/libdvdcss.a
+ }
+ Wget $(SUBDIR)/libdvdcss.tar.gz : $(SUBDIR)/version_libdvdcss.txt ;
+@@ -113,9 +112,9 @@
+ }
+ actions LibDCA
+ {
+- cd `dirname $(>)` && CONTRIB=`pwd` &&
+- rm -rf libdca && tar xzf libdca.tar.gz && cd libdca && patch -p1 < ../patch-libdca.patch &&
+- ./configure --prefix=$CONTRIB --cache-file=$CONTRIB/config.cache && make && make install &&
++ CONTRIB=%%CONTRIB%% &&
++ cd $CONTRIB/libdca && patch -p1 < ../patch-libdca.patch &&
++ ./configure --prefix=$CONTRIB && $(MAKE) && $(MAKE) install &&
+ strip -S $CONTRIB/lib/libdca.a
+ }
+ Wget $(SUBDIR)/libdca.tar.gz : $(SUBDIR)/version_libdca.txt ;
+@@ -131,10 +130,10 @@
+ {
+ actions LibDvdRead
+ {
+- cd `dirname $(>)` && CONTRIB=`pwd` &&
+- rm -rf libdvdread && tar xzf libdvdread.tar.gz && cd libdvdread &&
+- ./configure --prefix=$CONTRIB --cache-file=$CONTRIB/config.cache --disable-shared --with-libdvdcss=$CONTRIB &&
+- make && make install &&
++ CONTRIB=%%CONTRIB%% &&
++ cd $CONTRIB/libdvdread &&
++ ./configure --prefix=$CONTRIB --disable-shared --with-libdvdcss=$CONTRIB &&
++ $(MAKE) && $(MAKE) install &&
+ strip -S $CONTRIB/lib/libdvdread.a
+ }
+ }
+@@ -143,10 +142,10 @@
+ # configure line.
+ actions LibDvdRead
+ {
+- cd `dirname $(>)` && CONTRIB=`pwd` &&
+- rm -rf libdvdread && tar xzf libdvdread.tar.gz && cd libdvdread &&
+- ./configure --prefix=$CONTRIB --cache-file=$CONTRIB/config.cache --disable-shared &&
+- make && make install &&
++ CONTRIB=%%CONTRIB%% &&
++ cd $CONTRIB/libdvdread &&
++ ./configure --prefix=$CONTRIB --disable-shared &&
++ $(MAKE) && $(MAKE) install &&
+ strip -S $CONTRIB/lib/libdvdread.a
+ }
+ }
+@@ -161,10 +160,10 @@
+ }
+ actions LibFaac
+ {
+- cd `dirname $(>)` && CONTRIB=`pwd` &&
+- rm -rf faac && tar xzf faac.tar.gz && cd faac &&
+- ./configure --prefix=$CONTRIB --cache-file=$CONTRIB/config.cache --disable-shared --enable-static &&
+- make && make install &&
++ CONTRIB=%%CONTRIB%% &&
++ cd $CONTRIB/faac &&
++ ./configure --prefix=$CONTRIB --disable-shared --enable-static &&
++ $(MAKE) && $(MAKE) install &&
+ strip -S $CONTRIB/lib/libfaac.a
+ }
+ Wget $(SUBDIR)/faac.tar.gz : $(SUBDIR)/version_faac.txt ;
+@@ -178,10 +177,10 @@
+ }
+ actions LibMp3Lame
+ {
+- cd `dirname $(>)` && CONTRIB=`pwd` &&
+- rm -rf lame && tar xzf lame.tar.gz && cd lame &&
+- ./configure --prefix=$CONTRIB --cache-file=$CONTRIB/config.cache --disable-shared &&
+- make && make install &&
++ CONTRIB=%%CONTRIB%% &&
++ cd $CONTRIB/lame &&
++ ./configure --prefix=$CONTRIB --disable-shared &&
++ $(MAKE) && $(MAKE) install &&
+ strip -S $CONTRIB/lib/libmp3lame.a
+ }
+ Wget $(SUBDIR)/lame.tar.gz : $(SUBDIR)/version_lame.txt ;
+@@ -197,11 +196,11 @@
+ {
+ actions LibMp4v2
+ {
+- cd `dirname $(>)` && CONTRIB=`pwd` &&
+- rm -rf mpeg4ip && tar xzf mpeg4ip.tar.gz && cd mpeg4ip &&
++ CONTRIB=%%CONTRIB%% &&
++ cd $CONTRIB/mpeg4ip &&
+ patch -p1 < ../patch-mpeg4ip.patch && patch -p0 < ../patch-mpeg4ip-pascal-str.patch &&
+- ./bootstrap --cache-file=$CONTRIB/config.cache --disable-mp3lame --disable-faac --disable-x264 --disable-server --disable-player &&
+- make -C lib/mp4v2 libmp4v2.la && cp lib/mp4v2/.libs/libmp4v2.a $CONTRIB/lib &&
++ ./bootstrap --disable-mp3lame --disable-faac --disable-x264 --disable-server --disable-player &&
++ $(MAKE) -C lib/mp4v2 libmp4v2.la && cp lib/mp4v2/.libs/libmp4v2.a $CONTRIB/lib &&
+ cp mpeg4ip_config.h include/mpeg4ip.h include/mpeg4ip_version.h \
+ include/mpeg4ip_win32.h lib/mp4v2/*.h $CONTRIB/include &&
+ strip -S $CONTRIB/lib/libmp4v2.a
+@@ -211,11 +210,11 @@
+ {
+ actions LibMp4v2
+ {
+- cd `dirname $(>)` && CONTRIB=`pwd` &&
+- rm -rf mpeg4ip && tar xzf mpeg4ip.tar.gz && cd mpeg4ip &&
++ CONTRIB=%%CONTRIB%% &&
++ cd $CONTRIB/mpeg4ip &&
+ patch -p1 < ../patch-mpeg4ip.patch && patch -p1 < ../patch_mpeg4ip_cygwin.patch && patch -p0 < ../patch-mpeg4ip-pascal-str.patch &&
+- ./bootstrap --cache-file=$CONTRIB/config.cache --disable-mp3lame --disable-faac --disable-x264 --disable-server --disable-player &&
+- make -C lib/mp4v2 libmp4v2.la && cp lib/mp4v2/.libs/libmp4v2.a $CONTRIB/lib &&
++ ./bootstrap --disable-mp3lame --disable-faac --disable-x264 --disable-server --disable-player &&
++ $(MAKE) -C lib/mp4v2 libmp4v2.la && cp lib/mp4v2/.libs/libmp4v2.a $CONTRIB/lib &&
+ cp mpeg4ip_config.h include/mpeg4ip.h include/mpeg4ip_version.h \
+ include/mpeg4ip_win32.h lib/mp4v2/*.h $CONTRIB/include &&
+ strip -S $CONTRIB/lib/libmp4v2.a
+@@ -231,10 +230,10 @@
+ }
+ actions LibMkv
+ {
+- cd `dirname $(>)` && CONTRIB=`pwd` &&
+- rm -rf libmkv && tar xzf libmkv.tar.gz && cd libmkv &&
+- ./configure --disable-shared --enable-static --prefix=$CONTRIB --cache-file=$CONTRIB/config.cache &&
+- make && make install &&
++ CONTRIB=%%CONTRIB%% &&
++ cd $CONTRIB/libmkv &&
++ ./configure --disable-shared --enable-static --prefix=$CONTRIB &&
++ $(MAKE) && $(MAKE) install &&
+ strip -S $CONTRIB/lib/libmkv.a
+ }
+ Wget $(SUBDIR)/libmkv.tar.gz : $(SUBDIR)/version_libmkv.txt ;
+@@ -248,10 +247,10 @@
+ }
+ actions LibMpeg2
+ {
+- cd `dirname $(>)` && CONTRIB=`pwd` &&
+- rm -rf mpeg2dec && tar xzf mpeg2dec.tar.gz && cd mpeg2dec && patch -p1 < ../patch-libmpeg2.patch &&
+- ./configure --prefix=$CONTRIB --cache-file=$CONTRIB/config.cache --disable-shared --disable-sdl &&
+- make && make install &&
++ CONTRIB=%%CONTRIB%% &&
++ cd $CONTRIB/mpeg2dec && patch -p1 < ../patch-libmpeg2.patch &&
++ ./configure --prefix=$CONTRIB --disable-shared --disable-sdl &&
++ $(MAKE) && $(MAKE) install &&
+ strip -S $CONTRIB/lib/libmpeg2.a
+ }
+ Wget $(SUBDIR)/mpeg2dec.tar.gz : $(SUBDIR)/version_mpeg2dec.txt ;
+@@ -265,10 +264,10 @@
+ }
+ actions LibOgg
+ {
+- cd `dirname $(>)` && CONTRIB=`pwd` &&
+- rm -rf libogg && tar xzf libogg.tar.gz && cd libogg &&
+- ./configure --prefix=$CONTRIB --cache-file=$CONTRIB/config.cache --disable-shared &&
+- make && make install &&
++ CONTRIB=%%CONTRIB%% &&
++ cd $CONTRIB/libogg &&
++ ./configure --prefix=$CONTRIB --disable-shared &&
++ $(MAKE) && $(MAKE) install &&
+ strip -S $CONTRIB/lib/libogg.a
+ }
+ Wget $(SUBDIR)/libogg.tar.gz : $(SUBDIR)/version_libogg.txt ;
+@@ -282,10 +281,10 @@
+ }
+ actions LibSampleRate
+ {
+- cd `dirname $(>)` && CONTRIB=`pwd` &&
+- rm -rf libsamplerate && tar xzf libsamplerate.tar.gz && cd libsamplerate &&
+- ./configure --prefix=$CONTRIB --cache-file=$CONTRIB/config.cache --disable-shared &&
+- make && make install &&
++ CONTRIB=%%CONTRIB%% &&
++ cd $CONTRIB/libsamplerate &&
++ ./configure --prefix=$CONTRIB --disable-shared &&
++ $(MAKE) && $(MAKE) install &&
+ strip -S $CONTRIB/lib/libsamplerate.a
+ }
+ Wget $(SUBDIR)/libsamplerate.tar.gz : $(SUBDIR)/version_libsamplerate.txt ;
+@@ -299,10 +298,10 @@
+ }
+ actions LibVorbis
+ {
+- cd `dirname $(>)` && CONTRIB=`pwd` &&
+- rm -rf libvorbis && tar xzf libvorbis.tar.gz && cd libvorbis &&
+- ./configure --prefix=$CONTRIB --with-ogg=$CONTRIB --cache-file=$CONTRIB/config.cache --disable-shared &&
+- make && make install &&
++ CONTRIB=%%CONTRIB%% &&
++ cd $CONTRIB/libvorbis &&
++ ./configure --prefix=$CONTRIB --with-ogg=$CONTRIB --disable-shared &&
++ $(MAKE) && $(MAKE) install &&
+ strip -S $CONTRIB/lib/libvorbis.a
+ }
+ Wget $(SUBDIR)/libvorbis.tar.gz : $(SUBDIR)/version_libvorbis.txt ;
+@@ -338,10 +337,10 @@
+ }
+ actions LibX264
+ {
+- cd `dirname $(>)` && CONTRIB=`pwd` &&
+- rm -rf x264 && tar xzf x264.tar.gz && cd x264 && $(LIBX264_PATCH)
+- ./configure --prefix=$CONTRIB --enable-pthread && make &&
+- make install &&
++ CONTRIB=%%CONTRIB%% &&
++ cd $CONTRIB/x264 && $(LIBX264_PATCH)
++ ./configure --prefix=$CONTRIB --enable-pthread && $(MAKE) &&
++ $(MAKE) install &&
+ strip -S $CONTRIB/lib/libx264.a
+ }
+ Wget $(SUBDIR)/x264.tar.gz : $(SUBDIR)/version_x264.txt ;
+@@ -364,10 +363,9 @@
+ }
+ actions LibXvidCore
+ {
+- cd `dirname $(>)` && CONTRIB=`pwd` &&
+- rm -rf xvidcore && tar xzf xvidcore.tar.gz &&
+- cd xvidcore && $(LIBXVIDCORE_PATCH)
+- cd build/generic/ && ./configure --prefix=$CONTRIB --cache-file=$CONTRIB/config.cache && make libxvidcore.a &&
++ CONTRIB=%%CONTRIB%% &&
++ cd $CONTRIB/xvidcore && $(LIBXVIDCORE_PATCH)
++ cd build/generic/ && ./configure --prefix=$CONTRIB && $(MAKE) libxvidcore.a &&
+ cp ./=build/libxvidcore.a $CONTRIB/lib/ &&
+ cp ../../src/xvid.h $CONTRIB/include/ &&
+ strip -S $CONTRIB/lib/libxvidcore.a
+@@ -385,10 +383,9 @@
+ }
+ actions Zlib
+ {
+- cd `dirname $(>)` && CONTRIB=`pwd` &&
+- rm -rf zlib && tar xzf zlib.tar.gz &&
+- cd zlib && ./configure --prefix=$CONTRIB --cache-file=$CONTRIB/config.cache &&
+- make && make install && touch $CONTRIB/.contrib &&
++ CONTRIB=%%CONTRIB%% &&
++ cd $CONTRIB/zlib && ./configure --prefix=$CONTRIB &&
++ $(MAKE) && $(MAKE) install && touch $CONTRIB/.contrib &&
+ strip -S $CONTRIB/lib/libz.a
+ }
+ Wget $(SUBDIR)/zlib.tar.gz : $(SUBDIR)/version_zlib.txt ;
diff --git a/multimedia/handbrake/files/patch-contrib-a52dec-libao-audio_out_oss.c b/multimedia/handbrake/files/patch-contrib-a52dec-libao-audio_out_oss.c
new file mode 100644
index 000000000000..6ff734192f84
--- /dev/null
+++ b/multimedia/handbrake/files/patch-contrib-a52dec-libao-audio_out_oss.c
@@ -0,0 +1,11 @@
+--- ../../work/HandBrake/contrib/a52dec/libao/audio_out_oss.c 2002-04-28 12:23:02.000000000 +0200
++++ contrib/a52dec/libao/audio_out_oss.c 2007-12-06 03:06:05.000000000 +0100
+@@ -35,7 +35,7 @@
+ #if defined(__OpenBSD__)
+ #include <soundcard.h>
+ #elif defined(__FreeBSD__)
+-#include <machine/soundcard.h>
++#include <sys/soundcard.h>
+ #ifndef AFMT_S16_NE
+ #include <machine/endian.h>
+ #if BYTE_ORDER == LITTLE_ENDIAN
diff --git a/multimedia/handbrake/files/patch-contrib-libsamplerate-configure b/multimedia/handbrake/files/patch-contrib-libsamplerate-configure
new file mode 100644
index 000000000000..9d8ed481062e
--- /dev/null
+++ b/multimedia/handbrake/files/patch-contrib-libsamplerate-configure
@@ -0,0 +1,20 @@
+--- ../../work/HandBrake/contrib/libsamplerate/configure 2004-09-12 04:57:51.000000000 +0200
++++ contrib/libsamplerate/configure 2007-12-06 03:14:12.000000000 +0100
+@@ -22293,7 +22293,7 @@
+ # Now use the information from the checking stage.
+
+ # Need to make examples directory before tests directory.
+-subdirs="src doc examples tests"
++subdirs="src doc examples"
+
+
+ cat >>confdefs.h <<\_ACEOF
+@@ -22321,7 +22321,7 @@
+
+
+
+- ac_config_files="$ac_config_files Makefile src/Version_script Win32/Makefile Win32/Makefile.mingw src/Makefile examples/Makefile tests/Makefile doc/Makefile libsamplerate.spec samplerate.pc"
++ ac_config_files="$ac_config_files Makefile src/Version_script Win32/Makefile Win32/Makefile.mingw src/Makefile examples/Makefile doc/Makefile libsamplerate.spec samplerate.pc"
+
+ cat >confcache <<\_ACEOF
+ # This file is a shell script that caches the results of configure
diff --git a/multimedia/handbrake/files/patch-contrib-x264-Makefile b/multimedia/handbrake/files/patch-contrib-x264-Makefile
new file mode 100644
index 000000000000..a54ac78e0140
--- /dev/null
+++ b/multimedia/handbrake/files/patch-contrib-x264-Makefile
@@ -0,0 +1,20 @@
+--- ../HandBrake_old/contrib/x264/Makefile 2007-07-15 22:45:03.000000000 +0200
++++ contrib/x264/Makefile 2007-12-06 01:17:21.000000000 +0100
+@@ -18,7 +18,7 @@
+ endif
+
+ # MMX/SSE optims
+-ifeq ($(ARCH),X86)
++ifeq ($(ARCH),i386)
+ ifneq ($(AS),)
+ SRCS += common/i386/mc-c.c common/i386/predict-c.c
+ ASMSRC = common/i386/dct-a.asm common/i386/cpu-a.asm \
+@@ -32,7 +32,7 @@
+ endif
+
+ # MMX/SSE optims
+-ifeq ($(ARCH),X86_64)
++ifeq ($(ARCH),amd64)
+ ifneq ($(AS),)
+ SRCS += common/i386/mc-c.c common/i386/predict-c.c
+ ASMSRC = common/amd64/dct-a.asm common/amd64/cpu-a.asm \
diff --git a/multimedia/handbrake/files/patch-contrib-x264-configure b/multimedia/handbrake/files/patch-contrib-x264-configure
new file mode 100644
index 000000000000..af3ef6ed31c0
--- /dev/null
+++ b/multimedia/handbrake/files/patch-contrib-x264-configure
@@ -0,0 +1,11 @@
+--- ../HandBrake_old/contrib/x264/configure 2007-07-15 22:45:03.000000000 +0200
++++ contrib/x264/configure 2007-12-06 01:16:03.000000000 +0100
+@@ -160,7 +160,7 @@
+ fi
+ as_check || AS="nasm"
+ ;;
+- x86_64)
++ x86_64 | amd64)
+ ARCH="X86_64"
+ AS="yasm"
+ ASFLAGS="-f elf -m amd64"
diff --git a/multimedia/handbrake/files/patch-libhb-fifo.c b/multimedia/handbrake/files/patch-libhb-fifo.c
new file mode 100644
index 000000000000..47ef561b47ac
--- /dev/null
+++ b/multimedia/handbrake/files/patch-libhb-fifo.c
@@ -0,0 +1,13 @@
+--- HandBrake_old/libhb/fifo.c 2007-10-08 22:57:08.000000000 +0200
++++ libhb/fifo.c 2007-12-04 05:55:37.000000000 +0100
+@@ -6,9 +6,7 @@
+
+ #include "hb.h"
+
+-#ifndef SYS_DARWIN
+-#include <malloc.h>
+-#endif
++#include <stdlib.h>
+
+ /* Fifo */
+ struct hb_fifo_s
diff --git a/multimedia/handbrake/files/patch-libhb-ports.c b/multimedia/handbrake/files/patch-libhb-ports.c
new file mode 100644
index 000000000000..ac4b7ade63dc
--- /dev/null
+++ b/multimedia/handbrake/files/patch-libhb-ports.c
@@ -0,0 +1,46 @@
+--- HandBrake_old/libhb/ports.c 2007-10-08 22:57:08.000000000 +0200
++++ libhb/ports.c 2007-12-04 07:48:47.000000000 +0100
+@@ -28,6 +28,11 @@
+ #include <netinet/in.h>
+ //#endif
+
++#if defined(__FreeBSD__)
++#include <sys/types.h>
++#include <sys/sysctl.h>
++#endif
++
+ #include "hb.h"
+
+ /************************************************************************
+@@ -105,21 +110,17 @@
+ cpu_count = info.cpu_count;
+ }
+
+-#elif defined( SYS_DARWIN ) || defined( SYS_FREEBSD )
+- FILE * info;
+- char buffer[16];
+-
+- if( ( info = popen( "/usr/sbin/sysctl hw.ncpu", "r" ) ) )
++#elif defined(__FreeBSD__)
+ {
+- memset( buffer, 0, 16 );
+- if( fgets( buffer, 15, info ) )
+- {
+- if( sscanf( buffer, "hw.ncpu: %d", &cpu_count ) != 1 )
+- {
+- cpu_count = 1;
+- }
+- }
+- fclose( info );
++ int mib[2];
++ size_t len;
++
++ mib[0] = CTL_HW;
++ mib[1] = HW_NCPU;
++ len = sizeof(cpu_count);
++
++ if(sysctl(mib, 2, &cpu_count, &len, NULL, 0) != 0)
++ cpu_count = 1;
+ }
+
+ #elif defined( SYS_LINUX )
diff --git a/multimedia/handbrake/files/patch-libhb_Jamfile b/multimedia/handbrake/files/patch-libhb_Jamfile
deleted file mode 100644
index c195ecfdee34..000000000000
--- a/multimedia/handbrake/files/patch-libhb_Jamfile
+++ /dev/null
@@ -1,9 +0,0 @@
---- libhb/Jamfile.orig Sun Jun 25 23:12:27 2006
-+++ libhb/Jamfile Sun Jun 25 23:13:58 2006
-@@ -14,5 +14,5 @@
-
- Library libhb : $(LIBHB_SRC) ;
-
--ObjectCcFlags $(LIBHB_SRC) : -I$(TOP)/contrib/include ;
-+ObjectHdrs $(LIBHB_SRC) : %%LOCALBASE%%/include ;
- ObjectDefines $(LIBHB_SRC) : __LIBHB__ ;
diff --git a/multimedia/handbrake/files/patch-libhb_encx264.c b/multimedia/handbrake/files/patch-libhb_encx264.c
deleted file mode 100644
index 22008dd0b4ac..000000000000
--- a/multimedia/handbrake/files/patch-libhb_encx264.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- libhb/encx264.c.orig Sat Aug 26 02:34:47 2006
-+++ libhb/encx264.c Sat Aug 26 02:36:02 2006
-@@ -79,7 +79,7 @@
- else
- {
- /* Rate control */
-- param.rc.b_cbr = 1;
-+ param.rc.i_rc_method = 1;
- param.rc.i_bitrate = job->vbitrate;
- switch( job->pass )
- {
diff --git a/multimedia/handbrake/pkg-descr b/multimedia/handbrake/pkg-descr
index 9a9b8b725186..d8f85c55f009 100644
--- a/multimedia/handbrake/pkg-descr
+++ b/multimedia/handbrake/pkg-descr
@@ -1,20 +1,30 @@
-HandBrake is a GPL'd multi-platform, multithreaded DVD to MPEG-4 ripper and
-converter. HandBrake was originally available on the BeOS, but now has been
-ported over to MacOS X, GNU/Linux and FreeBSD.
+HandBrake is an open-source, GPL-licensed, multiplatform, multithreaded
+DVD to MPEG-4 converter, available for MacOS X, Linux, Windows and
+FreeBSD.
-Features:
- * Can encode directly from DVDs (even encrypted ones) or from VIDEO_TS
- folders
- * Supports AC3, LPCM and MPEG audio tracks
- * Outputs MP4, AVI or OGM files
- * Outputs AAC, MP3 or Vorbis audio
- * Supports 2-pass encoding
- * Supports encoding of two audio tracks
- * Includes a bitrate calculator
- * Supports picture deinterlacing, cropping and scaling
+Supported sources:
-Known limitations:
- * Does not handle DTS audio tracks
- * Does not handle single VOB files or any other file format
+ * Any DVD-like source: VIDEO_TS folder, DVD image or real DVD
+ (encrypted or unencrypted, but protection methods other than CSS
+ are not supported and must be handled externally with third-party
+ software), and some .VOB and .TS files
+ * PAL or NTSC
+ * AC-3, DTS, LPCM or MPEG audio tracks
+
+Outputs:
+
+ * File format: MP4, MKV, AVI or OGM
+ * Video: MPEG-4 or H.264 (1 or 2 passes or constant quantizer/rate
+ encoding)
+ * Audio: AAC, MP3, Vorbis or AC-3 pass-through (supports encoding
+ of several audio tracks)
+
+Misc features:
+
+ * Chapter selection
+ * Basic subtitle support (burned into the picture)
+ * Integrated bitrate calculator
+ * Picture deinterlacing, cropping and scaling
+ * Grayscale encoding
WWW: http://handbrake.m0k.org/