-AUTHORS file for HandBrake <http://handbrake.m0k.org/>
-
-Eric Petit <titer@m0k.org>
- + Core (construct, multithreading, BeOS/OS X/Linux ports)
- + MPEG demuxer
- + MPEG-2, AC3 and MPGA decoders (w/ libmpeg2/liba52/libavcodec)
- + LPCM "decoder"
- + MPEG-4, MP3 and AAC encoders (w/ libavcodec/libxvidcore/libmp3lame/
- libfaac)
- + AC-3 pass-through
- + AVI muxer
- + MP4 muxer (w/ libmp4v2)
- + BeOS interface
- + OS X interface
- + French translation
-
-Laurent Aimar <fenrir@via.ecp.fr>
- + H264 and Vorbis encoders (w/ libx264/libvorbis)
- + OGG/OGM muxer (w/ libogg)
- + Gtk2 interface
- + wxWidgets interface
-
-John Allen (?) <johnallenemail@gmail.com> (johnallen)
- + Core enhancements
- + Threading enhancements
- + Simplified Mac OS X GUI
-
-Joe Crain <joe@dynaflashtech.net> (dynaflash)
- + Mac OS X GUI enhancements/rewrite
-
-Rodney Hester <rhester@multics.dynalias.com> (rhester)
- + iPod firmware 1.2+ 640x480 MPEG-4/H.264 support
-
-Benjamin Lake <me@benlake.org> (benlake)
- + Mac OS X GUI enhancements/rewrite
-
-Chris Long <chris.long@mac.com> (chrislong)
- + iPod firmware 1.2+ 640x480 MPEG-4/H.264 support
-
-Philippe Rigaux <pri@nopapers.org> (prigaux)
- + 3rd party library integration
- + Mac OS X GUI enhancements
- + PAR/anamorphic support
- + Universal binary build process
- + Conversion from jam to make for compiles
-
-Jonathon Rubin <jb.rubin@gmail.com> (jbrjake)
- + Massive core enhancements
- + Significant improvements to H.264 support
-
-Scott <srae88@gmail.com> (sr55)
- + Windows GUI
- + mpeg4ip patches for cygwin compile
-
-Unknown <handbrake@addey.com> (maurj)
- + AAC audio improvements
-
-Unknown <mirkwood07@gmail.com> (mirkwood)
- + Windows CLI port
+AUTHORS file for MediaFork <http://mediafork.dynalias.com/>\r
+\r
+Originally forked from HandBrake <http://handbrake.m0k.org/>\r
+\r
+Eric Petit <titer@m0k.org>\r
+ + Core (construct, multithreading, BeOS/OS X/Linux ports)\r
+ + MPEG demuxer\r
+ + MPEG-2, AC3 and MPGA decoders (w/ libmpeg2/liba52/libavcodec)\r
+ + LPCM "decoder"\r
+ + MPEG-4, MP3 and AAC encoders (w/ libavcodec/libxvidcore/libmp3lame/\r
+ libfaac)\r
+ + AC-3 pass-through\r
+ + AVI muxer\r
+ + MP4 muxer (w/ libmp4v2)\r
+ + BeOS interface\r
+ + OS X interface\r
+ + French translation\r
+\r
+Laurent Aimar <fenrir@via.ecp.fr>\r
+ + H264 and Vorbis encoders (w/ libx264/libvorbis)\r
+ + OGG/OGM muxer (w/ libogg)\r
+ + Gtk2 interface\r
+ + wxWidgets interface\r
+\r
+John Allen (?) <johnallenemail@gmail.com> (johnallen)\r
+ + Core enhancements\r
+ + Threading enhancements\r
+ + Simplified Mac OS X GUI\r
+\r
+Joe Crain <joe@dynaflashtech.net> (dynaflash)\r
+ + Mac OS X GUI enhancements/rewrite\r
+\r
+Rodney Hester <rhester@multics.dynalias.com> (rhester)\r
+ + iPod firmware 1.2+ 640x480 MPEG-4/H.264 support\r
+\r
+Benjamin Lake <me@benlake.org> (benlake)\r
+ + Mac OS X GUI enhancements/rewrite\r
+\r
+Chris Lee <clee@kde.org>\r
+ + PAR/anamorphic support\r
+ + dvdread enhancements\r
+ + Linux GUI\r
+\r
+Chris Long <chris.long@mac.com> (chrislong)\r
+ + iPod firmware 1.2+ 640x480 MPEG-4/H.264 support\r
+\r
+Philippe Rigaux <pri@nopapers.org> (prigaux)\r
+ + 3rd party library integration\r
+ + Mac OS X GUI enhancements\r
+ + PAR/anamorphic support\r
+ + Universal binary build process\r
+ + Conversion from jam to make for compiles\r
+\r
+Jonathon Rubin <jb.rubin@gmail.com> (jbrjake)\r
+ + Massive core enhancements\r
+ + Significant improvements to H.264 support\r
+\r
+Scott <sr55ww@googlemail.com> (sr55)\r
+ + Windows GUI\r
+ + mpeg4ip patches for cygwin compile\r
+\r
+Maurj <mediafork@maurj.com> (maurj)\r
+ + 6-channel AAC audio from 5.1 source\r
+ + mono AAC audio from mono source\r
+ + PAR/anamorphic support in mp4 file format\r
+\r
+Unknown <mirkwood07@gmail.com> (mirkwood)\r
+ + Windows CLI port\r
BUILD file for HandBrake <http://handbrake.m0k.org/>
-Building HandBrake
-==================
+Building HandBrake with jam
+===========================
You can build HandBrake on BeOS, MacOS X, Linux, and on Windows using Cygwin.
If you'd like to port it to another OS, email me (titer@m0k.org).
Run `./configure && jam'. This will build every library HandBrake
requires, then HandBrake itself.
+-----------------------------------------------------------------------------------------------------
-Experimental UB build on MacOsX
-===============================
+Building HandBrake with make
+============================
+
+Step 1: get needed tools
+========================
+
++ gcc and g++
+ There are usually included in your OS' dev tools. On BeOS/Zeta, the
+ default gcc isn't enough, gcc 2.95.3 is required.
+
++ nasm (Only for x86. On Mac OS X Intel, Xcode 2.4.1 include it)
+
+Cygwin setup:
+ There are a couple extra things required to make the code build for Cygwin.
+ Make sure you have /bin and /usr/bin on your path *first*, before
+ the Windows paths. Otherwise the Cygwin find.exe won't be used, and
+ lame won't build.
+ Also, I have not tried to build this with MinGW, I've only built it with
+ the Cygwin environment, so you should build with Cygwin gcc and dev tools.
+ Unfortunately this means you need to have cygwin1.dll around to run the
+ HBTest.exe program, but that's the way it is for now, until I get time
+ to try building it with MinGW. If you want to try making it work with
+ MinGW, then go for it!
+
+
+
+
+Step 2: configuration
+=====================
+
+The HB_BUILD and HB_VERSION are defined in a single file, the Makefile correct the values in Xcode too.
+
+The file where the informations are stored is Makefile.config
+
+Step 3: build
+=============
Run `make'. This will build libmediafork, MediaFork and MediaForkCLI as Universal Binary.
This build method use precompiled contrib libraries. Script to build those binaries are provided too.
All the build is handled by Xcode 2.4.1, should work on powerPC and Intel Macs.
-
export VERSION=$1
export IP=$2
export USERNAME=$3
-export REPOS=svn://multics.dynalias.com/HandBrake/trunk/
+export REPOS=svn://svn.m0k.org/HandBrake/branches/0.8.0_beta2_5.1
# ##########################################################################
# Launch the build on the foreign system
# ##########################################################################
mkdir lib
cd lib
scp $USERNAME@$IP:/Users/$USERNAME/MFBUILDTMP/contrib/lib/*a .
+scp -rp $USERNAME@$IP:/Users/$USERNAME/MFBUILDTMP/contrib/lib/libquicktime .
for lib in `ls *.a`
do
- echo ... lipo: $lib
+ echo ... lipo contrib libraries: $lib
lipo -create $lib ../../native/lib/$lib -output ../../lib/$lib
done;
+mkdir ../../lib/libquicktime
+cd libquicktime
+for lib in `ls *.so`
+do
+ echo ... lipo libquicktime plugins: $lib
+ lipo -create $lib ../../../native/lib/libquicktime/$lib -output ../../../lib/libquicktime/$lib
+done;
+
-cd ../..
+cd ../../..
echo $VERSION > DarwinContribVersion.txt
echo Creating contribbin-darwin-$VERSION.tar.gz
tar zcvf contribbin-darwin-$VERSION.tar.gz lib include DarwinContribVersion.txt
fi
fi
-HOST=download.mediafork.dynalias.com
+HOST=download.m0k.org
+#HOST=download.mediafork.dynalias.com
+#HOST=sr55.ashosted.com
FILE=contribbin-darwin-$VERSION.tar.gz
-URL=http://$HOST/contrib/$FILE
-
+#URL=http://$HOST/contrib/$FILE
+URL=http://$HOST/handbrake/contrib/$FILE
# Check for internet connectivity
if ! host $HOST > /dev/null 2>&1; then
echo "Please connect to the Internet (could not resolve $HOST)."
SubDir TOP ;
-# libmediafork + contrib libraries
-MEDIAFORK_LIBS = libmediafork.a
+# libhb + contrib libraries
+HANDBRAKE_LIBS = libhb.a
contrib/lib/liba52.a contrib/lib/libavformat.a
contrib/lib/libavcodec.a contrib/lib/libavutil.a
contrib/lib/libdvdread.a contrib/lib/libmp4v2.a
if $(OS) != CYGWIN
{
- MEDIAFORK_LIBS = $(MEDIAFORK_LIBS) contrib/lib/libdvdcss.a ;
+ HANDBRAKE_LIBS = $(HANDBRAKE_LIBS) contrib/lib/libdvdcss.a ;
}
# Interfaces
-CLI_BIN = MediaForkCLI ;
+CLI_BIN = HandBrakeCLI ;
CLI_SRC = test/test.c ;
BEOS_BIN = HandBrake ;
BEOS_SRC = beos/HBApp.cpp beos/MainWindow.cpp beos/ScanWindow.cpp
macosx/English.lproj/Express.nib/info.nib
macosx/English.lproj/Express.nib/keyedobjects.nib ;
- OSXApp MediaFork.app : $(OSX_SRC) $(MEDIAFORK_LIBS) ;
+ OSXApp HandBrake.app : $(OSX_SRC) $(HANDBRAKE_LIBS) ;
# Package
OSXPackage HandBrake-$(HB_VERSION)-OSX.zip : HandBrake.app ;
if $(OS) != MACOSX
{
- ObjectHdrs $(UI_SRC) : $(TOP)/libmediafork ;
- LinkLibraries $(UI_BIN) : $(MEDIAFORK_LIBS) ;
+ ObjectHdrs $(UI_SRC) : $(TOP)/libhb ;
+ LinkLibraries $(UI_BIN) : $(HANDBRAKE_LIBS) ;
}
# Packages
NotFile package ;
Depends package : $(HB_PACKAGES) ;
SubInclude TOP contrib ;
-SubInclude TOP libmediafork ;
+SubInclude TOP libhb ;
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r<!DOCTYPE plist SYSTEM\r"file://localhost/System/Library/DTDs/PropertyList.dtd">\r<plist version="0.9">\r<dict>\r <key>CFBundleExecutable</key>\r <string>MP4toMOV</string>\r <key>CFBundleName</key>\r <string>MP4toMOV</string>\r <key>CFBundleIdentifier</key>\r <string></string>\r <key>CFBundleInfoDictionaryVersion</key>\r <string>6.0</string>\r <key>CFBundleVersion</key>\r <string>1.0.0d0</string>\r <key>CFBundleDevelopmentRegion</key>\r <string>en</string>\r <key>CFBundlePackageType</key>\r <string>APPL</string>\r <key>CFBundleSignature</key>\r <string></string>\r <key>CFBundleGetInfoString</key>\r <string></string>\r <key>CFBundleShortVersionString</key>\r <string></string>\r <key>CFBundleIconFile</key>\r <string>MP4toMOV.icns</string>\r <key>CFBundleDocumentTypes</key>\r <array>\r <dict>\r <key>CFBundleTypeName</key>\r <string>MP4</string>\r <key>CFBundleTypeOSTypes</key>\r <array>\r <string>****</string>\r </array>\r <key>CFBundleTypeExtensions</key>\r <array>\r <string>mp4</string>\r </array>\r </dict>\r </array>\r</dict>\r</plist>
\ No newline at end of file
--- /dev/null
+APPL????
\ No newline at end of file
--- /dev/null
+MP4toMOV\r
+--------\r
+\r
+This small application will convert a MediaFork .mp4 file into a .mov file which can be read by iTunes and FrontRow. You only really need to do this if you are using 6-channel AAC in your mp4 files, as iTunes and FrontRow can already read stereo mp4 files.\r
+\r
+To use MP4toMOV, drag one or more mp4 files onto the application's icon. MP4toMOV will convert the files to QuickTime .mov format. New files will be created in the same directory as the .mp4 files, with the .mov extension added to the end. These .mov files can then be dragged to iTunes for use in iTunes and FrontRow, even if they have 6-channel AAC soundtracks. MP4toMOV will quit once all files have been converted.\r
+\r
+Alternatively, double-click on MP4toMOV, and select "File > Open" to open a single file for conversion.\r
+\r
+MP4toMOV is created with REALbasic, and the MP4toMOV.rbp file is a project file for REALbasic 2007r1. REALbasic is available from http://www.realbasic.com/ .
\ No newline at end of file
+include Makefile.config
+
SYSTEM = $(shell uname -s)
# Special case for Mac OS X: everything is handled from the Xcode project
ifeq ($(SYSTEM),Darwin)
-all: clean app release
+all: clean app
+
+dev: clean internal
app:
- (./DownloadMacOsXContribBinaries.sh ; cd macosx ; xcodebuild -alltargets -configuration UB build | sed '/^$$/d' ; cd .. ; ./macosx/localize.sh MediaFork.app)
+ (./DownloadMacOsXContribBinaries.sh ; cd macosx ; xcodebuild -alltargets -configuration UB OTHER_CFLAGS_QUOTED_1="-DHB_VERSION=\\\"$(HB_VERSION)\\\" -DHB_BUILD=$(HB_BUILD) " build | sed '/^$$/d' ; cd .. ; ./macosx/localize.sh HandBrake.app $(HB_VERSION) $(HB_BUILD) UB )
+
+internal:
+ (./DownloadMacOsXContribBinaries.sh ; cd macosx ; xcodebuild -alltargets -configuration Development OTHER_CFLAGS_QUOTED_1="-DHB_VERSION=\\\"$(HB_VERSION)\\\" -DHB_BUILD=$(HB_BUILD) " build | sed '/^$$/d' ; cd .. ; ./macosx/localize.sh HandBrake.app $(HB_VERSION) $(HB_BUILD) DEV ) ; rm -rf plugins ; mkdir plugins ; cp contrib/lib/libquicktime/* plugins
clean:
(cd macosx ; xcodebuild -alltargets -configuration UB clean | sed '/^$$/d' )
(rm -rf contrib/*tar.gz contrib/include contrib/lib contrib/DarwinContribVersion.txt ; cd macosx ; xcodebuild -alltargets -configuration UB clean | sed '/^$$/d' )
release:
- (rm -rf MediaFork MediaFork.dmg ; mkdir -p MediaFork/api MediaFork/doc; cp test/BUILDSHARED AUTHORS BUILD COPYING CREDITS NEWS THANKS TRANSLATIONS MediaFork/doc ; cp -rp MediaFork.app MediaFork ; cp -rp libmediafork/libmediafork.dylib MediaFork/api ; cp -rp libmediafork/mediafork.h libmediafork/common.h libmediafork/ports.h MediaFork/api ; cp -rp MediaForkCLI MediaFork ; hdiutil create -srcfolder MediaFork -format UDBZ MediaFork.dmg ; rm -rf MediaFork )
+ (rm -rf Handbrake Handbrake.dmg ; mkdir -p Handbrake/api Handbrake/doc; cp test/BUILDSHARED AUTHORS BUILD COPYING CREDITS NEWS THANKS TRANSLATIONS Handbrake/doc ; cp -rp HandBrake.app Handbrake ; cp -rp libhb/libhb.dylib Handbrake/api ; cp -rp libhb/hb.h libhb/common.h libhb/ports.h Handbrake/api ; cp -rp HandbrakeCLI Handbrake ; hdiutil create -srcfolder Handbrake -format UDZO Handbrake.dmg ; rm -rf Handbrake )
+ifeq ($(SNAP), 1)
+ ( mv Handbrake.dmg MediaFork-$(HB_VERSION)-MacOS_UB.dmg )
+endif
+
+releaseint:
+ (rm -rf Handbrake Handbrake.dmg ; mkdir -p Handbrake/api Handbrake/doc; cp test/BUILDSHARED AUTHORS BUILD COPYING CREDITS NEWS THANKS TRANSLATIONS Handbrake/doc ; cp -rp HandBrake.app Handbrake ; cp -rp libhb/libhb.dylib Handbrake/api ; cp -rp libhb/hb.h libhb/common.h libhb/ports.h Handbrake/api ; cp -rp HandbrakeCLI Handbrake ; cd HandBrake ; mkdir plugins ; cd plugins ; ln ../HandBrake.app/Contents/Resources/plugins/lqt_audiocodec.so ; ln ../HandBrake.app/Contents/Resources/plugins/lqt_faac.so ; ln ../HandBrake.app/Contents/Resources/plugins/lqt_ffmpeg.so; ln ../HandBrake.app/Contents/Resources/plugins/lqt_lame.so; ln ../HandBrake.app/Contents/Resources/plugins/lqt_rtjpeg.so ; ln ../HandBrake.app/Contents/Resources/plugins/lqt_videocodec.so ; ln ../HandBrake.app/Contents/Resources/plugins/lqt_x264.so; cd ../.. ; hdiutil create -srcfolder Handbrake -format UDZO Handbrake.dmg ; rm -rf Handbrake )
endif
ifeq ($(SYSTEM),Linux)
-all: contrib/lib libmediafork/libmediafork.a MediaForkCLI
+all: contrib/.contrib libhb/libhb.a HandBrakeCLI
+ (rm -rf HandBrake HandBrake*.tar.gz ; mkdir -p HandBrake/api HandBrake/doc; cp test/BUILDSHARED AUTHORS BUILD COPYING CREDITS NEWS THANKS TRANSLATIONS HandBrake/doc ; cp -rp libhb/libhb.so HandBrake/api ; cp -rp libhb/hb.h libhb/common.h libhb/ports.h HandBrake/api ; cp -rp HandBrakeCLI HandBrake ; tar zcvf HandBrake-$(HB_VERSION)_i386.tar.gz HandBrake ; rm -rf HandBrake )
+
-contrib/lib:
- (./configure ; cd contrib ; cp -f ../config.jam . ; jam ; cd ..)
+contrib/.contrib:
+ @$(MAKE) --no-print-directory -C contrib all
-libmediafork/libmediafork.a:
- @$(MAKE) --no-print-directory -C libmediafork all
+libhb/libhb.a:
+ @$(MAKE) --no-print-directory -C libhb all
-MediaForkCLI:
+HandBrakeCLI:
@$(MAKE) --no-print-directory -C test all
clean:
- @$(MAKE) --no-print-directory -C libmediafork clean
+ @$(MAKE) --no-print-directory -C libhb clean
@$(MAKE) --no-print-directory -C test clean
mrproper: clean
- (rm -rf contrib/lib ; rm -rf contrib/include/* )
+ @$(MAKE) --no-print-directory -C contrib mrproper
endif
ifeq ($(SYSTEM),CYGWIN_NT-5.1)
-all: contrib/lib libmediafork/libmediafork.a MediaForkCLI
+all: contrib/.contrib libhb/libhb.a HandbrakeCLI
-contrib/lib:
- (./configure ; cd contrib ; cp -f ../config.jam . ; jam.exe ; cd ..)
+contrib/.contrib:
+ @$(MAKE) --no-print-directory -C contrib all
-libmediafork/libmediafork.a:
- @$(MAKE) --no-print-directory -C libmediafork all
+libhb/libhb.a:
+ @$(MAKE) --no-print-directory -C libhb all
-MediaForkCLI:
+HandbrakeCLI:
@$(MAKE) --no-print-directory -C test all
clean:
- @$(MAKE) --no-print-directory -C libmediafork clean
+ @$(MAKE) --no-print-directory -C libhb clean
@$(MAKE) --no-print-directory -C test clean
mrproper: clean
- (rm -rf contrib/lib ; rm -rf contrib/include/* )
+ @$(MAKE) --no-print-directory -C contrib mrproper
endif
--- /dev/null
+SNAP = $(shell echo $$SNAPSHOT)
+ifeq ($(SNAP), 1)
+HB_BUILD = $(shell date "+%Y%m%d")00
+HB_VERSION = 0.8.0s$(shell date "+%d")
+else
+HB_BUILD = $(shell date "+%Y%m%d")00
+HB_VERSION = "0.8.0b2"
+endif
+HB_DEFPPC = $(shell uname -a | grep ppc > /dev/null ; echo RES$$?)
+ifeq ($(HB_DEFPPC), RES0)
+HB_DEFPPC = "-DWORDS_BIGENDIAN"
+else
+HB_DEFPPC =
+endif
+
cd `dirname $(>)` && CONTRIB=`pwd` &&
rm -rf ffmpeg && tar xzf ffmpeg.tar.gz &&
cd ffmpeg && $(FFMPEG_PATCH) &&
- ./configure --prefix=$CONTRIB $(FFMPEG_OPTIONS) --enable-gpl --disable-audio-beos &&
- make lib && make install-libs install-headers &&
+ ./configure --prefix=$CONTRIB $(FFMPEG_OPTIONS) --enable-gpl --disable-audio-beos --enable-shared --enable-static&&
+ make && make install &&
strip -S $CONTRIB/lib/libavcodec.a
}
Wget $(SUBDIR)/ffmpeg.tar.gz : $(SUBDIR)/version_ffmpeg.txt ;
# libdvdread
rule LibDvdRead
{
- LIBDVDREAD_PATCH = "patch -p1 < ../patch-libdvdread.patch" ;
+ # Not needed anymore since Clee fixed the problem in dvd.c
+ # LIBDVDREAD_PATCH = "patch -p1 < ../patch-libdvdread.patch" ;
Depends $(<) : $(>) ;
Depends lib : $(<) ;
}
{
cd `dirname $(>)` && CONTRIB=`pwd` &&
rm -rf libdvdread && tar xzf libdvdread.tar.gz && cd libdvdread &&
- $(LIBDVDREAD_PATCH) &&
+ # $(LIBDVDREAD_PATCH) &&
./configure --prefix=$CONTRIB --disable-shared --with-libdvdcss=$CONTRIB &&
make && make install &&
strip -S $CONTRIB/lib/libdvdread.a
{
cd `dirname $(>)` && CONTRIB=`pwd` &&
rm -rf libdvdread && tar xzf libdvdread.tar.gz && cd libdvdread &&
- $(LIBDVDREAD_PATCH) &&
+ # $(LIBDVDREAD_PATCH) &&
./configure --prefix=$CONTRIB --disable-shared &&
make && make install &&
strip -S $CONTRIB/lib/libdvdread.a
{
cd `dirname $(>)` && CONTRIB=`pwd` &&
rm -rf faac && tar xzf faac.tar.gz && cd faac &&
- ./configure --prefix=$CONTRIB --disable-shared &&
+ ./configure --prefix=$CONTRIB --enable-shared --enable-static &&
make && make install &&
strip -S $CONTRIB/lib/libfaac.a
}
{
cd `dirname $(>)` && CONTRIB=`pwd` &&
rm -rf mpeg4ip && tar xzf mpeg4ip.tar.gz && cd mpeg4ip &&
- ./bootstrap && make -C lib/mp4v2 libmp4v2.la &&
+ patch -p1 < ../patch-mpeg4ip.patch &&
+ ./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 &&
{
cd `dirname $(>)` && CONTRIB=`pwd` &&
rm -rf mpeg4ip && tar xzf mpeg4ip.tar.gz && cd mpeg4ip &&
+ patch -p1 < ../patch-mpeg4ip.patch &&
patch -p1 < ../patch_mpeg4ip_cygwin.patch && ./bootstrap && 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 \
{
LIBX264_PATCH = " patch -p1 < ../patch-x264-cygwin.patch && " ;
}
+ else if $(OS) = LINUX
+ {
+ LIBX264_PATCH = " patch -p1 < ../patch-x264-linux.patch && " ;
+ }
Depends $(<) : $(>) ;
Depends lib : $(<) ;
}
}
Wget $(SUBDIR)/xvidcore.tar.gz : $(SUBDIR)/version_xvidcore.txt ;
LibXvidCore $(SUBDIR)/lib/libxvidcore.a : $(SUBDIR)/xvidcore.tar.gz ;
+
+# zlib
+if $(OS) = CYGWIN
+{
+rule Zlib
+{
+ Depends $(<) : $(>) ;
+ Depends lib : $(<) ;
+}
+actions Zlib
+{
+ cd `dirname $(>)` && CONTRIB=`pwd` &&
+ rm -rf zlib && tar xzf zlib.tar.gz &&
+ cd zlib &&
+ ./configure --prefix=$CONTRIB && make && make install &&
+ strip -S $CONTRIB/lib/libz.a
+}
+Wget $(SUBDIR)/zlib.tar.gz : $(SUBDIR)/version_zlib.txt ;
+Zlib $(SUBDIR)/lib/libz.a : $(SUBDIR)/zlib.tar.gz ;
+}
+
+#libquicktime don't build on Cygwin! Do we really need it?
+if $(OS) != CYGWIN
+{
+ # libquicktime
+ rule LibQT
+ {
+
+ if $(OS) = MACOSX
+ {
+ POST_LibQT = "cd plugins/faac && " ;
+ POST_LibQT += "gcc -flat_namespace -undefined suppress -o .libs/lqt_faac.so -bundle .libs/faac.o .libs/lqt_faac.o $CONTRIB/lib/libfaac.a ../../src/.libs/libquicktime.a -L$CONTRIB/lib -L$CONTRIB/libquicktime/src/.libs -lm -lz -ldl && " ;
+ POST_LibQT += "cp .libs/lqt_faac.so $CONTRIB/lib/libquicktime && " ;
+ POST_LibQT += "cd ../audiocodec && gcc -flat_namespace -undefined suppress -o .libs/lqt_audiocodec.so -bundle .libs/ima4.o .libs/pcm.o .libs/lqt_audiocodec.o ../../src/.libs/libquicktime.a -L$CONTRIB/lib -L$CONTRIB/libquicktime/src/.libs -lm -lz -ldl && " ;
+ POST_LibQT += "cp .libs/lqt_audiocodec.so $CONTRIB/lib/libquicktime && " ;
+ POST_LibQT += "cd ../rtjpeg && " ;
+ POST_LibQT += "gcc -flat_namespace -undefined suppress -o .libs/lqt_rtjpeg.so -bundle .libs/rtjpeg_codec.o .libs/lqt_rtjpeg.o .libs/RTjpeg.o ../../src/.libs/libquicktime.a -L$CONTRIB/lib -L$CONTRIB/libquicktime/src/.libs -lm -lz -ldl && " ;
+ POST_LibQT += "cp .libs/lqt_rtjpeg.so $CONTRIB/lib/libquicktime && " ;
+ POST_LibQT += "cd ../videocodec && " ;
+ POST_LibQT += "gcc -flat_namespace -undefined suppress -o .libs/lqt_videocodec.so -bundle .libs/raw.o .libs/v210.o .libs/v308.o .libs/v408.o .libs/v410.o .libs/yuv2.o .libs/yuv4.o .libs/yv12.o .libs/lqt_videocodec.o ../../src/.libs/libquicktime.a -L$CONTRIB/lib -L$CONTRIB/libquicktime/src/.libs -lm -lz -ldl && " ;
+ POST_LibQT += "cp .libs/lqt_videocodec.so $CONTRIB/lib/libquicktime && " ;
+ POST_LibQT += "cd ../lame && " ;
+ POST_LibQT += "gcc -flat_namespace -undefined suppress -o .libs/lqt_lame.so -bundle .libs/lame_codec.o .libs/lqt_lame.o ../../src/.libs/libquicktime.a -all_load $CONTRIB/lib/libmp3lame.a -L$CONTRIB/lib -L$CONTRIB/libquicktime/src/.libs -lm -lz -ldl && " ;
+ POST_LibQT += "cp .libs/lqt_lame.so $CONTRIB/lib/libquicktime && cd ../x264 && " ;
+ POST_LibQT += "gcc -flat_namespace -undefined suppress -read_only_relocs suppress -o .libs/lqt_x264.so -bundle .libs/x264.o .libs/lqt_x264.o ../../src/.libs/libquicktime.a $CONTRIB/lib/libx264.a -L$CONTRIB/lib -L$CONTRIB/libquicktime/src/.libs -lm -lz -ldl && " ;
+ POST_LibQT += "cp .libs/lqt_x264.so $CONTRIB/lib/libquicktime && cd ../ffmpeg && " ;
+ POST_LibQT += "gcc -flat_namespace -undefined suppress -read_only_relocs suppress -o .libs/lqt_ffmpeg.so -bundle .libs/lqt_ffmpeg.o .libs/audio.o .libs/video.o .libs/params.o ../../src/.libs/libquicktime.a $CONTRIB/lib/libavcodec.a $CONTRIB/lib/libavutil.a $CONTRIB/lib/libavformat.a -L$CONTRIB/lib -L$CONTRIB/libquicktime/src/.libs -lm -lz -ldl && " ;
+ POST_LibQT += "cp .libs/lqt_ffmpeg.so $CONTRIB/lib/libquicktime && cd ../.. && " ;
+ }
+ else
+ {
+ # Rebuild plugins using static libraries to reduice dependencies at runtime.
+ POST_LibQT = "cd plugins/faac && " ;
+ POST_LibQT += "gcc -shared .libs/faac.o .libs/lqt_faac.o $CONTRIB/libquicktime/src/.libs/libquicktime.a -Wl,--rpath -Wl,$CONTRIB/libquicktime/src/.libs -Wl,--rpath -Wl,$CONTRIB/lib -L$CONTRIB/lib -lpthread -lm -lz -ldl -Wl,-soname -Wl,lqt_faac.so -o .libs/lqt_faac.so && " ;
+ POST_LibQT += "cp .libs/lqt_faac.so $CONTRIB/lib/libquicktime && " ;
+ POST_LibQT += "cd ../audiocodec && gcc -shared .libs/ima4.o .libs/pcm.o .libs/lqt_audiocodec.o ../../src/.libs/libquicktime.a -Wl,--rpath -Wl,$CONTRIB//libquicktime/src/.libs -Wl,--rpath -Wl,$CONTRIB//lib -L$CONTRIB//lib -L$CONTRIB//libquicktime/src/.libs -lpthread -lm -lz -ldl -Wl,-soname -Wl,lqt_audiocodec.so -o .libs/lqt_audiocodec.so && " ;
+ POST_LibQT += "cp .libs/lqt_audiocodec.so $CONTRIB/lib/libquicktime && " ;
+ POST_LibQT += "cd ../rtjpeg && " ;
+ POST_LibQT += "gcc -shared .libs/rtjpeg_codec.o .libs/lqt_rtjpeg.o .libs/RTjpeg.o ../../src/.libs/libquicktime.a -Wl,--rpath -Wl,$CONTRIB/libquicktime/src/.libs -Wl,--rpath -Wl,$CONTRIB/lib -L$CONTRIB/lib -L$CONTRIB/libquicktime/src/.libs -lpthread -lm -lz -ldl -Wl,-soname -Wl,lqt_rtjpeg.so -o .libs/lqt_rtjpeg.so && " ;
+ POST_LibQT += "cp .libs/lqt_rtjpeg.so $CONTRIB/lib/libquicktime && " ;
+ POST_LibQT += "cd ../videocodec && " ;
+ POST_LibQT += "gcc -shared .libs/raw.o .libs/v210.o .libs/v308.o .libs/v408.o .libs/v410.o .libs/yuv2.o .libs/yuv4.o .libs/yv12.o .libs/lqt_videocodec.o ../../src/.libs/libquicktime.a -Wl,--rpath -Wl,$CONTRIB/libquicktime/src/.libs -Wl,--rpath -Wl,$CONTRIB/lib -L$CONTRIB/lib -L$CONTRIB/libquicktime/src/.libs -lpthread -lm -lz -ldl -Wl,-soname -Wl,lqt_videocodec.so -o .libs/lqt_videocodec.so && " ;
+ POST_LibQT += "cp .libs/lqt_videocodec.so $CONTRIB/lib/libquicktime && " ;
+ POST_LibQT += "cd ../lame && " ;
+ POST_LibQT += "gcc -shared .libs/lame_codec.o .libs/lqt_lame.o $CONTRIB/libquicktime/src/.libs/libquicktime.a -Wl,--whole-archive $CONTRIB/lib/libmp3lame.a -Wl,--no-whole-archive -Wl,--rpath -Wl,$CONTRIB/libquicktime/src/.libs -Wl,--rpath -Wl,$CONTRIB/lib -L/home/pri/Desktop/0.8.0b2_5.1_383/contrib/lib -lpthread -lm -lz -ldl -Wl,-soname -Wl,lqt_lame.so -o .libs/lqt_lame.so && " ;
+ POST_LibQT += "cp .libs/lqt_lame.so $CONTRIB/lib/libquicktime && cd ../x264 && " ;
+ POST_LibQT += "gcc -shared .libs/x264.o .libs/lqt_x264.o $CONTRIB/libquicktime/src/.libs/libquicktime.a $CONTRIB/lib/libx264.a -Wl,--rpath -Wl,$CONTRIB/libquicktime/src/.libs -Wl,--rpath -Wl,$CONTRIB/lib -L$CONTRIB/lib -lpthread -lm -lz -ldl -Wl,-soname -Wl,lqt_x264.so -o .libs/lqt_x264.so && " ;
+ POST_LibQT += "cp .libs/lqt_x264.so $CONTRIB/lib/libquicktime && cd ../ffmpeg && " ;
+ POST_LibQT += "gcc -shared .libs/lqt_ffmpeg.o .libs/audio.o .libs/video.o .libs/params.o $CONTRIB/lib/libavcodec.a $CONTRIB/lib/libavutil.a $CONTRIB/lib/libavformat.a $CONTRIB/libquicktime/src/.libs/libquicktime.a -Wl,--rpath -Wl,$CONTRIB/libquicktime/src/.libs -Wl,--rpath -Wl,$CONTRIB/lib -L$CONTRIB/lib -lpthread -lm -lz -ldl -Wl,-soname -Wl,lqt_ffmpeg.so -o .libs/lqt_ffmpeg.so && " ;
+ POST_LibQT += "cp .libs/lqt_ffmpeg.so $CONTRIB/lib/libquicktime && cd ../.. && " ;
+ }
+
+ Depends $(<) : $(>) ;
+ Depends lib : $(<) ;
+ }
+ actions LibQT
+ {
+ cd `dirname $(>)` && CONTRIB=`pwd` &&
+ rm -rf libquicktime && tar xzf libquicktime.tar.gz &&
+ export LDFLAGS="$LDFLAGS -L$CONTRIB/lib -L$CONTRIB/libquicktime/src/.libs -I$CONTRIB/include" && export CPPFLAGS="$CPPFLAGS -I$CONTRIB/include"
+ cd libquicktime && patch -p1 < ../patch-libquicktime.patch &&
+ ./configure --prefix=$CONTRIB --enable-shared --enable-static --enable-gpl --with-faac=$CONTRIB --with-x264=$CONTRIB --with-avcodec=$CONTRIB && make && make install && $(POST_LibQT)
+ strip -S $CONTRIB/lib/libquicktime.a && touch $CONTRIB/.contrib
+ }
+ Wget $(SUBDIR)/libquicktime.tar.gz : $(SUBDIR)/version_qt.txt ;
+ LibQT $(SUBDIR)/lib/libquicktime.a : $(SUBDIR)/libquicktime.tar.gz ;
+
+}
--- /dev/null
+# Contrib Makefile
+
+SYSTEM = $(shell uname -s)
+
+# Special case for Mac OS X: everything is handled from the Xcode project
+ifeq ($(SYSTEM),Darwin)
+
+all:
+ ( echo "MacOs X doesn't use this makefile, to build the contrib please use ../jam" ; false )
+
+endif
+
+ifeq ($(SYSTEM),Linux)
+
+all: .contrib
+
+.contrib:
+ ( cd .. ; ./configure ; cd contrib ; cp -f ../config.jam . ; jam )
+
+clean:
+ ( echo "Do a make mrproper to remove the contrib libraries )
+
+mrproper:
+ (rm -rf lib ; rm -rf include )
+
+endif
+
+ifeq ($(SYSTEM),CYGWIN_NT-5.1)
+
+all: .contrib
+
+.contrib:
+ ( cd .. ; ./configure ; cd contrib ; cp -f ../config.jam . ; jam.exe )
+
+clean:
+ ( echo "Do a make mrproper to remove the contrib libraries )
+
+mrproper: clean
+ (rm -rf lib ; rm -rf include ; rm -f .contrib)
+
+endif
+++ /dev/null
-diff -ru ffmpeg-20060326-bak/libavcodec/i386/dsputil_mmx.c ffmpeg-20060326/libavcodec/i386/dsputil_mmx.c
---- ffmpeg-20060326-bak/libavcodec/i386/dsputil_mmx.c 2006-03-26 22:04:53.000000000 +0200
-+++ ffmpeg-20060326/libavcodec/i386/dsputil_mmx.c 2006-03-26 22:13:32.000000000 +0200
-@@ -52,7 +52,7 @@
- static const uint64_t ff_pb_3F attribute_used __attribute__ ((aligned(8))) = 0x3F3F3F3F3F3F3F3FULL;
- static const uint64_t ff_pb_FC attribute_used __attribute__ ((aligned(8))) = 0xFCFCFCFCFCFCFCFCULL;
-
--#define JUMPALIGN() __asm __volatile (".balign 8"::)
-+#define JUMPALIGN() __asm __volatile (".p2align 3"::)
- #define MOVQ_ZERO(regd) __asm __volatile ("pxor %%" #regd ", %%" #regd ::)
-
- #define MOVQ_WONE(regd) \
-@@ -195,7 +195,7 @@
- asm volatile(
- "mov $-128, %%"REG_a" \n\t"
- "pxor %%mm7, %%mm7 \n\t"
-- ".balign 16 \n\t"
-+ ".p2align 4 \n\t"
- "1: \n\t"
- "movq (%0), %%mm0 \n\t"
- "movq (%0, %2), %%mm2 \n\t"
-@@ -223,7 +223,7 @@
- asm volatile(
- "pxor %%mm7, %%mm7 \n\t"
- "mov $-128, %%"REG_a" \n\t"
-- ".balign 16 \n\t"
-+ ".p2align 4 \n\t"
- "1: \n\t"
- "movq (%0), %%mm0 \n\t"
- "movq (%1), %%mm2 \n\t"
-@@ -366,7 +366,7 @@
- {
- __asm __volatile(
- "lea (%3, %3), %%"REG_a" \n\t"
-- ".balign 8 \n\t"
-+ ".p2align 3 \n\t"
- "1: \n\t"
- "movd (%1), %%mm0 \n\t"
- "movd (%1, %3), %%mm1 \n\t"
-@@ -392,7 +392,7 @@
- {
- __asm __volatile(
- "lea (%3, %3), %%"REG_a" \n\t"
-- ".balign 8 \n\t"
-+ ".p2align 3 \n\t"
- "1: \n\t"
- "movq (%1), %%mm0 \n\t"
- "movq (%1, %3), %%mm1 \n\t"
-@@ -418,7 +418,7 @@
- {
- __asm __volatile(
- "lea (%3, %3), %%"REG_a" \n\t"
-- ".balign 8 \n\t"
-+ ".p2align 3 \n\t"
- "1: \n\t"
- "movq (%1), %%mm0 \n\t"
- "movq 8(%1), %%mm4 \n\t"
-diff -ru ffmpeg-20060326-bak/libavcodec/i386/dsputil_mmx_avg.h ffmpeg-20060326/libavcodec/i386/dsputil_mmx_avg.h
---- ffmpeg-20060326-bak/libavcodec/i386/dsputil_mmx_avg.h 2006-03-26 22:04:53.000000000 +0200
-+++ ffmpeg-20060326/libavcodec/i386/dsputil_mmx_avg.h 2006-03-26 22:13:51.000000000 +0200
-@@ -754,7 +754,7 @@
- "lea (%3, %3), %%"REG_a" \n\t"
- "movq (%1), %%mm0 \n\t"
- PAVGB" 1(%1), %%mm0 \n\t"
-- ".balign 8 \n\t"
-+ ".p2align 3 \n\t"
- "1: \n\t"
- "movq (%1, %%"REG_a"), %%mm2 \n\t"
- "movq (%1, %3), %%mm1 \n\t"
-diff -ru ffmpeg-20060326-bak/libavcodec/i386/dsputil_mmx_rnd.h ffmpeg-20060326/libavcodec/i386/dsputil_mmx_rnd.h
---- ffmpeg-20060326-bak/libavcodec/i386/dsputil_mmx_rnd.h 2006-03-26 22:04:53.000000000 +0200
-+++ ffmpeg-20060326/libavcodec/i386/dsputil_mmx_rnd.h 2006-03-26 22:15:09.000000000 +0200
-@@ -28,7 +28,7 @@
- MOVQ_BFE(mm6);
- __asm __volatile(
- "lea (%3, %3), %%"REG_a" \n\t"
-- ".balign 8 \n\t"
-+ ".p2align 3 \n\t"
- "1: \n\t"
- "movq (%1), %%mm0 \n\t"
- "movq 1(%1), %%mm1 \n\t"
-@@ -69,7 +69,7 @@
- "movq %%mm4, (%3) \n\t"
- "add %5, %3 \n\t"
- "decl %0 \n\t"
-- ".balign 8 \n\t"
-+ ".p2align 3 \n\t"
- "1: \n\t"
- "movq (%1), %%mm0 \n\t"
- "movq (%2), %%mm1 \n\t"
-@@ -110,7 +110,7 @@
- MOVQ_BFE(mm6);
- __asm __volatile(
- "lea (%3, %3), %%"REG_a" \n\t"
-- ".balign 8 \n\t"
-+ ".p2align 3 \n\t"
- "1: \n\t"
- "movq (%1), %%mm0 \n\t"
- "movq 1(%1), %%mm1 \n\t"
-@@ -168,7 +168,7 @@
- "movq %%mm5, 8(%3) \n\t"
- "add %5, %3 \n\t"
- "decl %0 \n\t"
-- ".balign 8 \n\t"
-+ ".p2align 3 \n\t"
- "1: \n\t"
- "movq (%1), %%mm0 \n\t"
- "movq (%2), %%mm1 \n\t"
-@@ -206,7 +206,7 @@
- __asm __volatile(
- "lea (%3, %3), %%"REG_a" \n\t"
- "movq (%1), %%mm0 \n\t"
-- ".balign 8 \n\t"
-+ ".p2align 3 \n\t"
- "1: \n\t"
- "movq (%1, %3), %%mm1 \n\t"
- "movq (%1, %%"REG_a"),%%mm2 \n\t"
-@@ -246,7 +246,7 @@
- "paddusw %%mm1, %%mm5 \n\t"
- "xor %%"REG_a", %%"REG_a" \n\t"
- "add %3, %1 \n\t"
-- ".balign 8 \n\t"
-+ ".p2align 3 \n\t"
- "1: \n\t"
- "movq (%1, %%"REG_a"), %%mm0 \n\t"
- "movq 1(%1, %%"REG_a"), %%mm2 \n\t"
-@@ -458,7 +458,7 @@
- __asm __volatile(
- "lea (%3, %3), %%"REG_a" \n\t"
- "movq (%1), %%mm0 \n\t"
-- ".balign 8 \n\t"
-+ ".p2align 3 \n\t"
- "1: \n\t"
- "movq (%1, %3), %%mm1 \n\t"
- "movq (%1, %%"REG_a"), %%mm2 \n\t"
-@@ -509,7 +509,7 @@
- "paddusw %%mm1, %%mm5 \n\t"
- "xor %%"REG_a", %%"REG_a" \n\t"
- "add %3, %1 \n\t"
-- ".balign 8 \n\t"
-+ ".p2align 3 \n\t"
- "1: \n\t"
- "movq (%1, %%"REG_a"), %%mm0 \n\t"
- "movq 1(%1, %%"REG_a"), %%mm2 \n\t"
-diff -ru ffmpeg-20060326-bak/libavcodec/i386/fdct_mmx.c ffmpeg-20060326/libavcodec/i386/fdct_mmx.c
---- ffmpeg-20060326-bak/libavcodec/i386/fdct_mmx.c 2006-03-26 22:04:53.000000000 +0200
-+++ ffmpeg-20060326/libavcodec/i386/fdct_mmx.c 2006-03-26 22:19:01.000000000 +0200
-@@ -350,61 +350,61 @@
-
- static always_inline void fdct_row_sse2(const int16_t *in, int16_t *out)
- {
-+#define FDCT_ROW_SSE2_H1(i,t) \
-+ "movq " #i "(%0), %%xmm2 \n\t" \
-+ "movq " #i "+8(%0), %%xmm0 \n\t" \
-+ "movdqa " #t "+32(%1), %%xmm3 \n\t" \
-+ "movdqa " #t "+48(%1), %%xmm7 \n\t" \
-+ "movdqa " #t "(%1), %%xmm4 \n\t" \
-+ "movdqa " #t "+16(%1), %%xmm5 \n\t"
-+
-+#define FDCT_ROW_SSE2_H2(i,t) \
-+ "movq " #i "(%0), %%xmm2 \n\t" \
-+ "movq " #i "+8(%0), %%xmm0 \n\t" \
-+ "movdqa " #t "+32(%1), %%xmm3 \n\t" \
-+ "movdqa " #t "+48(%1), %%xmm7 \n\t"
-+
-+#define FDCT_ROW_SSE2(i) \
-+ "movq %%xmm2, %%xmm1 \n\t" \
-+ "pshuflw $27, %%xmm0, %%xmm0 \n\t" \
-+ "paddsw %%xmm0, %%xmm1 \n\t" \
-+ "psubsw %%xmm0, %%xmm2 \n\t" \
-+ "punpckldq %%xmm2, %%xmm1 \n\t" \
-+ "pshufd $78, %%xmm1, %%xmm2 \n\t" \
-+ "pmaddwd %%xmm2, %%xmm3 \n\t" \
-+ "pmaddwd %%xmm1, %%xmm7 \n\t" \
-+ "pmaddwd %%xmm5, %%xmm2 \n\t" \
-+ "pmaddwd %%xmm4, %%xmm1 \n\t" \
-+ "paddd %%xmm7, %%xmm3 \n\t" \
-+ "paddd %%xmm2, %%xmm1 \n\t" \
-+ "paddd %%xmm6, %%xmm3 \n\t" \
-+ "paddd %%xmm6, %%xmm1 \n\t" \
-+ "psrad %3, %%xmm3 \n\t" \
-+ "psrad %3, %%xmm1 \n\t" \
-+ "packssdw %%xmm3, %%xmm1 \n\t" \
-+ "movdqa %%xmm1, " #i "(%4) \n\t"
-+
- asm volatile(
-- ".macro FDCT_ROW_SSE2_H1 i t \n\t"
-- "movq \\i(%0), %%xmm2 \n\t"
-- "movq \\i+8(%0), %%xmm0 \n\t"
-- "movdqa \\t+32(%1), %%xmm3 \n\t"
-- "movdqa \\t+48(%1), %%xmm7 \n\t"
-- "movdqa \\t(%1), %%xmm4 \n\t"
-- "movdqa \\t+16(%1), %%xmm5 \n\t"
-- ".endm \n\t"
-- ".macro FDCT_ROW_SSE2_H2 i t \n\t"
-- "movq \\i(%0), %%xmm2 \n\t"
-- "movq \\i+8(%0), %%xmm0 \n\t"
-- "movdqa \\t+32(%1), %%xmm3 \n\t"
-- "movdqa \\t+48(%1), %%xmm7 \n\t"
-- ".endm \n\t"
-- ".macro FDCT_ROW_SSE2 i \n\t"
-- "movq %%xmm2, %%xmm1 \n\t"
-- "pshuflw $27, %%xmm0, %%xmm0 \n\t"
-- "paddsw %%xmm0, %%xmm1 \n\t"
-- "psubsw %%xmm0, %%xmm2 \n\t"
-- "punpckldq %%xmm2, %%xmm1 \n\t"
-- "pshufd $78, %%xmm1, %%xmm2 \n\t"
-- "pmaddwd %%xmm2, %%xmm3 \n\t"
-- "pmaddwd %%xmm1, %%xmm7 \n\t"
-- "pmaddwd %%xmm5, %%xmm2 \n\t"
-- "pmaddwd %%xmm4, %%xmm1 \n\t"
-- "paddd %%xmm7, %%xmm3 \n\t"
-- "paddd %%xmm2, %%xmm1 \n\t"
-- "paddd %%xmm6, %%xmm3 \n\t"
-- "paddd %%xmm6, %%xmm1 \n\t"
-- "psrad %3, %%xmm3 \n\t"
-- "psrad %3, %%xmm1 \n\t"
-- "packssdw %%xmm3, %%xmm1 \n\t"
-- "movdqa %%xmm1, \\i(%4) \n\t"
-- ".endm \n\t"
- "movdqa (%2), %%xmm6 \n\t"
-- "FDCT_ROW_SSE2_H1 0 0 \n\t"
-- "FDCT_ROW_SSE2 0 \n\t"
-- "FDCT_ROW_SSE2_H2 64 0 \n\t"
-- "FDCT_ROW_SSE2 64 \n\t"
--
-- "FDCT_ROW_SSE2_H1 16 64 \n\t"
-- "FDCT_ROW_SSE2 16 \n\t"
-- "FDCT_ROW_SSE2_H2 112 64 \n\t"
-- "FDCT_ROW_SSE2 112 \n\t"
--
-- "FDCT_ROW_SSE2_H1 32 128 \n\t"
-- "FDCT_ROW_SSE2 32 \n\t"
-- "FDCT_ROW_SSE2_H2 96 128 \n\t"
-- "FDCT_ROW_SSE2 96 \n\t"
--
-- "FDCT_ROW_SSE2_H1 48 192 \n\t"
-- "FDCT_ROW_SSE2 48 \n\t"
-- "FDCT_ROW_SSE2_H2 80 192 \n\t"
-- "FDCT_ROW_SSE2 80 \n\t"
-+ FDCT_ROW_SSE2_H1(0,0)
-+ FDCT_ROW_SSE2(0)
-+ FDCT_ROW_SSE2_H2(64,0)
-+ FDCT_ROW_SSE2(64)
-+
-+ FDCT_ROW_SSE2_H1(16,64)
-+ FDCT_ROW_SSE2(16)
-+ FDCT_ROW_SSE2_H2(112,64)
-+ FDCT_ROW_SSE2(112)
-+
-+ FDCT_ROW_SSE2_H1(32,128)
-+ FDCT_ROW_SSE2(32)
-+ FDCT_ROW_SSE2_H2(96,128)
-+ FDCT_ROW_SSE2(96)
-+
-+ FDCT_ROW_SSE2_H1(48,192)
-+ FDCT_ROW_SSE2(48)
-+ FDCT_ROW_SSE2_H2(80,192)
-+ FDCT_ROW_SSE2(80)
- :
- : "r" (in), "r" (tab_frw_01234567_sse2.tab_frw_01234567_sse2), "r" (fdct_r_row_sse2.fdct_r_row_sse2), "i" (SHIFT_FRW_ROW), "r" (out)
- );
-diff -ru ffmpeg-20060326-bak/libavcodec/i386/idct_mmx_xvid.c ffmpeg-20060326/libavcodec/i386/idct_mmx_xvid.c
---- ffmpeg-20060326-bak/libavcodec/i386/idct_mmx_xvid.c 2006-03-26 22:04:53.000000000 +0200
-+++ ffmpeg-20060326/libavcodec/i386/idct_mmx_xvid.c 2006-03-26 22:20:28.000000000 +0200
-@@ -295,17 +295,17 @@
- "movq 8+" #A1 ",%%mm1 \n\t"/* 1 ; x7 x6 x5 x4*/\
- "movq %%mm0,%%mm2 \n\t"/* 2 ; x3 x2 x1 x0*/\
- "movq " #A3 ",%%mm3 \n\t"/* 3 ; w05 w04 w01 w00*/\
-- "pshufw $0b10001000,%%mm0,%%mm0 \n\t"/* x2 x0 x2 x0*/\
-+ "pshufw $0x88,%%mm0,%%mm0 \n\t"/* x2 x0 x2 x0*/\
- "movq 8+" #A3 ",%%mm4 \n\t"/* 4 ; w07 w06 w03 w02*/\
- "movq %%mm1,%%mm5 \n\t"/* 5 ; x7 x6 x5 x4*/\
- "pmaddwd %%mm0,%%mm3 \n\t"/* x2*w05+x0*w04 x2*w01+x0*w00*/\
- "movq 32+" #A3 ",%%mm6 \n\t"/* 6 ; w21 w20 w17 w16*/\
-- "pshufw $0b10001000,%%mm1,%%mm1 \n\t"/* x6 x4 x6 x4*/\
-+ "pshufw $0x88,%%mm1,%%mm1 \n\t"/* x6 x4 x6 x4*/\
- "pmaddwd %%mm1,%%mm4 \n\t"/* x6*w07+x4*w06 x6*w03+x4*w02*/\
- "movq 40+" #A3 ",%%mm7 \n\t"/* 7 ; w23 w22 w19 w18*/\
-- "pshufw $0b11011101,%%mm2,%%mm2 \n\t"/* x3 x1 x3 x1*/\
-+ "pshufw $0xdd,%%mm2,%%mm2 \n\t"/* x3 x1 x3 x1*/\
- "pmaddwd %%mm2,%%mm6 \n\t"/* x3*w21+x1*w20 x3*w17+x1*w16*/\
-- "pshufw $0b11011101,%%mm5,%%mm5 \n\t"/* x7 x5 x7 x5*/\
-+ "pshufw $0xdd,%%mm5,%%mm5 \n\t"/* x7 x5 x7 x5*/\
- "pmaddwd %%mm5,%%mm7 \n\t"/* x7*w23+x5*w22 x7*w19+x5*w18*/\
- "paddd " #A4 ",%%mm3 \n\t"/* +%4*/\
- "pmaddwd 16+" #A3 ",%%mm0 \n\t"/* x2*w13+x0*w12 x2*w09+x0*w08*/\
-@@ -330,7 +330,7 @@
- "packssdw %%mm0,%%mm3 \n\t"/* 0 ; y3 y2 y1 y0*/\
- "packssdw %%mm4,%%mm7 \n\t"/* 4 ; y6 y7 y4 y5*/\
- "movq %%mm3, " #A2 " \n\t"/* 3 ; save y3 y2 y1 y0*/\
-- "pshufw $0b10110001,%%mm7,%%mm7 \n\t"/* y7 y6 y5 y4*/\
-+ "pshufw $0xb1,%%mm7,%%mm7 \n\t"/* y7 y6 y5 y4*/\
- "movq %%mm7,8 +" #A2 "\n\t"/* 7 ; save y7 y6 y5 y4*/\
-
-
-diff -ru ffmpeg-20060326-bak/libavcodec/i386/motion_est_mmx.c ffmpeg-20060326/libavcodec/i386/motion_est_mmx.c
---- ffmpeg-20060326-bak/libavcodec/i386/motion_est_mmx.c 2006-03-26 22:04:53.000000000 +0200
-+++ ffmpeg-20060326/libavcodec/i386/motion_est_mmx.c 2006-03-26 22:24:48.000000000 +0200
-@@ -34,7 +34,7 @@
- {
- long len= -(stride*h);
- asm volatile(
-- ".balign 16 \n\t"
-+ ".p2align 4 \n\t"
- "1: \n\t"
- "movq (%1, %%"REG_a"), %%mm0 \n\t"
- "movq (%2, %%"REG_a"), %%mm2 \n\t"
-@@ -70,7 +70,7 @@
- {
- long len= -(stride*h);
- asm volatile(
-- ".balign 16 \n\t"
-+ ".p2align 4 \n\t"
- "1: \n\t"
- "movq (%1, %%"REG_a"), %%mm0 \n\t"
- "movq (%2, %%"REG_a"), %%mm2 \n\t"
-@@ -92,7 +92,7 @@
- {
- long len= -(stride*h);
- asm volatile(
-- ".balign 16 \n\t"
-+ ".p2align 4 \n\t"
- "1: \n\t"
- "movq (%1, %%"REG_a"), %%mm0 \n\t"
- "movq (%2, %%"REG_a"), %%mm2 \n\t"
-@@ -118,7 +118,7 @@
- { //FIXME reuse src
- long len= -(stride*h);
- asm volatile(
-- ".balign 16 \n\t"
-+ ".p2align 4 \n\t"
- "movq "MANGLE(bone)", %%mm5 \n\t"
- "1: \n\t"
- "movq (%1, %%"REG_a"), %%mm0 \n\t"
-@@ -155,7 +155,7 @@
- {
- long len= -(stride*h);
- asm volatile(
-- ".balign 16 \n\t"
-+ ".p2align 4 \n\t"
- "1: \n\t"
- "movq (%1, %%"REG_a"), %%mm0 \n\t"
- "movq (%2, %%"REG_a"), %%mm1 \n\t"
-@@ -193,7 +193,7 @@
- {
- long len= -(stride*h);
- asm volatile(
-- ".balign 16 \n\t"
-+ ".p2align 4 \n\t"
- "1: \n\t"
- "movq (%1, %%"REG_a"), %%mm0 \n\t"
- "movq (%2, %%"REG_a"), %%mm1 \n\t"
-diff -ru ffmpeg-20060326-bak/libavcodec/i386/mpegvideo_mmx.c ffmpeg-20060326/libavcodec/i386/mpegvideo_mmx.c
---- ffmpeg-20060326-bak/libavcodec/i386/mpegvideo_mmx.c 2006-03-26 22:04:53.000000000 +0200
-+++ ffmpeg-20060326/libavcodec/i386/mpegvideo_mmx.c 2006-03-26 22:25:09.000000000 +0200
-@@ -66,7 +66,7 @@
- "packssdw %%mm5, %%mm5 \n\t"
- "psubw %%mm5, %%mm7 \n\t"
- "pxor %%mm4, %%mm4 \n\t"
-- ".balign 16 \n\t"
-+ ".p2align 4 \n\t"
- "1: \n\t"
- "movq (%0, %3), %%mm0 \n\t"
- "movq 8(%0, %3), %%mm1 \n\t"
-@@ -129,7 +129,7 @@
- "packssdw %%mm5, %%mm5 \n\t"
- "psubw %%mm5, %%mm7 \n\t"
- "pxor %%mm4, %%mm4 \n\t"
-- ".balign 16 \n\t"
-+ ".p2align 4 \n\t"
- "1: \n\t"
- "movq (%0, %3), %%mm0 \n\t"
- "movq 8(%0, %3), %%mm1 \n\t"
-@@ -222,7 +222,7 @@
- "packssdw %%mm6, %%mm6 \n\t"
- "packssdw %%mm6, %%mm6 \n\t"
- "mov %3, %%"REG_a" \n\t"
-- ".balign 16 \n\t"
-+ ".p2align 4 \n\t"
- "1: \n\t"
- "movq (%0, %%"REG_a"), %%mm0 \n\t"
- "movq 8(%0, %%"REG_a"), %%mm1 \n\t"
-@@ -285,7 +285,7 @@
- "packssdw %%mm6, %%mm6 \n\t"
- "packssdw %%mm6, %%mm6 \n\t"
- "mov %3, %%"REG_a" \n\t"
-- ".balign 16 \n\t"
-+ ".p2align 4 \n\t"
- "1: \n\t"
- "movq (%0, %%"REG_a"), %%mm0 \n\t"
- "movq 8(%0, %%"REG_a"), %%mm1 \n\t"
-@@ -357,7 +357,7 @@
- "packssdw %%mm6, %%mm6 \n\t"
- "packssdw %%mm6, %%mm6 \n\t"
- "mov %3, %%"REG_a" \n\t"
-- ".balign 16 \n\t"
-+ ".p2align 4 \n\t"
- "1: \n\t"
- "movq (%0, %%"REG_a"), %%mm0 \n\t"
- "movq 8(%0, %%"REG_a"), %%mm1 \n\t"
-@@ -418,7 +418,7 @@
- "packssdw %%mm6, %%mm6 \n\t"
- "packssdw %%mm6, %%mm6 \n\t"
- "mov %3, %%"REG_a" \n\t"
-- ".balign 16 \n\t"
-+ ".p2align 4 \n\t"
- "1: \n\t"
- "movq (%0, %%"REG_a"), %%mm0 \n\t"
- "movq 8(%0, %%"REG_a"), %%mm1 \n\t"
-diff -ru ffmpeg-20060326-bak/libavcodec/i386/mpegvideo_mmx_template.c ffmpeg-20060326/libavcodec/i386/mpegvideo_mmx_template.c
---- ffmpeg-20060326-bak/libavcodec/i386/mpegvideo_mmx_template.c 2006-03-26 22:04:53.000000000 +0200
-+++ ffmpeg-20060326/libavcodec/i386/mpegvideo_mmx_template.c 2006-03-26 22:25:33.000000000 +0200
-@@ -111,7 +111,7 @@
- "pxor %%mm6, %%mm6 \n\t"
- "psubw (%3), %%mm6 \n\t" // -bias[0]
- "mov $-128, %%"REG_a" \n\t"
-- ".balign 16 \n\t"
-+ ".p2align 4 \n\t"
- "1: \n\t"
- "pxor %%mm1, %%mm1 \n\t" // 0
- "movq (%1, %%"REG_a"), %%mm0 \n\t" // block[i]
-@@ -155,7 +155,7 @@
- "pxor %%mm7, %%mm7 \n\t" // 0
- "pxor %%mm4, %%mm4 \n\t" // 0
- "mov $-128, %%"REG_a" \n\t"
-- ".balign 16 \n\t"
-+ ".p2align 4 \n\t"
- "1: \n\t"
- "pxor %%mm1, %%mm1 \n\t" // 0
- "movq (%1, %%"REG_a"), %%mm0 \n\t" // block[i]
-diff -ru ffmpeg-20060326-bak/libavcodec/i386/simple_idct_mmx.c ffmpeg-20060326/libavcodec/i386/simple_idct_mmx.c
---- ffmpeg-20060326-bak/libavcodec/i386/simple_idct_mmx.c 2006-03-26 22:04:53.000000000 +0200
-+++ ffmpeg-20060326/libavcodec/i386/simple_idct_mmx.c 2006-03-26 22:39:09.000000000 +0200
-@@ -459,10 +459,10 @@
-
-
- //IDCT( src0, src4, src1, src5, dst, rounder, shift)
--COL_IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0),/nop, 20)
--COL_IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0),/nop, 20)
--COL_IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0),/nop, 20)
--COL_IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0),/nop, 20)
-+COL_IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0), "nop", 20)
-+COL_IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0), "nop", 20)
-+COL_IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0), "nop", 20)
-+COL_IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0), "nop", 20)
-
- #else
-
-@@ -783,10 +783,10 @@
-
-
- //IDCT( src0, src4, src1, src5, dst, rounder, shift)
--IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0),/nop, 20)
--IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0),/nop, 20)
--IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0),/nop, 20)
--IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0),/nop, 20)
-+IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0), "nop", 20)
-+IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0), "nop", 20)
-+IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0), "nop", 20)
-+IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0), "nop", 20)
- "jmp 9f \n\t"
-
- "#.balign 16 \n\t"\
-@@ -860,10 +860,10 @@
- "movd %%mm5, 80+" #dst " \n\t"
-
- //IDCT( src0, src4, src1, src5, dst, rounder, shift)
--IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0),/nop, 20)
--IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0),/nop, 20)
--IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0),/nop, 20)
--IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0),/nop, 20)
-+IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0), "nop", 20)
-+IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0), "nop", 20)
-+IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0), "nop", 20)
-+IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0), "nop", 20)
- "jmp 9f \n\t"
-
- "#.balign 16 \n\t"\
-@@ -928,10 +928,10 @@
-
-
- //IDCT( src0, src4, src1, src5, dst, rounder, shift)
--IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0),/nop, 20)
--IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0),/nop, 20)
--IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0),/nop, 20)
--IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0),/nop, 20)
-+IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0), "nop", 20)
-+IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0), "nop", 20)
-+IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0), "nop", 20)
-+IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0), "nop", 20)
- "jmp 9f \n\t"
-
- "#.balign 16 \n\t"\
-@@ -1007,10 +1007,10 @@
- "movd %%mm5, 80+" #dst " \n\t"
-
- //IDCT( src0, src4, src1, src5, dst, rounder, shift)
--IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0),/nop, 20)
--IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0),/nop, 20)
--IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0),/nop, 20)
--IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0),/nop, 20)
-+IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0), "nop", 20)
-+IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0), "nop", 20)
-+IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0), "nop", 20)
-+IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0), "nop", 20)
- "jmp 9f \n\t"
-
- "#.balign 16 \n\t"\
-@@ -1073,10 +1073,10 @@
-
-
- //IDCT( src0, src4, src1, src5, dst, rounder, shift)
--IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0),/nop, 20)
--IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0),/nop, 20)
--IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0),/nop, 20)
--IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0),/nop, 20)
-+IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0), "nop", 20)
-+IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0), "nop", 20)
-+IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0), "nop", 20)
-+IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0), "nop", 20)
- "jmp 9f \n\t"
-
- "#.balign 16 \n\t"\
-@@ -1141,9 +1141,9 @@
-
-
- //IDCT( src0, src4, src1, src5, dst, rounder, shift)
--IDCT( 0(%1), 64(%1), 32(%1), 96(%1), 0(%0),/nop, 20)
-+IDCT( 0(%1), 64(%1), 32(%1), 96(%1), 0(%0), "nop", 20)
- //IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0),/nop, 20)
--IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0),/nop, 20)
-+IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0), "nop", 20)
- //IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0),/nop, 20)
- "jmp 9f \n\t"
-
-@@ -1217,10 +1217,10 @@
-
-
- //IDCT( src0, src4, src1, src5, dst, rounder, shift)
--IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0),/nop, 20)
--IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0),/nop, 20)
--IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0),/nop, 20)
--IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0),/nop, 20)
-+IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0), "nop", 20)
-+IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0), "nop", 20)
-+IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0), "nop", 20)
-+IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0), "nop", 20)
- "jmp 9f \n\t"
-
-
-@@ -1259,9 +1259,9 @@
- "movq %%mm0, 80+" #dst " \n\t"
-
- //IDCT( src0, src4, src1, src5, dst, rounder, shift)
--IDCT( 0(%1), 64(%1), 32(%1), 96(%1), 0(%0),/nop, 20)
-+IDCT( 0(%1), 64(%1), 32(%1), 96(%1), 0(%0), "nop", 20)
- //IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0),/nop, 20)
--IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0),/nop, 20)
-+IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0), "nop", 20)
- //IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0),/nop, 20)
-
-
+++ /dev/null
---- libdvdread/dvdread/nav_read.c 2005-09-05 22:11:16.000000000 -0400
-+++ libdvdread-patched/dvdread/nav_read.c 2006-09-23 14:14:43.000000000 -0400
-@@ -204,6 +204,6 @@
- /* Asserts */
-
- /* dsi dsi gi */
-- CHECK_VALUE(dsi->dsi_gi.zero1 == 0);
-+// CHECK_VALUE(dsi->dsi_gi.zero1 == 0);
- }
-
--- /dev/null
+diff -Naur libquicktime/configure libquicktime_patched/configure
+--- libquicktime/configure 2006-08-03 01:02:25.000000000 +0200
++++ libquicktime_patched/configure 2007-02-21 16:16:22.000000000 +0100
+@@ -25564,7 +25564,7 @@
+
+
+
+-have_libavcodec=false
++have_libavcodec="true"
+
+ AVCODEC_BUILD="3277056"
+
+@@ -25656,6 +25656,8 @@
+ fi
+ rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ fi
++have_libavcodec="true"
++avcodec_ok="true"
+ CFLAGS="$CFLAGS_save"
+ LIBS="$LIBS_save"
+
+@@ -26048,7 +26050,7 @@
+
+
+
+-have_faac="false"
++have_faac="true"
+ FAAC_REQUIRED="1.24"
+
+
+@@ -26134,6 +26136,7 @@
+
+
+
++have_faac="true"
+
+ if test x$have_faac = xtrue; then
+ HAVE_FAAC_TRUE=
+@@ -26261,7 +26264,7 @@
+
+
+
+-have_x264="false"
++have_x264="true"
+
+ if test $have_gpl = "true"; then
+ X264_REQUIRED="0.48"
+@@ -26321,6 +26324,7 @@
+
+ fi
+
++have_x264="true"
+
+ if test x$have_x264 = xtrue; then
+ HAVE_X264_TRUE=
+diff -Naur libquicktime/plugins/x264/x264.c libquicktime_patched/plugins/x264/x264.c
+--- libquicktime/plugins/x264/x264.c 2006-07-25 13:35:15.000000000 +0200
++++ libquicktime_patched/plugins/x264/x264.c 2007-02-21 16:14:11.000000000 +0100
+@@ -493,7 +493,7 @@
+ {
+ /* Force ABR */
+ codec->params.rc.i_rc_method = X264_RC_ABR;
+- codec->params.rc.i_rf_constant = 0;
++ // codec->params.rc.i_rf_constant = 0;
+ if(codec->pass == 1)
+ {
+ /* Strings will be made private by x264 */
+@@ -655,7 +655,7 @@
+ INTPARAM("x264_i_bitrate", codec->params.rc.i_bitrate);
+
+ INTPARAM("x264_i_qp_constant", codec->params.rc.i_qp_constant);
+- INTPARAM("x264_i_rf_constant", codec->params.rc.i_rf_constant);
++ // INTPARAM("x264_i_rf_constant", codec->params.rc.i_rf_constant);
+ INTPARAM("x264_i_qp_min", codec->params.rc.i_qp_min);
+ INTPARAM("x264_i_qp_max", codec->params.rc.i_qp_max);
+ INTPARAM("x264_i_qp_step", codec->params.rc.i_qp_step);
--- /dev/null
+diff -Naur mpeg4ip/lib/mp4v2/atom_tkhd.cpp mpeg4ip_patched/lib/mp4v2/atom_tkhd.cpp
+--- mpeg4ip/lib/mp4v2/atom_tkhd.cpp 2003-11-19 23:46:11.000000000 +0000
++++ mpeg4ip_patched/lib/mp4v2/atom_tkhd.cpp 2007-02-15 15:58:06.000000000 +0000
+@@ -61,7 +61,8 @@
+ pProp->SetFixed16Format();
+ AddProperty(pProp); /* 8 */
+
+- AddReserved("reserved3", 38); /* 9 */
++ /* patched by maurj to enable us to set the matrix for anamorphic display */
++ AddProperty(new MP4BytesProperty("reserved3", 38)); /* 9 */
+
+ pProp = new MP4Float32Property("width");
+ pProp->SetFixed32Format();
+@@ -106,7 +107,8 @@
+ m_pProperties[9]->SetReadOnly(false);
+ ((MP4BytesProperty*)m_pProperties[9])->
+ SetValue(reserved3, sizeof(reserved3));
+- m_pProperties[9]->SetReadOnly(true);
++ /* patched by maurj to enable us to set the matrix for anamorphic display */
++ /* m_pProperties[9]->SetReadOnly(true);*/
+ }
+
+ void MP4TkhdAtom::Read()
--- /dev/null
+Index: /common/ppc/quant.c
+===================================================================
+--- /common/ppc/quant.c (revision 601)
++++ /common/ppc/quant.c (revision 621)
+@@ -18,8 +18,4 @@
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
+ *****************************************************************************/
+-
+-#ifdef HAVE_ALTIVEC_H
+-#include <altivec.h>
+-#endif
+
+ #include "common/common.h"
+@@ -54,29 +50,29 @@
+ temp2v = vec_xor(temp2v, mskB); \
+ temp1v = vec_adds(temp1v, vec_and(mskA, one)); \
+-vec_st(temp1v, (dct0), dct); \
++vec_st(temp1v, (dct0), (int16_t*)dct); \
+ temp2v = vec_adds(temp2v, vec_and(mskB, one)); \
+-vec_st(temp2v, (dct1), dct);
++vec_st(temp2v, (dct1), (int16_t*)dct);
+
+ void x264_quant_4x4_altivec( int16_t dct[4][4], int quant_mf[4][4], int const i_qbits, int const f ) {
+ vector bool short mskA;
+- vec_s32_t i_qbitsv;
++ vec_u32_t i_qbitsv;
+ vec_u16_t coefvA;
+ vec_u32_t multEvenvA, multOddvA;
+- vec_u32_t mfvA;
++ vec_u16_t mfvA;
+ vec_s16_t zerov, one;
+- vec_s32_t fV;
++ vec_u32_t fV;
+
+ vector bool short mskB;
+ vec_u16_t coefvB;
+ vec_u32_t multEvenvB, multOddvB;
+- vec_u32_t mfvB;
++ vec_u16_t mfvB;
+
+ vec_s16_t temp1v, temp2v;
+
+- vect_sint_u qbits_u;
++ vect_int_u qbits_u;
+ qbits_u.s[0]=i_qbits;
+ i_qbitsv = vec_splat(qbits_u.v, 0);
+
+- vect_sint_u f_u;
++ vect_int_u f_u;
+ f_u.s[0]=f;
+
+@@ -114,16 +110,16 @@
+ temp2v = vec_xor(temp2v, mskB); \
+ temp1v = vec_add(temp1v, vec_and(mskA, one)); \
+-vec_st(temp1v, (dct0), dct); \
++vec_st(temp1v, (dct0), (int16_t*)dct); \
+ temp2v = vec_add(temp2v, vec_and(mskB, one)); \
+-vec_st(temp2v, (dct1), dct);
++vec_st(temp2v, (dct1), (int16_t*)dct);
+
+
+ void x264_quant_4x4_dc_altivec( int16_t dct[4][4], int i_quant_mf, int const i_qbits, int const f ) {
+ vector bool short mskA;
+- vec_s32_t i_qbitsv;
++ vec_u32_t i_qbitsv;
+ vec_u16_t coefvA;
+ vec_u32_t multEvenvA, multOddvA;
+ vec_s16_t zerov, one;
+- vec_s32_t fV;
++ vec_u32_t fV;
+
+ vector bool short mskB;
+@@ -133,15 +129,14 @@
+ vec_s16_t temp1v, temp2v;
+
+- vec_u32_t mfv;
+- vect_int_u mf_u;
++ vec_u16_t mfv;
++ vect_ushort_u mf_u;
+ mf_u.s[0]=i_quant_mf;
+ mfv = vec_splat( mf_u.v, 0 );
+- mfv = vec_packs( mfv, mfv);
+
+- vect_sint_u qbits_u;
++ vect_int_u qbits_u;
+ qbits_u.s[0]=i_qbits;
+ i_qbitsv = vec_splat(qbits_u.v, 0);
+
+- vect_sint_u f_u;
++ vect_int_u f_u;
+ f_u.s[0]=f;
+ fV = vec_splat(f_u.v, 0);
+@@ -156,13 +151,15 @@
+ void x264_quant_8x8_altivec( int16_t dct[8][8], int quant_mf[8][8], int const i_qbits, int const f ) {
+ vector bool short mskA;
+- vec_s32_t i_qbitsv;
++ vec_u32_t i_qbitsv;
+ vec_u16_t coefvA;
+- vec_s32_t multEvenvA, multOddvA, mfvA;
++ vec_u32_t multEvenvA, multOddvA;
++ vec_u16_t mfvA;
+ vec_s16_t zerov, one;
+- vec_s32_t fV;
++ vec_u32_t fV;
+
+ vector bool short mskB;
+ vec_u16_t coefvB;
+- vec_u32_t multEvenvB, multOddvB, mfvB;
++ vec_u32_t multEvenvB, multOddvB;
++ vec_u16_t mfvB;
+
+ vec_s16_t temp1v, temp2v;
+@@ -172,5 +169,5 @@
+ i_qbitsv = vec_splat(qbits_u.v, 0);
+
+- vect_sint_u f_u;
++ vect_int_u f_u;
+ f_u.s[0]=f;
+ fV = vec_splat(f_u.v, 0);
+Index: /common/ppc/dct.c
+===================================================================
+--- /common/ppc/dct.c (revision 604)
++++ /common/ppc/dct.c (revision 621)
+@@ -61,6 +61,6 @@
+ VEC_DCT( dct0v, dct1v, dct2v, dct3v, tmp0v, tmp1v, tmp2v, tmp3v );
+
+- vec_st(vec_perm(tmp0v, tmp1v, permHighv), 0, dct);
+- vec_st(vec_perm(tmp2v, tmp3v, permHighv), 16, dct);
++ vec_st(vec_perm(tmp0v, tmp1v, permHighv), 0, (int16_t*)dct);
++ vec_st(vec_perm(tmp2v, tmp3v, permHighv), 16, (int16_t*)dct);
+ }
+
+@@ -95,12 +95,12 @@
+ VEC_DCT( dct4v, dct5v, dct6v, dct7v, tmp4v, tmp5v, tmp6v, tmp7v );
+
+- vec_st(vec_perm(tmp0v, tmp1v, permHighv), 0, dct);
+- vec_st(vec_perm(tmp2v, tmp3v, permHighv), 16, dct);
+- vec_st(vec_perm(tmp4v, tmp5v, permHighv), 32, dct);
+- vec_st(vec_perm(tmp6v, tmp7v, permHighv), 48, dct);
+- vec_st(vec_perm(tmp0v, tmp1v, permLowv), 64, dct);
+- vec_st(vec_perm(tmp2v, tmp3v, permLowv), 80, dct);
+- vec_st(vec_perm(tmp4v, tmp5v, permLowv), 96, dct);
+- vec_st(vec_perm(tmp6v, tmp7v, permLowv), 112, dct);
++ vec_st(vec_perm(tmp0v, tmp1v, permHighv), 0, (int16_t*)dct);
++ vec_st(vec_perm(tmp2v, tmp3v, permHighv), 16, (int16_t*)dct);
++ vec_st(vec_perm(tmp4v, tmp5v, permHighv), 32, (int16_t*)dct);
++ vec_st(vec_perm(tmp6v, tmp7v, permHighv), 48, (int16_t*)dct);
++ vec_st(vec_perm(tmp0v, tmp1v, permLowv), 64, (int16_t*)dct);
++ vec_st(vec_perm(tmp2v, tmp3v, permLowv), 80, (int16_t*)dct);
++ vec_st(vec_perm(tmp4v, tmp5v, permLowv), 96, (int16_t*)dct);
++ vec_st(vec_perm(tmp6v, tmp7v, permLowv), 112, (int16_t*)dct);
+ }
+
+@@ -312,6 +312,6 @@
+ void x264_add8x8_idct8_altivec( uint8_t *dst, int16_t dct[8][8] )
+ {
+- vec_s16_t onev = vec_splat_s16(1);
+- vec_s16_t twov = vec_splat_s16(2);
++ vec_u16_t onev = vec_splat_s16(1);
++ vec_u16_t twov = vec_splat_s16(2);
+
+ dct[0][0] += 32; // rounding for the >>6 at the end
+@@ -342,5 +342,5 @@
+ vec_u8_t perm_ldv = vec_lvsl(0, dst);
+ vec_u8_t perm_stv = vec_lvsr(8, dst);
+- vec_s16_t sixv = vec_splat_s16(6);
++ vec_u16_t sixv = vec_splat_s16(6);
+ const vec_u8_t sel = (vec_u8_t) CV(0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1);
+ LOAD_ZERO;
+Index: /common/ppc/quant.h
+===================================================================
+--- /common/ppc/quant.h (revision 601)
++++ /common/ppc/quant.h (revision 621)
+@@ -19,4 +19,8 @@
+ *****************************************************************************/
+
++#ifdef SYS_LINUX
++#include <altivec.h>
++#endif
++
+ #ifndef _PPC_QUANT_H
+ #define _PPC_QUANT_H 1
+@@ -28,8 +32,7 @@
+
+ typedef union {
+- signed int s[4];
+- vector signed int v;
+-} vect_sint_u;
+-
++ unsigned short s[8];
++ vector unsigned short v;
++} vect_ushort_u;
+
+ void x264_quant_4x4_altivec( int16_t dct[4][4], int quant_mf[4][4], int const i_qbits, int const f );
-http://download.mediafork.dynalias.com/contrib/a52dec-0.7.4.tar.gz
+http://download.m0k.org/handbrake/contrib/a52dec-0.7.4.tar.gz
-http://download.mediafork.dynalias.com/contrib/faac-1.24.tar.gz
+http://download.m0k.org/handbrake/contrib/faac-1.24.tar.gz
-http://download.mediafork.dynalias.com/contrib/ffmpeg-7444.tar.gz
+http://download.m0k.org/handbrake/contrib/ffmpeg-7444.tar.gz
-http://download.mediafork.dynalias.com/contrib/lame-3.96.1.tar.gz
+http://download.m0k.org/handbrake/contrib/lame-3.96.1.tar.gz
-http://download.mediafork.dynalias.com/contrib/libdvdcss-1.2.9.tar.gz
+http://download.m0k.org/handbrake/contrib/libdvdcss-1.2.9.tar.gz
-http://download.mediafork.dynalias.com/contrib/libdvdread-20050928.tar.gz
+http://download.m0k.org/handbrake/contrib/libdvdread-0.9.7.tar.gz
-http://download.mediafork.dynalias.com/contrib/libogg-1.1.2.tar.gz
+http://download.m0k.org/handbrake/contrib/libogg-1.1.2.tar.gz
-http://download.mediafork.dynalias.com/contrib/libsamplerate-0.1.2.tar.gz
+http://download.m0k.org/handbrake/contrib/libsamplerate-0.1.2.tar.gz
-http://download.mediafork.dynalias.com/contrib/libvorbis-1.1.1.tar.gz
+http://download.m0k.org/handbrake/contrib/libvorbis-1.1.1.tar.gz
-http://download.mediafork.dynalias.com/contrib/mpeg2dec-20051112.tar.gz
+http://download.m0k.org/handbrake/contrib/mpeg2dec-0.4.1.tar.gz
-http://download.mediafork.dynalias.com/contrib/mpeg4ip-1.3.tar.gz
\ No newline at end of file
+http://download.m0k.org/handbrake/contrib/mpeg4ip-1.3.tar.gz
--- /dev/null
+http://download.m0k.org/handbrake/contrib/libquicktime-0.9.10.tar.gz
-http://download.mediafork.dynalias.com/contrib/x264-r604.tar.gz
+http://download.m0k.org/handbrake/contrib/x264-r604.tar.gz
-http://download.mediafork.dynalias.com/contrib/xvidcore-1.1.0.tar.gz
+http://download.m0k.org/handbrake/contrib/xvidcore-1.1.2.tar.gz
--- /dev/null
+http://download.m0k.org/handbrake/contrib/zlib-1.2.3.tar.gz
# Homepage: <http://handbrake.m0k.org/>.
# It may be used under the terms of the GNU General Public License.
-SubDir TOP libmediafork ;
+SubDir TOP libhb ;
-LIBMEDIAFORK_SRC =
-ipodutil.cpp common.c mediafork.c ports.c scan.c work.c decmpeg2.c encavcodec.c update.c
+LIBHB_SRC =
+ipodutil.cpp common.c hb.c ports.c scan.c work.c decmpeg2.c encavcodec.c update.c
demuxmpeg.c fifo.c render.c reader.c muxcommon.c muxmp4.c sync.c
decsub.c deca52.c encfaac.c declpcm.c encx264.c decavcodec.c encxvid.c
muxavi.c enclame.c muxogm.c encvorbis.c dvd.c ;
-Library libmediafork : $(LIBMEDIAFORK_SRC) ;
+Library libhb : $(LIBHB_SRC) ;
-ObjectCcFlags $(LIBMEDIAFORK_SRC) : -I$(TOP)/contrib/include ;
-ObjectDefines $(LIBMEDIAFORK_SRC) : __LIBMEDIAFORK__ ;
-ObjectC++Flags $(LIBMEDIAFORK_SRC) : -I$(TOP)/contrib/include ;
+ObjectCcFlags $(LIBHB_SRC) : -I$(TOP)/contrib/include ;
+ObjectDefines $(LIBHB_SRC) : __LIBHB__ ;
+ObjectC++Flags $(LIBHB_SRC) : -I$(TOP)/contrib/include ;
-SYSTEM = $(shell uname -s)
+include ../Makefile.config
-ifeq ($(SYSTEM),Linux)
- SYSDEF=-DSYS_LINUX
-endif
+SYSTEM = $(shell uname -s)
ifeq ($(SYSTEM),CYGWIN_NT-5.1)
SYSDEF=-DSYS_CYGWIN
endif
ifeq ($(SYSTEM),FreeBSD)
- CFLAGS += -DSYS_FREEBSD
+ SYSDEF = -DSYS_FREEBSD
LDFLAGS += -pthread -lm
endif
ifeq ($(SYSTEM),NetBSD)
- CFLAGS += -DSYS_NETBSD
+ SYSDEF = -DSYS_NETBSD
LDFLAGS += -lpthread -lm
endif
ifeq ($(SYSTEM),Linux)
- CFLAGS += -DSYS_LINUX
- LDFLAGS += -lpthread -lm
+ SYSDEF = -DSYS_LINUX $(HB_DEFPPC)
+ LDFLAGS += -lpthread -lm -ldl
endif
-SRCS = common.c mediafork.c ports.c scan.c work.c decmpeg2.c encavcodec.c \
+SRCS = common.c hb.c ports.c scan.c work.c decmpeg2.c encavcodec.c \
update.c demuxmpeg.c fifo.c render.c reader.c muxcommon.c \
muxmp4.c sync.c decsub.c deca52.c encfaac.c declpcm.c encx264.c \
decavcodec.c encxvid.c muxavi.c enclame.c muxogm.c encvorbis.c \
ifeq ($(SYSTEM),CYGWIN_NT-5.1)
CONTRIBS = ../contrib/lib/liba52.a ../contrib/lib/libavformat.a \
../contrib/lib/libavcodec.a ../contrib/lib/libavutil.a \
- ../contrib/lib/libdvdread.a \
+ ../contrib/lib/libdvdread.a \
../contrib/lib/libfaac.a ../contrib/lib/libmp3lame.a \
../contrib/lib/libmpeg2.a ../contrib/lib/libmpeg2convert.a \
../contrib/lib/libvorbis.a ../contrib/lib/libvorbisenc.a \
../contrib/lib/libsamplerate.a ../contrib/lib/libx264.a \
../contrib/lib/libxvidcore.a ../contrib/lib/libmp4v2.a
endif
-BUILD = $(shell date "+%Y%m%d")00
-CFLAGS += -I../contrib/include -D__LIBMEDIAFORK__ -DUSE_PTHREAD -DHB_VERSION=\"0.8.0b1\" -DHB_BUILD=$(BUILD) $(SYSDEF)
+CFLAGS += -I../contrib/include -D__LIBHB__ -DUSE_PTHREAD -DHB_VERSION=\"$(HB_VERSION)\" -DHB_BUILD=$(HB_BUILD) $(SYSDEF)
-CXXFLAGS += -I../contrib/include -D__LIBMEDIAFORK__ -DUSE_PTHREAD -DHB_VERSION=\"0.8.0b1\" -DHB_BUILD=$(BUILD) $(SYSDEF)
+CXXFLAGS += -I../contrib/include -D__LIBHB__ -DUSE_PTHREAD -DHB_VERSION=\"$(HB_VERSION)\" -DHB_BUILD=$(HB_BUILD) $(SYSDEF)
ifeq ($(SYSTEM),CYGWIN_NT-5.1)
-all: libmediafork.a libmediafork.dll
+all: libhb.a libhb.dll
else
-all: libmediafork.a libmediafork.so
+all: libhb.a libhb.so
+
endif
-libmediafork.a: $(OBJS)
+libhb.a: $(OBJS)
@echo "Library $@"
@ar ru $@ $(OBJS)
@ranlib $@
-libmediafork.so: $(OBJS)
+libhb.so: $(OBJS)
@echo "Shared library $@"
@g++ -o $@ $(OBJS) $(CONTRIBS) -shared $(CFLAGS) || \
( echo "Compile line for $@ was:"; echo $$CMD; false )
-libmediafork.dll: $(OBJS)
+libhb.dll: $(OBJS)
@echo "Shared library $@"
@g++ -o $@ $(OBJS) $(CONTRIBS) -shared $(CFLAGS) || \
( echo "Compile line for $@ was:"; echo $$CMD; false )
%.o: %.c
@echo "Cc $@"
+ echo $(CC) $(CFLAGS)
@CMD="$(CC) $(CFLAGS) -o $@ -c $<"; $$CMD || \
( echo "Compile line for $@ was:"; echo $$CMD; false )
+
%.o: %.cpp
@echo "Cc $@"
@CMD="$(CC) $(CFLAGS) -o $@ -c $<"; $$CMD || \
clean:
- @echo "Clean libmediafork.a"
- @$(RM) libmediafork.*
- @echo "Clean libmediafork.so"
- @$(RM) libmediafork.so
+ @echo "Clean libhb.a"
+ @$(RM) libhb.*
+ @echo "Clean libhb.so"
+ @$(RM) libhb.so
@echo "Clean $(OBJS)"
@$(RM) $(OBJS)
typedef struct hb_lock_s hb_lock_t;
#include "ports.h"
-#ifdef __LIBMEDIAFORK__
+#ifdef __LIBHB__
#include "internal.h"
#endif
keep_ratio: used by UIs
pixel_ratio: store pixel aspect ratio in the video
pixel_aspect_width: numerator for pixel aspect ratio
- pixel_aspect_height: denominator for pixel aspect ratio */
+ pixel_aspect_height: denominator for pixel aspect ratio
+ maxWidth: keep width below this
+ maxHeight: keep height below this */
int crop[4];
int deinterlace;
int pixel_ratio;
int pixel_aspect_width;
int pixel_aspect_height;
+ int maxWidth;
+ int maxHeight;
+
/* Video settings:
vcodec: output codec
if < 0.0 or > 1.0, bitrate is used instead
vbitrate: output bitrate (kbps)
pass: 0, 1 or 2
- vrate, vrate_base: output framerate is vrate / vrate_base */
+ vrate, vrate_base: output framerate is vrate / vrate_base
+ h264_level: boolean for whether or not we're encoding for iPod
+ crf: boolean for whether to use constant rate factor with x264
+ x264opts: string of extra x264 options
+ areBframes: boolean to note if b-frames are included in x264opts */
#define HB_VCODEC_MASK 0x0000FF
#define HB_VCODEC_FFMPEG 0x000001
#define HB_VCODEC_XVID 0x000002
int h264_13;
int h264_level;
int crf;
+ const char *x264opts;
+ int areBframes;
/* Audio tracks:
- Indexes in hb_title_t's audios list, starting from 0.
- -1 indicates the end of the list */
+ audios: Indexes in hb_title_t's audios list, starting from 0.
+ -1 indicates the end of the list
+ channels: The # of normal channels in the last used audio
+ lfechannels: The # of lfe channels in the last used audio
+ channelsused: The # of channels we will actually use for this job -
+ calculated based on surround, channels and lfechannels
+ in work.c
+ ac3flags: stores the flags from the AC3 source, as found in scan.c
+ surround: 1 if 5.1 should be preserved for AAC, 0 otherwise */
int audios[8];
+ int channels;
+ int lfechannels;
+ int channelsused;
+ int ac3flags;
+ int surround;
/* Audio settings:
acodec: output codec
int mux;
char * file;
-#ifdef __LIBMEDIAFORK__
+#ifdef __LIBHB__
/* Internal data */
hb_handle_t * h;
hb_lock_t * pause;
int codec;
int rate;
int bitrate;
+ /* indicates the number of normal channels the source audio has */
int channels;
+ /* indicates the number of lfe channels the source audio has */
+ int lfechannels;
+ /* stores the flags from the AC3 source, as found in scan.c */
+ int ac3flags;
-#ifdef __LIBMEDIAFORK__
+#ifdef __LIBHB__
/* Internal data */
hb_fifo_t * fifo_in; /* AC3/MPEG/LPCM ES */
hb_fifo_t * fifo_raw; /* Raw audio */
int id;
char lang[1024];
-#ifdef __LIBMEDIAFORK__
+#ifdef __LIBHB__
/* Internal data */
hb_fifo_t * fifo_in; /* SPU ES */
hb_fifo_t * fifo_raw; /* Decodec SPU */
int id;
char * name;
-#ifdef __LIBMEDIAFORK__
+#ifdef __LIBHB__
int (* init) ( hb_work_object_t *, hb_job_t * );
int (* work) ( hb_work_object_t *, hb_buffer_t **,
hb_buffer_t ** );
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "mediafork.h"
+#include "hb.h"
#include "a52dec/a52.h"
uint8_t frame[3840];
hb_list_t * list;
+
+ int channelsused;
+
};
int deca52Init( hb_work_object_t *, hb_job_t * );
pv->list = hb_list_init();
pv->state = a52_init( 0 );
- pv->flags_out = A52_STEREO;
+
+ /* Decide what format we want out of a52dec
+ work.c has already done some of this deduction for us in do_job() */
+
+ if (job->channelsused == 6) {
+ /* we're going to be encoding to AAC,
+ and have turned on the "preserve 5.1" flag */
+ pv->flags_out = A52_3F2R | A52_LFE;
+ } else if (job->channelsused == 1) {
+ /* we're going to be encoding to AAC, */
+ /* and want to keep the mono-ness of the source audio */
+ pv->flags_out = A52_MONO;
+ } else if (job->channelsused == 2 && job->channels == 5 && job->lfechannels == 1) {
+ /* we are mixing a 5.1 source down to stereo, so use dolby surround */
+ pv->flags_out = A52_DOLBY;
+ } else if (job->channelsused == 2 && ((job->ac3flags & A52_CHANNEL_MASK) == A52_DOLBY)) {
+ /* we have a dolby stereo surround source, so preserve it */
+ pv->flags_out = A52_DOLBY;
+ } else {
+ /* mix everything else down to plain stereo */
+ pv->flags_out = A52_STEREO;
+ }
+
+ /* pass the number of channels used into the private work data */
+ pv->channelsused = job->channelsused;
+
pv->level = 32768.0;
return 0;
{
hb_work_private_t * pv = w->private_data;
hb_buffer_t * buf;
- int i, j;
+ int i, j, k;
uint64_t pts;
int pos;
/* Feed liba52 */
a52_frame( pv->state, pv->frame, &pv->flags_out, &pv->level, 0 );
- /* 6 blocks per frame, 256 samples per block, 2 channels */
- buf = hb_buffer_init( 3072 * sizeof( float ) );
+ /* 6 blocks per frame, 256 samples per block, channelsused channels */
+ buf = hb_buffer_init( 6 * 256 * pv->channelsused * sizeof( float ) );
buf->start = pts + ( pos / pv->size ) * 6 * 256 * 90000 / pv->rate;
buf->stop = buf->start + 6 * 256 * 90000 / pv->rate;
a52_block( pv->state );
samples_in = a52_samples( pv->state );
- samples_out = ((float *) buf->data) + 512 * i;
+ samples_out = ((float *) buf->data) + 256 * pv->channelsused * i;
/* Interleave */
for( j = 0; j < 256; j++ )
{
- samples_out[2*j] = samples_in[j];
- samples_out[2*j+1] = samples_in[256+j];
+ for ( k = 0; k < pv->channelsused; k++ )
+ {
+ samples_out[(pv->channelsused*j)+k] = samples_in[(256*k)+j]; // DJA
+ }
}
}
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "mediafork.h"
+#include "hb.h"
#include "ffmpeg/avcodec.h"
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "mediafork.h"
+#include "hb.h"
int declpcmInit( hb_work_object_t *, hb_job_t * );
int declpcmWork( hb_work_object_t *, hb_buffer_t **, hb_buffer_t ** );
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "mediafork.h"
+#include "hb.h"
#include "mpeg2dec/mpeg2.h"
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "mediafork.h"
+#include "hb.h"
struct hb_work_private_s
{
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "mediafork.h"
+#include "hb.h"
/* Basic MPEG demuxer, only works with DVDs (2048 bytes packets) */
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "mediafork.h"
+#include "hb.h"
#include "lang.h"
#include "dvdread/ifo_read.h"
return 1;
}
+
+/***********************************************************************
+ * is_nav_pack
+ ***********************************************************************
+ * Pretty much directly lifted from libdvdread's play_title function.
+ **********************************************************************/
+int is_nav_pack( unsigned char *buf )
+{
+ return ( buf[41] == 0xbf && buf[1027] == 0xbf );
+}
+
+
/***********************************************************************
* hb_dvd_read
***********************************************************************
return 0;
}
+ if ( !is_nav_pack( b->data ) ) {
+ (d->next_vobu)++;
+ continue;
+ }
+
navRead_DSI( &dsi_pack, &b->data[DSI_START_BYTE] );
block = dsi_pack.dsi_gi.nv_pck_lbn;
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "mediafork.h"
+#include "hb.h"
#include "ffmpeg/avcodec.h"
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "mediafork.h"
+#include "hb.h"
#include "faac.h"
hb_list_t * list;
int64_t pts;
+
+ int channelsused;
+
};
int encfaacInit( hb_work_object_t *, hb_job_t * );
pv->job = job;
- pv->faac = faacEncOpen( job->arate, 2, &pv->input_samples,
+ /* pass the number of channels used into the private work data */
+ pv->channelsused = job->channelsused;
+
+ pv->faac = faacEncOpen( job->arate, job->channelsused, &pv->input_samples,
&pv->output_bytes );
pv->buf = malloc( pv->input_samples * sizeof( float ) );
cfg->mpegVersion = MPEG4;
cfg->aacObjectType = LOW;
cfg->allowMidside = 1;
- cfg->useLfe = 0;
+
+ if (job->channelsused == 6) {
+ /* we are preserving 5.1 audio into 6-channel AAC,
+ so indicate that we have an lfe channel */
+ cfg->useLfe = 1;
+ } else {
+ cfg->useLfe = 0;
+ }
+
cfg->useTns = 0;
cfg->bitRate = job->abitrate * 500; /* Per channel */
cfg->bandWidth = 0;
cfg->outputFormat = 0;
cfg->inputFormat = FAAC_INPUT_FLOAT;
+
+ if (job->channelsused == 6) {
+ /* we are preserving 5.1 audio into 6-channel AAC, and need to
+ re-map the output of deca52 into our own mapping - the mapping
+ below is the default mapping expected by QuickTime */
+ cfg->channel_map[0] = 2;
+ cfg->channel_map[1] = 1;
+ cfg->channel_map[2] = 3;
+ cfg->channel_map[3] = 4;
+ cfg->channel_map[4] = 5;
+ cfg->channel_map[5] = 0;
+ }
+
if( !faacEncSetConfiguration( pv->faac, cfg ) )
{
hb_log( "faacEncSetConfiguration failed" );
&pts, &pos );
buf = hb_buffer_init( pv->output_bytes );
- buf->start = pts + 90000 * pos / 2 / sizeof( float ) / pv->job->arate;
- buf->stop = buf->start + 90000 * pv->input_samples / pv->job->arate / 2;
+ buf->start = pts + 90000 * pos / pv->channelsused / sizeof( float ) / pv->job->arate;
+ buf->stop = buf->start + 90000 * pv->input_samples / pv->job->arate / pv->channelsused;
buf->size = faacEncEncode( pv->faac, (int32_t *) pv->buf,
pv->input_samples, buf->data, pv->output_bytes );
buf->key = 1;
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "mediafork.h"
+#include "hb.h"
#include "lame/lame.h"
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "mediafork.h"
+#include "hb.h"
#include "vorbis/vorbisenc.h"
#include <stdarg.h>
-#include "mediafork.h"
+#include "hb.h"
#include "x264.h"
param.i_fps_num = job->vrate;
param.i_fps_den = job->vrate_base;
param.i_keyint_max = 20 * job->vrate / job->vrate_base;
- param.i_log_level = X264_LOG_NONE;
+ param.i_log_level = X264_LOG_INFO;
if( job->h264_level )
{
param.i_threads = 1;
/* Slightly faster with minimal quality lost */
param.analyse.i_subpel_refine = 4;
+ /* This section passes the string x264opts to libx264 for parsing into parameter names and values.
+
+ The string is set up like this:
+ option1=value1:option2=value 2
+
+ So, you have to iterate through based on the colons, and then put the left side of the equals sign in "name"
+ and the right side into "value." Then you hand those strings off to x264 for interpretation.
+
+ This is all based on the universal x264 option handling Loren Merritt implemented in the Mplayer/Mencoder project.
+ */
+
+ char *x264opts = job->x264opts;
+ if(x264opts != NULL && *x264opts != '\0')
+ {
+ while(*x264opts)
+ {
+ char *name = x264opts;
+ char *value;
+ int ret;
+
+ x264opts += strcspn(x264opts, ":");
+ if(*x264opts)
+ {
+ *x264opts = 0;
+ x264opts++;
+ }
+
+ value = strchr( name, '=' );
+ if(value)
+ {
+ *value = 0;
+ value++;
+ }
+
+ /*
+ When B-frames are enabled, the max frame count increments by 1 (regardless of the number of B-frames).
+ If you don't change the duration of the video track when you mux, libmp4 barfs.
+ So, check if the x264opts are using B-frames, and when they are, set the boolean job->areBframes as true.
+ */
+
+ if (!(strcmp(name, "bframes")))
+ {
+ if (atoi(value) > 0)
+ {
+ job->areBframes = 1;
+ }
+ }
+
+ /* Here's where the strings are passed to libx264 for parsing. */
+ ret = x264_param_parse(¶m, name, value);
+
+ /* Let x264 sanity check the options for us*/
+ if(ret == X264_PARAM_BAD_NAME)
+ printf("x264 options: Unknown suboption %s\n", name);
+ if(ret == X264_PARAM_BAD_VALUE)
+ printf("x264 options: Bad argument %s=%s\n", name, value ? value : "(null)");
+ }
+ }
+
+
if( job->pixel_ratio )
{
param.vui.i_sar_width = job->pixel_aspect_width;
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "mediafork.h"
+#include "hb.h"
#include "xvid.h"
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "mediafork.h"
+#include "hb.h"
#ifndef SYS_DARWIN
#include <malloc.h>
-#include "mediafork.h"
+#include "hb.h"
#include "ffmpeg/avcodec.h"
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "mediafork.h"
+#include "hb.h"
#define AVIF_HASINDEX 0x10
#define AVIIF_KEYFRAME 0x10
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "mediafork.h"
+#include "hb.h"
struct hb_mux_object_s
{
/* libmp4v2 header */
#include "mp4.h"
-#include "mediafork.h"
+#include "hb.h"
void AddIPodUUID(MP4FileHandle, MP4TrackId);
/* Stolen from mp4creator */
MP4SetVideoProfileLevel( m->file, 0x7F );
- mux_data->track = MP4AddH264VideoTrack( m->file, job->arate,
- MP4_INVALID_DURATION, job->width, job->height,
- job->config.h264.sps[1], /* AVCProfileIndication */
- job->config.h264.sps[2], /* profile_compat */
- job->config.h264.sps[3], /* AVCLevelIndication */
- 3 ); /* 4 bytes length before each NAL unit */
+ if (job->areBframes == 1)
+ {
+ hb_log("muxmp4: Adjusting duration for B-frames");
+ mux_data->track = MP4AddH264VideoTrack( m->file, job->arate,
+ MP4_INVALID_DURATION+1, job->width, job->height,
+ job->config.h264.sps[1], /* AVCProfileIndication */
+ job->config.h264.sps[2], /* profile_compat */
+ job->config.h264.sps[3], /* AVCLevelIndication */
+ 3 ); /* 4 bytes length before each NAL unit */
+ }
+ else
+ {
+ hb_log("muxmp4: Using default duration as there are no B-frames");
+ mux_data->track = MP4AddH264VideoTrack( m->file, job->arate,
+ MP4_INVALID_DURATION, job->width, job->height,
+ job->config.h264.sps[1], /* AVCProfileIndication */
+ job->config.h264.sps[2], /* profile_compat */
+ job->config.h264.sps[3], /* AVCLevelIndication */
+ 3 ); /* 4 bytes length before each NAL unit */
+ }
MP4AddH264SequenceParameterSet( m->file, mux_data->track,
job->config.h264.sps, job->config.h264.sps_length );
MP4AddH264PictureParameterSet( m->file, mux_data->track,
job->config.h264.pps, job->config.h264.pps_length );
- if( job->h264_level == 30)
- {
- hb_log("About to add iPod atom");
- AddIPodUUID(m->file, mux_data->track);
- }
+ if( job->h264_level == 30)
+ {
+ hb_log("About to add iPod atom");
+ AddIPodUUID(m->file, mux_data->track);
+ }
+
}
else /* FFmpeg or XviD */
{
job->config.mpeg4.bytes, job->config.mpeg4.length );
}
+ /* apply the anamorphic transformation matrix if needed */
+
+ if( job->pixel_ratio ) {
+
+ uint8_t* val;
+ uint8_t nval[38];
+ uint32_t *ptr32 = (uint32_t*) (nval + 2);
+ uint32_t size;
+
+ MP4GetBytesProperty(m->file, "moov.trak.tkhd.reserved3", &val, &size);
+
+ if (size == 38) {
+
+ memcpy(nval, val, size);
+
+ float width, height;
+ float widthRatio;
+ width = job->pixel_aspect_width;
+ height = job->pixel_aspect_height;
+ widthRatio = (width / height) * 0x10000;
+
+ uint32_t widthRatioInt;
+ widthRatioInt = (uint32_t)widthRatio;
+
+#ifdef WORDS_BIGENDIAN
+ ptr32[0] = widthRatioInt;
+#else
+ /* we need to switch the endianness, as the file format expects big endian */
+ ptr32[0] = ((widthRatioInt & 0x000000FF) << 24) + ((widthRatioInt & 0x0000FF00) << 8) + ((widthRatioInt & 0x00FF0000) >> 8) + ((widthRatioInt & 0xFF000000) >> 24);
+#endif
+
+ if(!MP4SetBytesProperty(m->file, "moov.trak.tkhd.reserved3", nval, size)) {
+ hb_log("Problem setting transform matrix");
+ }
+
+ }
+
+ }
+
+ /* end of transformation matrix */
+
+
for( i = 0; i < hb_list_count( title->list_audio ); i++ )
{
audio = hb_list_item( title->list_audio, i );
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "mediafork.h"
+#include "hb.h"
#include <ogg/ogg.h>
#include <netinet/in.h>
//#endif
-#include "mediafork.h"
+#include "hb.h"
/************************************************************************
* hb_get_date()
void hb_snooze( int delay );
int hb_get_cpu_count();
-#ifdef __LIBMEDIAFORK__
+#ifdef __LIBHB__
/* Everything from now is only used internally and hidden to the UI */
int hb_net_recv( hb_net_t *, char *, int );
void hb_net_close( hb_net_t ** );
-#endif /* __LIBMEDIAFORK__ */
+#endif /* __LIBHB__ */
#endif
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "mediafork.h"
+#include "hb.h"
typedef struct
{
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "mediafork.h"
+#include "hb.h"
#include "ffmpeg/avcodec.h"
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "mediafork.h"
+#include "hb.h"
#include "a52dec/a52.h"
typedef struct
audio->channels = 5;
break;
}
+
+ if (flags & A52_LFE) {
+ audio->lfechannels = 1;
+ } else {
+ audio->lfechannels = 0;
+ }
+
+ /* store the AC3 tags for future reference
+ This enables us to find out if we had a stereo or Dolby source later on */
+ audio->ac3flags = flags;
+
/* XXX */
sprintf( audio->lang + strlen( audio->lang ),
- " (%d ch)", audio->channels );
+ " (%d.%d ch)", audio->channels, audio->lfechannels );
break;
}
}
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "mediafork.h"
+#include "hb.h"
#include "samplerate.h"
#include "ffmpeg/avcodec.h"
/***********************************************************************
* Local prototypes
**********************************************************************/
-static void InitAudio( hb_work_object_t * w, int i );
+static void InitAudio( hb_work_object_t * w, int i, int channelsused );
static int SyncVideo( hb_work_object_t * w );
-static void SyncAudio( hb_work_object_t * w, int i );
+static void SyncAudio( hb_work_object_t * w, int i, int channelsused );
static int NeedSilence( hb_work_object_t * w, hb_audio_t * );
-static void InsertSilence( hb_work_object_t * w, int i );
+static void InsertSilence( hb_work_object_t * w, int i, int channelsused );
static void UpdateState( hb_work_object_t * w );
/***********************************************************************
/* Initialize libsamplerate for every audio track we have */
for( i = 0; i < hb_list_count( title->list_audio ); i++ )
{
- InitAudio( w, i );
+ /* this should really pass in a channelsused value for this audio
+ but for now, it uses the global job value of channelsused */
+ InitAudio( w, i, job->channelsused );
}
/* Get subtitle info, if any */
{
for( i = 0; i < hb_list_count( pv->job->title->list_audio ); i++ )
{
- SyncAudio( w, i );
+ /* this should really pass in a channelsused value for this audio
+ but for now, it uses the global job value of channelsused */
+ SyncAudio( w, i, pv->job->channelsused );
}
}
syncClose
};
-static void InitAudio( hb_work_object_t * w, int i )
+static void InitAudio( hb_work_object_t * w, int i, int channelsused )
{
hb_work_private_t * pv = w->private_data;
hb_job_t * job = pv->job;
{
/* Initialize libsamplerate */
int error;
- sync->state = src_new( SRC_LINEAR, 2, &error );
+ sync->state = src_new( SRC_LINEAR, channelsused, &error );
sync->data.end_of_input = 0;
}
}
***********************************************************************
*
**********************************************************************/
-static void SyncAudio( hb_work_object_t * w, int i )
+static void SyncAudio( hb_work_object_t * w, int i, int channelsused )
{
hb_work_private_t * pv = w->private_data;
hb_job_t * job;
else if( buf->start > pts_expected + 9000 )
{
/* Missing audio, send a frame of silence */
- InsertSilence( w, i );
+ InsertSilence( w, i, channelsused );
continue;
}
int count_in, count_out;
- count_in = buf_raw->size / 2 / sizeof( float );
+ count_in = buf_raw->size / channelsused / sizeof( float );
count_out = ( buf_raw->stop - buf_raw->start ) * job->arate / 90000;
if( buf->start < pts_expected - 1500 )
count_out--;
sync->data.src_ratio = (double) sync->data.output_frames /
(double) sync->data.input_frames;
- buf = hb_buffer_init( sync->data.output_frames * 2 *
+ buf = hb_buffer_init( sync->data.output_frames * channelsused *
sizeof( float ) );
sync->data.data_out = (float *) buf->data;
if( src_process( sync->state, &sync->data ) )
}
hb_buffer_close( &buf_raw );
- buf->size = sync->data.output_frames_gen * 2 * sizeof( float );
+ buf->size = sync->data.output_frames_gen * channelsused * sizeof( float );
/* Set dates for resampled data */
buf->start = start;
if( NeedSilence( w, audio ) )
{
- InsertSilence( w, i );
+ InsertSilence( w, i, channelsused );
}
}
return 0;
}
-static void InsertSilence( hb_work_object_t * w, int i )
+static void InsertSilence( hb_work_object_t * w, int i, int channelsused )
{
hb_work_private_t * pv = w->private_data;
hb_job_t * job;
}
else
{
- buf = hb_buffer_init( 2 * job->arate / 20 *
+ buf = hb_buffer_init( channelsused * job->arate / 20 *
sizeof( float ) );
buf->start = sync->count_frames * 90000 / job->arate;
buf->stop = buf->start + 90000 / 20;
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "mediafork.h"
+#include "hb.h"
#define HB_URL "handbrake.m0k.org"
#define HB_QUERY "GET /LATEST HTTP/1.0\r\nHost: " HB_URL "\r\n\r\n"
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "mediafork.h"
+#include "hb.h"
typedef struct
{
job->height=title->height-job->crop[0]-job->crop[1];
job->width=title->width-job->crop[2]-job->crop[3];
}
- else
- {
- hb_fix_aspect( job, HB_KEEP_WIDTH );
- }
+
+ /* Keep width and height within these boundaries */
+ if (job->maxHeight && (job->height > job->maxHeight) )
+ {
+ job->height = job->maxHeight;
+ hb_fix_aspect( job, HB_KEEP_HEIGHT );
+ hb_log("Height out of bounds, scaling down to %i", job->maxHeight);
+ hb_log("New dimensions %i * %i", job->width, job->height);
+ }
+ if (job->maxWidth && (job->width > job->maxWidth) )
+ {
+ job->width = job->maxWidth;
+ hb_fix_aspect( job, HB_KEEP_WIDTH );
+ hb_log("Width out of bounds, scaling down to %i", job->maxWidth);
+ hb_log("New dimensions %i * %i", job->width, job->height);
+ }
+
hb_log( " + %dx%d -> %dx%d, crop %d/%d/%d/%d",
title->width, title->height, job->width, job->height,
job->crop[0], job->crop[1], job->crop[2], job->crop[3] );
w->config = &audio->config;
hb_list_add( job->list_work, w );
}
+
+ /* store this audio's channel counts with the job */
+ /* this should be an array -
+ we just use the last channel count for now */
+
+ /* we will only end up with a channelsused value other than 2
+ if we are encoding to AAC. All other audio encodings will get
+ a stereo mix. */
+
+ if (audio->channels == 5 && audio->lfechannels == 1) {
+ /* we have a 5.1 AC-3 source soundtrack */
+ if (job->acodec == HB_ACODEC_FAAC && job->surround) {
+ /* we're going to be encoding to AAC,
+ and have turned on the "preserve 5.1" flag */
+ job->channelsused = 6;
+ } else {
+ /* mix 5.1 down to Dolby Digital (2-channel) for
+ non-AAC audio, or for AAC without 5.1 preservation */
+ job->channelsused = 2;
+ }
+ } else if (audio->channels == 1 && audio->lfechannels == 0) {
+ /* we have a 1.0 mono AC-3 source soundtrack */
+ if (job->acodec == HB_ACODEC_FAAC) {
+ /* we're going to be encoding to AAC,
+ so mix down to a mono AAC track */
+ job->channelsused = 1;
+ } else {
+ /* mix up the mono track to stereo for non-AAC formats */
+ job->channelsused = 2;
+ }
+ } else {
+ /* mix everything else down to stereo */
+ /* dolby pro-logic will be preserved in deca52.c if necessary
+ by referring to the value of job->ac3flags stored below */
+ job->channelsused = 2;
+ }
+
+ /* remember the actual number of channels and lfe channels */
+ /* again, we are using the last channel's count for now */
+ job->channels = audio->channels;
+ job->lfechannels = audio->lfechannels;
+
+ /* remember the AC3 flags for future reference */
+ /* again, we are using the last channel's flags for now */
+ job->ac3flags = audio->ac3flags;
+
}
/* Init read & write threads */
#include <Cocoa/Cocoa.h>
-#include "mediafork.h"
+#include "hb.h"
#include "ScanController.h"
#include "PictureController.h"
/* Audio box */
IBOutlet NSTextField * fAudLang1Field;
IBOutlet NSPopUpButton * fAudLang1PopUp;
+ IBOutlet NSButton * fAudLang1SurroundCheck;
IBOutlet NSTextField * fAudLang2Field;
IBOutlet NSPopUpButton * fAudLang2PopUp;
IBOutlet NSTextField * fAudRateField;
IBOutlet NSButton * fPauseButton;
IBOutlet NSButton * fRipButton;
+ /* User Preset variables here fPresetNewPicSettingsApply*/
+
+ IBOutlet NSDrawer * fPresetDrawer;
+ IBOutlet NSTextField * fPresetNewName;
+ IBOutlet NSButton * fPresetNewPicSettingsApply;
+ IBOutlet NSTextField * fPresetSelectedDisplay;
+
+ NSString * AppSupportDirectory;
+ NSString * UserPresetsFile;
+ NSString * x264ProfilesFile;
+ NSMutableArray * UserPresets;
+ NSMutableArray * x264Profiles;
+ NSMutableArray *UserPresetssortedArray;
+ NSMutableDictionary * chosenPreset;
+
+
+ IBOutlet NSPanel * fAddPresetPanel;
+ IBOutlet NSTableView * tableView;
+ IBOutlet NSButton * fPresetsAdd;
+ IBOutlet NSButton * fPresetsDelete;
hb_handle_t * fHandle;
- hb_title_t * fTitle;
+ hb_title_t * fTitle;
}
- (void) TranslateStrings;
- (IBAction) FormatPopUpChanged: (id) sender;
- (IBAction) CodecsPopUpChanged: (id) sender;
- (IBAction) EncoderPopUpChanged: (id) sender;
+- (IBAction) Check6ChannelAACExtraction: (id) sender;
+- (IBAction) LanguagePopUpChanged: (id) sender;
+
- (IBAction) BrowseFile: (id) sender;
- (void) BrowseFileDone: (NSSavePanel *) sheet
returnCode: (int) returnCode contextInfo: (void *) contextInfo;
- (IBAction) OpenHomepage: (id) sender;
- (IBAction) OpenForums: (id) sender;
+// Preset Methods Here
+
+- (IBAction) ShowAddPresetPanel: (id) sender;
+- (IBAction) CloseAddPresetPanel: (id) sender;
+- (NSDictionary *)CreatePreset;
+
+- (void) savePreset;
+- (IBAction)addPreset:(id)sender;
+- (IBAction)insertPreset:(id)sender;
+- (IBAction)deletePreset:(id)sender;
+- (IBAction)tableViewSelected:(id)sender;
+// NSTableDataSource methods
+- (int)numberOfRowsInTableView:(NSTableView *)aTableView;
+- (id)tableView:(NSTableView *)aTableView
+ objectValueForTableColumn:(NSTableColumn *)aTableColumn
+ row:(int)rowIndex;
+- (void)tableView:(NSTableView *)aTableView
+ setObjectValue:(id)anObject
+ forTableColumn:(NSTableColumn *)aTableColumn
+ row:(int)rowIndex;
+
+
+
@end
if( ( build = hb_check_update( fHandle, &version ) ) > -1 )
{
/* Update available - tell the user */
- /* TEMPORARILY COMMENT OUT AS UPDATE CHECK IS NOT ACCURATE */
- /*
+
NSBeginInformationalAlertSheet( _( @"Update is available" ),
_( @"Go get it!" ), _( @"Discard" ), NULL, fWindow, self,
@selector( UpdateAlertDone:returnCode:contextInfo: ),
_( @"HandBrake %s (build %d) is now available for download." ),
version, build] );
return;
- */
+
}
/* Show scan panel ASAP */
[self TranslateStrings];
- /* Destination box */
+ /* Init User Presets .plist */
+ /* We declare the default NSFileManager into fileManager */
+ NSFileManager * fileManager = [NSFileManager defaultManager];
+ //presetPrefs = [[NSUserDefaults standardUserDefaults] retain];
+ /* we set the files and support paths here */
+ AppSupportDirectory = @"~/Library/Application Support/HandBrake";
+ AppSupportDirectory = [AppSupportDirectory stringByExpandingTildeInPath];
+
+ UserPresetsFile = @"~/Library/Application Support/HandBrake/UserPresets.plist";
+ UserPresetsFile = [UserPresetsFile stringByExpandingTildeInPath];
+
+ x264ProfilesFile = @"~/Library/Application Support/HandBrake/x264Profiles.plist";
+ x264ProfilesFile = [x264ProfilesFile stringByExpandingTildeInPath];
+ /* We check for the app support directory for media fork */
+ if ([fileManager fileExistsAtPath:AppSupportDirectory] == 0)
+ {
+ // If it doesnt exist yet, we create it here
+ [fileManager createDirectoryAtPath:AppSupportDirectory attributes:nil];
+ }
+ // We check for the presets.plist here
+
+ if ([fileManager fileExistsAtPath:UserPresetsFile] == 0)
+ {
+
+ [fileManager createFileAtPath:UserPresetsFile contents:nil attributes:nil];
+
+ }
+ // We check for the x264profiles.plist here
+
+ if ([fileManager fileExistsAtPath:x264ProfilesFile] == 0)
+ {
+
+ [fileManager createFileAtPath:x264ProfilesFile contents:nil attributes:nil];
+ }
+
+
+ UserPresetsFile = @"~/Library/Application Support/HandBrake/UserPresets.plist";
+ UserPresetsFile = [[UserPresetsFile stringByExpandingTildeInPath]retain];
+
+ UserPresets = [[NSMutableArray alloc] initWithContentsOfFile:UserPresetsFile];
+ if (nil == UserPresets)
+ {
+ UserPresets = [[NSMutableArray alloc] init];
+ }
+ /* Show/Dont Show Presets drawer upon launch based
+ on user preference DefaultPresetsDrawerShow*/
+if ([[NSUserDefaults standardUserDefaults] boolForKey:@"DefaultPresetsDrawerShow"] > 0)
+ {
+ [fPresetDrawer open];
+ }
+
+
+
+ /* Destination box*/
[fDstFormatPopUp removeAllItems];
[fDstFormatPopUp addItemWithTitle: _( @"MP4 file" )];
[fDstFormatPopUp addItemWithTitle: _( @"AVI file" )];
[self EnableUI: NO];
[fPauseButton setEnabled: NO];
[fRipButton setEnabled: NO];
+
+
+
}
+
- (void) TranslateStrings
{
[fSrcDVD1Field setStringValue: _( @"DVD:" )];
/* Use the dvd name in the default output field here
May want to add code to remove blank spaces for some dvd names*/
-
+ /* Check to see if the last destination has been set,use if so, if not, use Desktop */
+ if ([[NSUserDefaults standardUserDefaults] stringForKey:@"LastDestinationDirectory"])
+ {
+ [fDstFile2Field setStringValue: [NSString stringWithFormat:
+ @"%@/%@.mp4", [[NSUserDefaults standardUserDefaults] stringForKey:@"LastDestinationDirectory"],[NSString
+ stringWithUTF8String: title->name]]];
+ }
+ else
+ {
[fDstFile2Field setStringValue: [NSString stringWithFormat:
@"%@/Desktop/%@.mp4", NSHomeDirectory(),[NSString
stringWithUTF8String: title->name]]];
- /* Temporarily comment out to fix title selection*/
+ }
+
+
if (longuestpri < title->hours*60*60 + title->minutes *60 + title->seconds)
{
longuestpri=title->hours*60*60 + title->minutes *60 + title->seconds;
fPicSettingDeinterlaceDsply,fPicLabelSettings,fPicLabelSrc,fPicLabelOutp,
fPicLabelAr,fPicLabelDeinter,fPicLabelSrcX,fPicLabelOutputX,
fPicLabelPAROutp,fPicLabelPAROutputX,fPicSettingPARWidth,fPicSettingPARHeight,
- fPicSettingPARDsply,fPicLabelAnamorphic};
+ fPicSettingPARDsply,fPicLabelAnamorphic,tableView,fPresetsAdd,fPresetsDelete};
for( unsigned i = 0;
i < sizeof( controls ) / sizeof( NSControl * ); i++ )
}
}
[controls[i] setEnabled: b];
- /* Temporarily disable Lang2 until crash is fixed */
- [fAudLang2PopUp setEnabled: NO];
- [fAudLang2Field setEnabled: NO];
-
+
}
+ /* Temporarily disable Lang2 until crash is fixed */
+ [fAudLang2PopUp setEnabled: NO];
+ [fAudLang2Field setEnabled: NO];
+
+ if (b) {
+ /* if we're enabling the interface, check if we should / should't offer 6-channel AAC extraction */
+ [self Check6ChannelAACExtraction: NULL];
+ } else {
+ /* if we're disabling the interface, turn it off */
+ [fAudLang1SurroundCheck setEnabled: NO];
+ }
+
[self VideoMatrixChanged: NULL];
}
if( returnCode == NSOKButton )
{
[fDstFile2Field setStringValue: [sheet filename]];
- [self FormatPopUpChanged: NULL];
+ [self FormatPopUpChanged: NULL];
}
}
Lets Deprecate Baseline Level 1.3*/
job->h264_level = 30;
job->mux = HB_MUX_IPOD;
- /* move sanity check for iPod Encoding here */
+ /* move sanity check for iPod Encoding here */
job->pixel_ratio = 0 ;
}
job->crf = 1;
}
+ /* Sends x264 options to the core library*/
+ job->x264opts = strdup([[[NSUserDefaults standardUserDefaults] stringForKey:@"DefAdvancedx264Flags"] cString]);
+
+
job->h264_13 = [fVidEncoderPopUp indexOfSelectedItem];
}
indexOfSelectedItem]].rate;
job->abitrate = hb_audio_bitrates[[fAudBitratePopUp
indexOfSelectedItem]].rate;
+ /* have we selected that 5.1 should be extracted as AAC? */
+ if (job->acodec == HB_ACODEC_FAAC && [fAudLang1SurroundCheck isEnabled] && [fAudLang1SurroundCheck state] == NSOnState) {
+ job->surround = 1;
+ } else {
+ job->surround = 0;
+ }
+
}
- (IBAction) EnableQueue: (id) sender
- (IBAction) AddToQueue: (id) sender
{
- hb_list_t * list = hb_get_titles( fHandle );
- hb_title_t * title = (hb_title_t *) hb_list_item( list,
- [fSrcTitlePopUp indexOfSelectedItem] );
- hb_job_t * job = title->job;
-
- [self PrepareJob];
-
- /* Destination file */
- job->file = strdup( [[fDstFile2Field stringValue] UTF8String] );
-
- if( [fVidTwoPassCheck state] == NSOnState )
- {
- job->pass = 1;
- hb_add( fHandle, job );
- job->pass = 2;
- hb_add( fHandle, job );
- }
- else
- {
- job->pass = 0;
- hb_add( fHandle, job );
- }
+/* We get the destination directory from the destingation field here */
+ NSString *destinationDirectory = [[fDstFile2Field stringValue] stringByDeletingLastPathComponent];
+ /* We check for a valid destination here */
+ if ([[NSFileManager defaultManager] fileExistsAtPath:destinationDirectory] == 0)
+ {
+ NSRunAlertPanel(@"Warning!", @"This is not a valid destination directory!", @"OK", nil, nil);
+ }
+ else
+ {
+
+ hb_list_t * list = hb_get_titles( fHandle );
+ hb_title_t * title = (hb_title_t *) hb_list_item( list,
+ [fSrcTitlePopUp indexOfSelectedItem] );
+ hb_job_t * job = title->job;
+
+ [self PrepareJob];
+
+ /* Destination file */
+ job->file = strdup( [[fDstFile2Field stringValue] UTF8String] );
+
+ if( [fVidTwoPassCheck state] == NSOnState )
+ {
+ job->pass = 1;
+ hb_add( fHandle, job );
+ job->pass = 2;
+ job->x264opts = strdup([[[NSUserDefaults standardUserDefaults] stringForKey:@"DefAdvancedx264Flags"] cString]);
+ hb_add( fHandle, job );
+ }
+ else
+ {
+ job->pass = 0;
+ hb_add( fHandle, job );
+ }
+
+ [[NSUserDefaults standardUserDefaults] setObject:destinationDirectory forKey:@"LastDestinationDirectory"];
+ }
}
- (IBAction) Rip: (id) sender
{
+
+
/* Rip or Cancel ? */
if( [[fRipButton title] isEqualToString: _( @"Cancel" )] )
{
if( [fQueueCheck state] == NSOffState )
{
- [self AddToQueue: sender];
+
+ [self AddToQueue: sender];
+
+
+
}
- if( [[NSFileManager defaultManager] fileExistsAtPath:
+ /* We check for duplicate name here */
+ if( [[NSFileManager defaultManager] fileExistsAtPath:
[fDstFile2Field stringValue]] )
{
NSBeginCriticalAlertSheet( _( @"File already exists" ),
[fDstFile2Field stringValue]] );
return;
}
+ /* We get the destination directory from the destingation field here */
+ NSString *destinationDirectory = [[fDstFile2Field stringValue] stringByDeletingLastPathComponent];
+ /* We check for a valid destination here */
+ if ([[NSFileManager defaultManager] fileExistsAtPath:destinationDirectory] == 0)
+ {
+ NSRunAlertPanel(@"Warning!", @"This is not a valid destination directory!", @"OK", nil, nil);
+ }
+ else
+ {
+ [[NSUserDefaults standardUserDefaults] setObject:destinationDirectory forKey:@"LastDestinationDirectory"];
+ [self _Rip];
+ }
+
+
- [self _Rip];
}
- (void) OverwriteAlertDone: (NSWindow *) sheet
hb_start( fHandle );
/* Disable interface */
- [self EnableUI: NO];
+ [self EnableUI: NO];
[fPauseButton setEnabled: NO];
[fRipButton setEnabled: NO];
}
[fAudLang2PopUp selectItemAtIndex: 0];
/* END pri */
+
+ /* changing the title may have changed the audio channels on offer, so */
+ /* check if this change means we should / should't offer 6-channel AAC extraction */
+ [self Check6ChannelAACExtraction: sender];
+
}
- (IBAction) ChapterPopUpChanged: (id) sender
[fDstFile2Field setStringValue: [NSString stringWithFormat:
@"%@.%s", string, ext]];
}
+
+ /* changing the codecs on offer may mean that we are/aren't now offering AAC, so */
+ /* check if this change means we should / should't offer 6-channel AAC extraction */
+ [self Check6ChannelAACExtraction: sender];
+
}
- (IBAction) CodecsPopUpChanged: (id) sender
[fAudBitratePopUp setEnabled: YES];
}
+ /* check if this change means we should / should't offer 6-channel AAC extraction */
+ [self Check6ChannelAACExtraction: sender];
+
[self CalculateBitrate: sender];
+
}
- (IBAction) EncoderPopUpChanged: (id) sender
{
/* Check to see if we need to modify the job pic values based on x264 (iPod) encoder selection */
- if ([fDstFormatPopUp indexOfSelectedItem] == 0 && [fVidEncoderPopUp indexOfSelectedItem] == 1)
+ if ([fDstFormatPopUp indexOfSelectedItem] == 0 && [fDstCodecsPopUp indexOfSelectedItem] == 1 && [fVidEncoderPopUp indexOfSelectedItem] == 1)
{
hb_job_t * job = fTitle->job;
job->pixel_ratio = 0 ;
hb_fix_aspect( job, HB_KEEP_WIDTH );
}
+
+ /* uncheck the "export 5.1 as 6-channel AAC" checkbox if it is checked */
+ [fAudLang1SurroundCheck setState: NSOffState];
+
}
-[self CalculatePictureSizing: sender];
+ [self CalculatePictureSizing: sender];
}
+- (IBAction) Check6ChannelAACExtraction: (id) sender
+{
+
+ /* make sure we have a selected title before continuing */
+ if (fTitle == NULL) return;
+
+ /* get the current title's job into a convenience variable */
+ hb_job_t * job = fTitle->job;
+
+ /* get the current audio tracks */
+ /* this is done in PrepareJob too, but we want them here to check against below */
+ job->audios[0] = [fAudLang1PopUp indexOfSelectedItem] - 1;
+ job->audios[1] = [fAudLang2PopUp indexOfSelectedItem] - 1;
+ job->audios[2] = -1;
+
+ /* now, let's check if any selected audio track has 5.1 sound */
+ hb_audio_t * audio;
+ bool foundfiveoneaudio = false;
+
+ /* find out what the currently-selected audio codec is */
+ int format = [fDstFormatPopUp indexOfSelectedItem];
+ int codecs = [fDstCodecsPopUp indexOfSelectedItem];
+ int acodec = FormatSettings[format][codecs] & HB_ACODEC_MASK;
+
+ /* we only offer the option to extract 5.1 to 6-channel if the selected audio codec is AAC */
+ if (acodec == HB_ACODEC_FAAC) {
+
+ bool doneaudios = false;
+ int thisaudio = 0;
+
+ while (!doneaudios) {
+
+ if (job->audios[thisaudio] == -1) {
+ doneaudios = true;
+ } else {
+ audio = (hb_audio_t *) hb_list_item( fTitle->list_audio, job->audios[thisaudio] );
+ if (audio != NULL) {
+ if (audio->channels == 5 && audio->lfechannels == 1) {
+ foundfiveoneaudio = true;
+ doneaudios = true; /* as it doesn't matter if we find any more! */
+ }
+ }
+ }
+
+ thisaudio++;
+ }
+ }
+
+ /* If we are extracting to AAC, and any of our soundtracks were 5.1, then enable the checkbox */
+ if (foundfiveoneaudio) {
+ [fAudLang1SurroundCheck setEnabled: YES];
+ /* Check default surround sound pref and if it is YES, lets also check the checkbox */
+ if ([[NSUserDefaults standardUserDefaults] boolForKey:@"DefaultSurroundSound"] > 0)
+ {
+ [fAudLang1SurroundCheck setState: NSOnState];
+ }
+ } else {
+ [fAudLang1SurroundCheck setEnabled: NO];
+ /* as well as disabling the checkbox, let's uncheck it if it is checked */
+ [fAudLang1SurroundCheck setState: NSOffState];
+ }
+
+}
+
+
+- (IBAction) LanguagePopUpChanged: (id) sender
+{
+
+ /* selecting a different language may mean we have a different number of channels, so */
+ /* check if this change means we should / should't offer 6-channel AAC extraction */
+ [self Check6ChannelAACExtraction: sender];
+
+ /* see if the new language setting will change the bitrate we need */
+ [self CalculateBitrate: sender];
+
+}
+
+
/* Get and Display Current Pic Settings in main window */
- (IBAction) CalculatePictureSizing: (id) sender
{
[fVidTargetSizeField intValue] )];
}
+- (IBAction) ShowAddPresetPanel: (id) sender
+{
+ /* Show the panel */
+ [NSApp beginSheet: fAddPresetPanel modalForWindow: fWindow
+ modalDelegate: NULL didEndSelector: NULL contextInfo: NULL];
+ [NSApp runModalForWindow: fAddPresetPanel];
+ [NSApp endSheet: fAddPresetPanel];
+ [fAddPresetPanel orderOut: self];
+}
+- (IBAction) CloseAddPresetPanel: (id) sender
+{
+ [NSApp stopModal];
+}
+
+- (IBAction)addPreset:(id)sender
+{
+ [UserPresets addObject:[self CreatePreset]];
+ /* We Sort the Presets Alphabetically by name */
+ NSSortDescriptor * lastNameDescriptor=[[[NSSortDescriptor alloc] initWithKey:@"PresetName"
+ ascending:YES selector:@selector(caseInsensitiveCompare:)] autorelease];
+ NSArray *sortDescriptors=[NSArray arrayWithObject:lastNameDescriptor];
+ NSArray *sortedArray=[UserPresets sortedArrayUsingDescriptors:sortDescriptors];
+ [UserPresets setArray:sortedArray];
+
+ /* We stop the modal window for the new preset */
+ [fPresetNewName setStringValue: @""];
+ [NSApp stopModal];
+ /* We Reload the New Table data for presets */
+ [tableView reloadData];
+ /* We save all of the preset data here */
+ [self savePreset];
+}
+
+- (IBAction)insertPreset:(id)sender
+{
+ int index = [tableView selectedRow];
+ [UserPresets insertObject:[self CreatePreset] atIndex:index];
+ [tableView reloadData];
+ [self savePreset];
+}
+
+- (NSDictionary *)CreatePreset
+{
+ NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
+ /* Get the New Preset Name from the field in the AddPresetPanel */
+ [preset setObject:[fPresetNewName stringValue] forKey:@"PresetName"];
+ /*Get the whether or not to apply pic settings in the AddPresetPanel*/
+ [preset setObject:[NSNumber numberWithInt:[fPresetNewPicSettingsApply state]] forKey:@"UsesPictureSettings"];
+ /* File Format */
+ [preset setObject:[fDstFormatPopUp titleOfSelectedItem] forKey:@"FileFormat"];
+ /* Codecs */
+ [preset setObject:[fDstCodecsPopUp titleOfSelectedItem] forKey:@"FileCodecs"];
+ /* Video encoder */
+ [preset setObject:[fVidEncoderPopUp titleOfSelectedItem] forKey:@"VideoEncoder"];
+ /* Video quality */
+ [preset setObject:[NSNumber numberWithInt:[fVidQualityMatrix selectedRow]] forKey:@"VideoQualityType"];
+ [preset setObject:[fVidTargetSizeField stringValue] forKey:@"VideoTargetSize"];
+ [preset setObject:[fVidBitrateField stringValue] forKey:@"VideoAvgBitrate"];
+ [preset setObject:[NSNumber numberWithFloat:[fVidQualitySlider floatValue]] forKey:@"VideoQualitySlider"];
+
+ /* Video framerate */
+ [preset setObject:[fVidRatePopUp titleOfSelectedItem] forKey:@"VideoFramerate"];
+ /* GrayScale */
+ [preset setObject:[NSNumber numberWithInt:[fVidGrayscaleCheck state]] forKey:@"VideoGrayScale"];
+ /* 2 Pass Encoding */
+ [preset setObject:[NSNumber numberWithInt:[fVidTwoPassCheck state]] forKey:@"VideoTwoPass"];
+
+ /*Picture Settings*/
+ hb_job_t * job = fTitle->job;
+ /* Basic Picture Settings */
+ [preset setObject:[NSNumber numberWithInt:fTitle->job->width] forKey:@"PictureWidth"];
+ [preset setObject:[NSNumber numberWithInt:fTitle->job->height] forKey:@"PictureHeight"];
+ [preset setObject:[NSNumber numberWithInt:fTitle->job->keep_ratio] forKey:@"PictureKeepRatio"];
+ [preset setObject:[NSNumber numberWithInt:fTitle->job->deinterlace] forKey:@"PictureDeinterlace"];
+ [preset setObject:[NSNumber numberWithInt:fTitle->job->pixel_ratio] forKey:@"PicturePAR"];
+ /* Set crop settings here */
+ /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
+ [preset setObject:[NSNumber numberWithInt:job->crop[0]] forKey:@"PictureTopCrop"];
+ [preset setObject:[NSNumber numberWithInt:job->crop[1]] forKey:@"PictureBottomCrop"];
+ [preset setObject:[NSNumber numberWithInt:job->crop[2]] forKey:@"PictureLeftCrop"];
+ [preset setObject:[NSNumber numberWithInt:job->crop[3]] forKey:@"PictureRightCrop"];
+
+ /*Audio*/
+ /* Audio Language One*/
+ [preset setObject:[fAudLang1PopUp titleOfSelectedItem] forKey:@"AudioLang1"];
+ /* Audio Language One Surround Sound Checkbox*/
+ [preset setObject:[NSNumber numberWithInt:[fAudLang1SurroundCheck state]] forKey:@"AudioLang1Surround"];
+ /* Audio Sample Rate*/
+ [preset setObject:[fAudRatePopUp titleOfSelectedItem] forKey:@"AudioSampleRate"];
+ /* Audio Bitrate Rate*/
+ [preset setObject:[fAudBitratePopUp titleOfSelectedItem] forKey:@"AudioBitRate"];
+ /* Subtitles*/
+ [preset setObject:[fSubPopUp titleOfSelectedItem] forKey:@"Subtitles"];
+
+
+ [preset autorelease];
+ return preset;
+
+}
+
+- (IBAction)deletePreset:(id)sender
+{
+ int status;
+ NSEnumerator *enumerator;
+ NSNumber *index;
+ NSMutableArray *tempArray;
+ id tempObject;
+
+ if ( [tableView numberOfSelectedRows] == 0 )
+ return;
+ /* Alert user before deleting preset */
+ /* Comment out for now, tie to user pref eventually */
+ //NSBeep();
+ status = NSRunAlertPanel(@"Warning!", @"Are you sure that you want to delete the selected preset?", @"OK", @"Cancel", nil);
+
+ if ( status == NSAlertDefaultReturn ) {
+ enumerator = [tableView selectedRowEnumerator];
+ tempArray = [NSMutableArray array];
+
+ while ( (index = [enumerator nextObject]) ) {
+ tempObject = [UserPresets objectAtIndex:[index intValue]];
+ [tempArray addObject:tempObject];
+ }
+
+ [UserPresets removeObjectsInArray:tempArray];
+ [tableView reloadData];
+ [self savePreset];
+ }
+}
+- (IBAction)tableViewSelected:(id)sender
+{
+
+ /* we get the chosen preset from the UserPresets array */
+ chosenPreset = [UserPresets objectAtIndex:[sender selectedRow]];
+ /* we set the preset display field in main window here */
+ //[fPresetSelectedDisplay setStringValue: [NSString stringWithFormat: @"%@", [chosenPreset valueForKey:@"PresetName"]]];
+ /* File Format */
+ [fDstFormatPopUp selectItemWithTitle: [NSString stringWithFormat:[chosenPreset valueForKey:@"FileFormat"]]];
+ [self FormatPopUpChanged: NULL];
+ /* Codecs */
+ [fDstCodecsPopUp selectItemWithTitle: [NSString stringWithFormat:[chosenPreset valueForKey:@"FileCodecs"]]];
+ [self CodecsPopUpChanged: NULL];
+ /* Video encoder */
+ [fVidEncoderPopUp selectItemWithTitle: [NSString stringWithFormat:[chosenPreset valueForKey:@"VideoEncoder"]]];
+ /* Lets run through the following functions to get variables set there */
+ [self EncoderPopUpChanged: sender];
+ [self Check6ChannelAACExtraction: sender];
+ [self CalculateBitrate: sender];
+
+ /* Video quality */
+ [fVidQualityMatrix selectCellAtRow:[[chosenPreset objectForKey:@"VideoQualityType"] intValue] column:0];
+
+ [fVidTargetSizeField setStringValue: [NSString stringWithFormat:[chosenPreset valueForKey:@"VideoTargetSize"]]];
+ [fVidBitrateField setStringValue: [NSString stringWithFormat:[chosenPreset valueForKey:@"VideoAvgBitrate"]]];
+
+ [fVidQualitySlider setFloatValue: [[chosenPreset valueForKey:@"VideoQualitySlider"] floatValue]];
+ [self VideoMatrixChanged: sender];
+
+ /* Video framerate */
+ [fVidRatePopUp selectItemWithTitle: [NSString stringWithFormat:[chosenPreset valueForKey:@"VideoFramerate"]]];
+
+ /* GrayScale */
+ [fVidGrayscaleCheck setState:[[chosenPreset objectForKey:@"VideoGrayScale"] intValue]];
+
+ /* 2 Pass Encoding */
+ [fVidTwoPassCheck setState:[[chosenPreset objectForKey:@"VideoTwoPass"] intValue]];
+
+
+ /*Audio*/
+ /* Audio Language One*/
+ [fAudLang1PopUp selectItemWithTitle: [NSString stringWithFormat:[chosenPreset valueForKey:@"AudioLang1"]]];
+ /* Audio Language One Surround Sound Checkbox*/
+ [fAudLang1SurroundCheck setState:[[chosenPreset objectForKey:@"AudioLang1Surround"] intValue]];
+ [self Check6ChannelAACExtraction: sender];
+ /* Audio Sample Rate*/
+ [fAudRatePopUp selectItemWithTitle: [NSString stringWithFormat:[chosenPreset valueForKey:@"AudioSampleRate"]]];
+ /* Audio Bitrate Rate*/
+ [fAudBitratePopUp selectItemWithTitle: [NSString stringWithFormat:[chosenPreset valueForKey:@"AudioBitRate"]]];
+ /*Subtitles*/
+ [fSubPopUp selectItemWithTitle: [NSString stringWithFormat:[chosenPreset valueForKey:@"Subtitles"]]];
+
+ /* Picture Settings */
+ /* Look to see if we apply these here in objectForKey:@"UsesPictureSettings"] */
+ if ([[chosenPreset objectForKey:@"UsesPictureSettings"] intValue] == 1)
+ {
+ hb_job_t * job = fTitle->job;
+ job->width = [[chosenPreset objectForKey:@"PictureWidth"] intValue];
+ job->height = [[chosenPreset objectForKey:@"PictureHeight"] intValue];
+ job->keep_ratio = [[chosenPreset objectForKey:@"PictureKeepRatio"] intValue];
+ if (job->keep_ratio == 1)
+ {
+ hb_fix_aspect( job, HB_KEEP_WIDTH );
+ }
+ job->pixel_ratio = [[chosenPreset objectForKey:@"PicturePAR"] intValue];
+ job->crop[0] = [[chosenPreset objectForKey:@"PictureTopCrop"] intValue];
+ job->crop[1] = [[chosenPreset objectForKey:@"PictureBottomCrop"] intValue];
+ job->crop[2] = [[chosenPreset objectForKey:@"PictureLeftCrop"] intValue];
+ job->crop[3] = [[chosenPreset objectForKey:@"PictureRightCrop"] intValue];
+ [self CalculatePictureSizing: sender];
+ }
+
+ // Deselect the currently selected table //
+ //[tableView deselectRow:[tableView selectedRow]];
+}
+
+- (int)numberOfRowsInTableView:(NSTableView *)aTableView
+{
+ return [UserPresets count];
+}
+
+- (id)tableView:(NSTableView *)aTableView
+ objectValueForTableColumn:(NSTableColumn *)aTableColumn
+ row:(int)rowIndex
+{
+
+
+
+ id theRecord, theValue;
+
+ theRecord = [UserPresets objectAtIndex:rowIndex];
+ theValue = [theRecord objectForKey:[aTableColumn identifier]];
+
+ return theValue;
+}
+
+// NSTableDataSource method that we implement to edit values directly in the table...
+- (void)tableView:(NSTableView *)aTableView
+ setObjectValue:(id)anObject
+ forTableColumn:(NSTableColumn *)aTableColumn
+ row:(int)rowIndex
+{
+ id theRecord;
+
+ theRecord = [UserPresets objectAtIndex:rowIndex];
+ [theRecord setObject:anObject forKey:[aTableColumn identifier]];
+
+ /* We Sort the Presets Alphabetically by name */
+ NSSortDescriptor * lastNameDescriptor=[[[NSSortDescriptor alloc] initWithKey:@"PresetName"
+ ascending:YES selector:@selector(caseInsensitiveCompare:)] autorelease];
+ NSArray *sortDescriptors=[NSArray arrayWithObject:lastNameDescriptor];
+ NSArray *sortedArray=[UserPresets sortedArrayUsingDescriptors:sortDescriptors];
+ [UserPresets setArray:sortedArray];
+ /* We Reload the New Table data for presets */
+ [tableView reloadData];
+ /* We save all of the preset data here */
+ [self savePreset];
+}
+
+
+- (void)savePreset
+{
+ [UserPresets writeToFile:UserPresetsFile atomically:YES];
+
+}
+
+
+
- (void) controlTextDidBeginEditing: (NSNotification *) notification
{
[self CalculateBitrate: NULL];
- (IBAction) OpenHomepage: (id) sender
{
[[NSWorkspace sharedWorkspace] openURL: [NSURL
- URLWithString:@"http://mediafork.dynalias.com/"]];
+ URLWithString:@"http://handbrake.m0k.org/"]];
}
- (IBAction) OpenForums: (id) sender
{
[[NSWorkspace sharedWorkspace] openURL: [NSURL
- URLWithString:@"http://mediafork.dynalias.com/forum/"]];
+ URLWithString:@"http://handbrake.m0k.org/forum/"]];
}
+
+
@end
#include <IOKit/storage/IODVDMedia.h>
#include "DriveDetector.h"
-#include "mediafork.h"
+#include "hb.h"
@interface DriveDetector (Private)
CalculateBitrate = id;
Cancel = id;
ChapterPopUpChanged = id;
+ CloseAddPresetPanel = id;
CodecsPopUpChanged = id;
EnableQueue = id;
EncoderPopUpChanged = id;
FormatPopUpChanged = id;
+ InsertPreset = id;
+ LanguagePopUpChanged = id;
OpenForums = id;
OpenHomepage = id;
Pause = id;
QualitySliderChanged = id;
Rip = id;
+ ShowAddPresetPanel = id;
ShowPicturePanel = id;
ShowQueuePanel = id;
ShowScanPanel = id;
TitlePopUpChanged = id;
VideoMatrixChanged = id;
+ addPreset = id;
+ deletePreset = id;
+ tableViewSelected = id;
};
CLASS = HBController;
LANGUAGE = ObjC;
OUTLETS = {
- fAddToQuButton = NSButton;
+ fAddPresetPanel = NSPanel;
+ fAddToQuButton = NSTableView;
fAudBitrateField = NSTextField;
fAudBitratePopUp = NSPopUpButton;
fAudLang1Field = NSTextField;
fAudLang1PopUp = NSPopUpButton;
+ fAudLang1SurroundCheck = NSButton;
fAudLang2Field = NSTextField;
fAudLang2PopUp = NSPopUpButton;
fAudRateField = NSTextField;
fPictureButton = NSButton;
fPictureController = PictureController;
fPicturePanel = NSPanel;
+ fPresetDrawer = NSDrawer;
+ fPresetNewName = NSTextField;
+ fPresetNewPicSettingsApply = NSButton;
+ fPresetSelectedDisplay = NSTextField;
+ fPresetsAdd = NSButton;
+ fPresetsDelete = NSButton;
fQueueAddButton = NSButton;
fQueueCheck = NSButton;
fQueueController = QueueController;
fVidTargetSizeField = NSTextField;
fVidTwoPassCheck = NSButton;
fWindow = NSWindow;
+ tableView = NSTableView;
};
SUPERCLASS = NSObject;
},
CLASS = PrefsController;
LANGUAGE = ObjC;
OUTLETS = {
+ fDefAdvancedx264FlagsView = NSButton;
+ fDefAudioSurround = NSButton;
fDefCrf = NSButton;
fDefDeinterlace = NSButton;
fDefPicSizeAutoSetipod = NSButton;
fDefPixelRatio = NSButton;
+ fDefPresetDrawerShow = id;
fFileExtItunes = NSButton;
fPanel = NSPanel;
fUpdateCheck = NSButton;
<plist version="1.0">
<dict>
<key>IBDocumentLocation</key>
- <string>74 141 555 411 0 0 1440 878 </string>
+ <string>25 277 630 601 0 0 1440 878 </string>
<key>IBEditorPositions</key>
<dict>
+ <key>1843</key>
+ <string>610 276 220 592 0 0 1440 878 </string>
<key>29</key>
- <string>69 330 258 44 0 0 1440 878 </string>
+ <string>102 834 300 44 0 0 1440 878 </string>
</dict>
<key>IBFramework Version</key>
<string>446.1</string>
</array>
<key>IBOpenObjects</key>
<array>
- <integer>1438</integer>
- <integer>21</integer>
+ <integer>29</integer>
+ <integer>1843</integer>
</array>
<key>IBSystem Version</key>
<string>8L127</string>
/* ExpressController */
#import <Cocoa/Cocoa.h>
-#import "mediafork.h"
+#import "hb.h"
@class DriveDetector;
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleDisplayName</key>
+ <string>HandBrake</string>
+ <key>CFBundleExecutable</key>
+ <string>HandBrake</string>
+ <key>CFBundleGetInfoString</key>
+ <string>0.8.0b1</string>
+ <key>CFBundleIconFile</key>
+ <string>HandBrake</string>
+ <key>CFBundleIdentifier</key>
+ <string>org.m0k.handbrake</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>HandBrake</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string>0.8.0b2</string>
+ <key>CFBundleSignature</key>
+ <string>HB##</string>
+ <key>CFBundleVersion</key>
+ <string>2007022200</string>
+ <key>NSHumanReadableCopyright</key>
+ <string>HandBrake Devs</string>
+ <key>NSMainNibFile</key>
+ <string>MainMenu</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>ActivePerspectiveName</key>
+ <string>Project</string>
+ <key>AllowedModules</key>
+ <array>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXSmartGroupTreeModule</string>
+ <key>Name</key>
+ <string>Groups and Files Outline View</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Name</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCTaskListModule</string>
+ <key>Name</key>
+ <string>Task List</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCDetailModule</string>
+ <key>Name</key>
+ <string>File and Smart Group Detail Viewer</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>1</string>
+ <key>Module</key>
+ <string>PBXBuildResultsModule</string>
+ <key>Name</key>
+ <string>Detailed Build Results Viewer</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>1</string>
+ <key>Module</key>
+ <string>PBXProjectFindModule</string>
+ <key>Name</key>
+ <string>Project Batch Find Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXRunSessionModule</string>
+ <key>Name</key>
+ <string>Run Log</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXBookmarksModule</string>
+ <key>Name</key>
+ <string>Bookmarks Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXClassBrowserModule</string>
+ <key>Name</key>
+ <string>Class Browser</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXCVSModule</string>
+ <key>Name</key>
+ <string>Source Code Control Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXDebugBreakpointsModule</string>
+ <key>Name</key>
+ <string>Debug Breakpoints Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCDockableInspector</string>
+ <key>Name</key>
+ <string>Inspector</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXOpenQuicklyModule</string>
+ <key>Name</key>
+ <string>Open Quickly Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>1</string>
+ <key>Module</key>
+ <string>PBXDebugSessionModule</string>
+ <key>Name</key>
+ <string>Debugger</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>1</string>
+ <key>Module</key>
+ <string>PBXDebugCLIModule</string>
+ <key>Name</key>
+ <string>Debug Console</string>
+ </dict>
+ </array>
+ <key>Description</key>
+ <string>DefaultDescriptionKey</string>
+ <key>DockingSystemVisible</key>
+ <false/>
+ <key>Extension</key>
+ <string>mode1</string>
+ <key>FavBarConfig</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>0DFA5C670B8DD17A0020BC09</string>
+ <key>XCBarModuleItemNames</key>
+ <dict/>
+ <key>XCBarModuleItems</key>
+ <array/>
+ </dict>
+ <key>FirstTimeWindowDisplayed</key>
+ <false/>
+ <key>Identifier</key>
+ <string>com.apple.perspectives.project.mode1</string>
+ <key>MajorVersion</key>
+ <integer>31</integer>
+ <key>MinorVersion</key>
+ <integer>1</integer>
+ <key>Name</key>
+ <string>Default</string>
+ <key>Notifications</key>
+ <array/>
+ <key>OpenEditors</key>
+ <array/>
+ <key>PerspectiveWidths</key>
+ <array>
+ <integer>-1</integer>
+ <integer>-1</integer>
+ </array>
+ <key>Perspectives</key>
+ <array>
+ <dict>
+ <key>ChosenToolbarItems</key>
+ <array>
+ <string>active-target-popup</string>
+ <string>active-buildstyle-popup</string>
+ <string>action</string>
+ <string>NSToolbarFlexibleSpaceItem</string>
+ <string>buildOrClean</string>
+ <string>build-and-runOrDebug</string>
+ <string>com.apple.ide.PBXToolbarStopButton</string>
+ <string>get-info</string>
+ <string>toggle-editor</string>
+ <string>NSToolbarFlexibleSpaceItem</string>
+ <string>com.apple.pbx.toolbar.searchfield</string>
+ </array>
+ <key>ControllerClassBaseName</key>
+ <string></string>
+ <key>IconName</key>
+ <string>WindowOfProjectWithEditor</string>
+ <key>Identifier</key>
+ <string>perspective.project</string>
+ <key>IsVertical</key>
+ <false/>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <true/>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXBottomSmartGroupGIDs</key>
+ <array>
+ <string>1C37FBAC04509CD000000102</string>
+ <string>1C37FAAC04509CD000000102</string>
+ <string>1C08E77C0454961000C914BD</string>
+ <string>1C37FABC05509CD000000102</string>
+ <string>1C37FABC05539CD112110102</string>
+ <string>E2644B35053B69B200211256</string>
+ <string>1C37FABC04509CD000100104</string>
+ <string>1CC0EA4004350EF90044410B</string>
+ <string>1CC0EA4004350EF90041110B</string>
+ </array>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CE0B1FE06471DED0097A5F4</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Files</string>
+ <key>PBXProjectStructureProvided</key>
+ <string>yes</string>
+ <key>PBXSmartGroupTreeModuleColumnData</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
+ <array>
+ <real>186</real>
+ </array>
+ <key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
+ <array>
+ <string>MainColumn</string>
+ </array>
+ </dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
+ <array>
+ <string>29B97314FDCFA39411CA2CEA</string>
+ <string>526FBC940B4CAA310064E04C</string>
+ <string>526FBC8D0B4CA9F90064E04C</string>
+ <string>1C37FBAC04509CD000000102</string>
+ <string>1C37FABC05509CD000000102</string>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
+ <array>
+ <array>
+ <integer>0</integer>
+ </array>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
+ <string>{{0, 0}, {186, 802}}</string>
+ </dict>
+ <key>PBXTopSmartGroupGIDs</key>
+ <array/>
+ <key>XCIncludePerspectivesSwitch</key>
+ <true/>
+ <key>XCSharingToken</key>
+ <string>com.apple.Xcode.GFSharingToken</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {203, 820}}</string>
+ <key>GroupTreeTableConfiguration</key>
+ <array>
+ <string>MainColumn</string>
+ <real>186</real>
+ </array>
+ <key>RubberWindowFrame</key>
+ <string>273 167 1118 861 0 0 1680 1028 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXSmartGroupTreeModule</string>
+ <key>Proportion</key>
+ <string>203pt</string>
+ </dict>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CE0B20306471E060097A5F4</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>MyNewFile14.java</string>
+ <key>PBXSplitModuleInNavigatorKey</key>
+ <dict>
+ <key>Split0</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CE0B20406471E060097A5F4</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>MyNewFile14.java</string>
+ </dict>
+ <key>SplitCount</key>
+ <string>1</string>
+ </dict>
+ <key>StatusBarVisibility</key>
+ <true/>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {910, 0}}</string>
+ <key>RubberWindowFrame</key>
+ <string>273 167 1118 861 0 0 1680 1028 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>0pt</string>
+ </dict>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CE0B20506471E060097A5F4</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Detail</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 5}, {910, 815}}</string>
+ <key>RubberWindowFrame</key>
+ <string>273 167 1118 861 0 0 1680 1028 </string>
+ </dict>
+ <key>Module</key>
+ <string>XCDetailModule</string>
+ <key>Proportion</key>
+ <string>815pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>910pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Project</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCModuleDock</string>
+ <string>PBXSmartGroupTreeModule</string>
+ <string>XCModuleDock</string>
+ <string>PBXNavigatorGroup</string>
+ <string>XCDetailModule</string>
+ </array>
+ <key>TableOfContents</key>
+ <array>
+ <string>0D3065750B9030CE0049CCA4</string>
+ <string>1CE0B1FE06471DED0097A5F4</string>
+ <string>0D3065760B9030CE0049CCA4</string>
+ <string>1CE0B20306471E060097A5F4</string>
+ <string>1CE0B20506471E060097A5F4</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.default</string>
+ </dict>
+ <dict>
+ <key>ControllerClassBaseName</key>
+ <string></string>
+ <key>IconName</key>
+ <string>WindowOfProject</string>
+ <key>Identifier</key>
+ <string>perspective.morph</string>
+ <key>IsVertical</key>
+ <integer>0</integer>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXBottomSmartGroupGIDs</key>
+ <array>
+ <string>1C37FBAC04509CD000000102</string>
+ <string>1C37FAAC04509CD000000102</string>
+ <string>1C08E77C0454961000C914BD</string>
+ <string>1C37FABC05509CD000000102</string>
+ <string>1C37FABC05539CD112110102</string>
+ <string>E2644B35053B69B200211256</string>
+ <string>1C37FABC04509CD000100104</string>
+ <string>1CC0EA4004350EF90044410B</string>
+ <string>1CC0EA4004350EF90041110B</string>
+ </array>
+ <key>PBXProjectModuleGUID</key>
+ <string>11E0B1FE06471DED0097A5F4</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Files</string>
+ <key>PBXProjectStructureProvided</key>
+ <string>yes</string>
+ <key>PBXSmartGroupTreeModuleColumnData</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
+ <array>
+ <real>186</real>
+ </array>
+ <key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
+ <array>
+ <string>MainColumn</string>
+ </array>
+ </dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
+ <array>
+ <string>29B97314FDCFA39411CA2CEA</string>
+ <string>1C37FABC05509CD000000102</string>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
+ <array>
+ <array>
+ <integer>0</integer>
+ </array>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
+ <string>{{0, 0}, {186, 337}}</string>
+ </dict>
+ <key>PBXTopSmartGroupGIDs</key>
+ <array/>
+ <key>XCIncludePerspectivesSwitch</key>
+ <integer>1</integer>
+ <key>XCSharingToken</key>
+ <string>com.apple.Xcode.GFSharingToken</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {203, 355}}</string>
+ <key>GroupTreeTableConfiguration</key>
+ <array>
+ <string>MainColumn</string>
+ <real>186</real>
+ </array>
+ <key>RubberWindowFrame</key>
+ <string>373 269 690 397 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXSmartGroupTreeModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Morph</string>
+ <key>PreferredWidth</key>
+ <integer>300</integer>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCModuleDock</string>
+ <string>PBXSmartGroupTreeModule</string>
+ </array>
+ <key>TableOfContents</key>
+ <array>
+ <string>11E0B1FE06471DED0097A5F4</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.default.short</string>
+ </dict>
+ </array>
+ <key>PerspectivesBarVisible</key>
+ <false/>
+ <key>ShelfIsVisible</key>
+ <false/>
+ <key>SourceDescription</key>
+ <string>file at '/System/Library/PrivateFrameworks/DevToolsInterface.framework/Versions/A/Resources/XCPerspectivesSpecificationMode1.xcperspec'</string>
+ <key>StatusbarIsVisible</key>
+ <true/>
+ <key>TimeStamp</key>
+ <real>0.0</real>
+ <key>ToolbarDisplayMode</key>
+ <integer>1</integer>
+ <key>ToolbarIsVisible</key>
+ <true/>
+ <key>ToolbarSizeMode</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>Perspectives</string>
+ <key>UpdateMessage</key>
+ <string>The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'?</string>
+ <key>WindowJustification</key>
+ <integer>5</integer>
+ <key>WindowOrderList</key>
+ <array>
+ <string>/Users/pri/Desktop/HB/macosx/HandBrake.xcodeproj</string>
+ </array>
+ <key>WindowString</key>
+ <string>273 167 1118 861 0 0 1680 1028 </string>
+ <key>WindowTools</key>
+ <array>
+ <dict>
+ <key>FirstTimeWindowDisplayed</key>
+ <false/>
+ <key>Identifier</key>
+ <string>windowTool.build</string>
+ <key>IsVertical</key>
+ <true/>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <true/>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CD0528F0623707200166675</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>declpcm.c</string>
+ <key>StatusBarVisibility</key>
+ <true/>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {1003, 419}}</string>
+ <key>RubberWindowFrame</key>
+ <string>500 275 1003 701 0 0 1680 1028 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>419pt</string>
+ </dict>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>XCMainBuildResultsModuleGUID</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Build</string>
+ <key>XCBuildResultsTrigger_Collapse</key>
+ <integer>1021</integer>
+ <key>XCBuildResultsTrigger_Open</key>
+ <integer>1011</integer>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 424}, {1003, 236}}</string>
+ <key>RubberWindowFrame</key>
+ <string>500 275 1003 701 0 0 1680 1028 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXBuildResultsModule</string>
+ <key>Proportion</key>
+ <string>236pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>660pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Build Results</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXBuildResultsModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <true/>
+ <key>TableOfContents</key>
+ <array>
+ <string>0DFA5CFA0B8DD7CF0020BC09</string>
+ <string>0DFA5CFB0B8DD7CF0020BC09</string>
+ <string>1CD0528F0623707200166675</string>
+ <string>XCMainBuildResultsModuleGUID</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.build</string>
+ <key>WindowString</key>
+ <string>500 275 1003 701 0 0 1680 1028 </string>
+ <key>WindowToolGUID</key>
+ <string>0DFA5CFA0B8DD7CF0020BC09</string>
+ <key>WindowToolIsVisible</key>
+ <false/>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.debugger</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>Debugger</key>
+ <dict>
+ <key>HorizontalSplitView</key>
+ <dict>
+ <key>_collapsingFrameDimension</key>
+ <real>0.0</real>
+ <key>_indexOfCollapsedView</key>
+ <integer>0</integer>
+ <key>_percentageOfCollapsedView</key>
+ <real>0.0</real>
+ <key>isCollapsed</key>
+ <string>yes</string>
+ <key>sizes</key>
+ <array>
+ <string>{{0, 0}, {317, 164}}</string>
+ <string>{{317, 0}, {377, 164}}</string>
+ </array>
+ </dict>
+ <key>VerticalSplitView</key>
+ <dict>
+ <key>_collapsingFrameDimension</key>
+ <real>0.0</real>
+ <key>_indexOfCollapsedView</key>
+ <integer>0</integer>
+ <key>_percentageOfCollapsedView</key>
+ <real>0.0</real>
+ <key>isCollapsed</key>
+ <string>yes</string>
+ <key>sizes</key>
+ <array>
+ <string>{{0, 0}, {694, 164}}</string>
+ <string>{{0, 164}, {694, 216}}</string>
+ </array>
+ </dict>
+ </dict>
+ <key>LauncherConfigVersion</key>
+ <string>8</string>
+ <key>PBXProjectModuleGUID</key>
+ <string>1C162984064C10D400B95A72</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Debug - GLUTExamples (Underwater)</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>DebugConsoleDrawerSize</key>
+ <string>{100, 120}</string>
+ <key>DebugConsoleVisible</key>
+ <string>None</string>
+ <key>DebugConsoleWindowFrame</key>
+ <string>{{200, 200}, {500, 300}}</string>
+ <key>DebugSTDIOWindowFrame</key>
+ <string>{{200, 200}, {500, 300}}</string>
+ <key>Frame</key>
+ <string>{{0, 0}, {694, 380}}</string>
+ <key>RubberWindowFrame</key>
+ <string>321 238 694 422 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXDebugSessionModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Debugger</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXDebugSessionModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1CD10A99069EF8BA00B06720</string>
+ <string>1C0AD2AB069F1E9B00FABCE6</string>
+ <string>1C162984064C10D400B95A72</string>
+ <string>1C0AD2AC069F1E9B00FABCE6</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.debug</string>
+ <key>WindowString</key>
+ <string>321 238 694 422 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>1CD10A99069EF8BA00B06720</string>
+ <key>WindowToolIsVisible</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.find</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CDD528C0622207200134675</string>
+ <key>PBXProjectModuleLabel</key>
+ <string><No Editor></string>
+ <key>PBXSplitModuleInNavigatorKey</key>
+ <dict>
+ <key>Split0</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CD0528D0623707200166675</string>
+ </dict>
+ <key>SplitCount</key>
+ <string>1</string>
+ </dict>
+ <key>StatusBarVisibility</key>
+ <integer>1</integer>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {781, 167}}</string>
+ <key>RubberWindowFrame</key>
+ <string>62 385 781 470 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>781pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>50%</string>
+ </dict>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CD0528E0623707200166675</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Project Find</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{8, 0}, {773, 254}}</string>
+ <key>RubberWindowFrame</key>
+ <string>62 385 781 470 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXProjectFindModule</string>
+ <key>Proportion</key>
+ <string>50%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>428pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Project Find</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXProjectFindModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1C530D57069F1CE1000CFCEE</string>
+ <string>1C530D58069F1CE1000CFCEE</string>
+ <string>1C530D59069F1CE1000CFCEE</string>
+ <string>1CDD528C0622207200134675</string>
+ <string>1C530D5A069F1CE1000CFCEE</string>
+ <string>1CE0B1FE06471DED0097A5F4</string>
+ <string>1CD0528E0623707200166675</string>
+ </array>
+ <key>WindowString</key>
+ <string>62 385 781 470 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>1C530D57069F1CE1000CFCEE</string>
+ <key>WindowToolIsVisible</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>MENUSEPARATOR</string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.debuggerConsole</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1C78EAAC065D492600B07095</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Debugger Console</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {440, 358}}</string>
+ <key>RubberWindowFrame</key>
+ <string>650 41 440 400 0 0 1280 1002 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXDebugCLIModule</string>
+ <key>Proportion</key>
+ <string>358pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>358pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Debugger Console</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXDebugCLIModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1C78EAAD065D492600B07095</string>
+ <string>1C78EAAE065D492600B07095</string>
+ <string>1C78EAAC065D492600B07095</string>
+ </array>
+ <key>WindowString</key>
+ <string>650 41 440 400 0 0 1280 1002 </string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.run</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>LauncherConfigVersion</key>
+ <string>3</string>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CD0528B0623707200166675</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Run</string>
+ <key>Runner</key>
+ <dict>
+ <key>HorizontalSplitView</key>
+ <dict>
+ <key>_collapsingFrameDimension</key>
+ <real>0.0</real>
+ <key>_indexOfCollapsedView</key>
+ <integer>0</integer>
+ <key>_percentageOfCollapsedView</key>
+ <real>0.0</real>
+ <key>isCollapsed</key>
+ <string>yes</string>
+ <key>sizes</key>
+ <array>
+ <string>{{0, 0}, {493, 167}}</string>
+ <string>{{0, 176}, {493, 267}}</string>
+ </array>
+ </dict>
+ <key>VerticalSplitView</key>
+ <dict>
+ <key>_collapsingFrameDimension</key>
+ <real>0.0</real>
+ <key>_indexOfCollapsedView</key>
+ <integer>0</integer>
+ <key>_percentageOfCollapsedView</key>
+ <real>0.0</real>
+ <key>isCollapsed</key>
+ <string>yes</string>
+ <key>sizes</key>
+ <array>
+ <string>{{0, 0}, {405, 443}}</string>
+ <string>{{414, 0}, {514, 443}}</string>
+ </array>
+ </dict>
+ </dict>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {460, 159}}</string>
+ <key>RubberWindowFrame</key>
+ <string>316 696 459 200 0 0 1280 1002 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXRunSessionModule</string>
+ <key>Proportion</key>
+ <string>159pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>159pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Run Log</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXRunSessionModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1C0AD2B3069F1EA900FABCE6</string>
+ <string>1C0AD2B4069F1EA900FABCE6</string>
+ <string>1CD0528B0623707200166675</string>
+ <string>1C0AD2B5069F1EA900FABCE6</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.run</string>
+ <key>WindowString</key>
+ <string>316 696 459 200 0 0 1280 1002 </string>
+ <key>WindowToolGUID</key>
+ <string>1C0AD2B3069F1EA900FABCE6</string>
+ <key>WindowToolIsVisible</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.scm</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1C78EAB2065D492600B07095</string>
+ <key>PBXProjectModuleLabel</key>
+ <string><No Editor></string>
+ <key>PBXSplitModuleInNavigatorKey</key>
+ <dict>
+ <key>Split0</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1C78EAB3065D492600B07095</string>
+ </dict>
+ <key>SplitCount</key>
+ <string>1</string>
+ </dict>
+ <key>StatusBarVisibility</key>
+ <integer>1</integer>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {452, 0}}</string>
+ <key>RubberWindowFrame</key>
+ <string>743 379 452 308 0 0 1280 1002 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>0pt</string>
+ </dict>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CD052920623707200166675</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>SCM</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>ConsoleFrame</key>
+ <string>{{0, 259}, {452, 0}}</string>
+ <key>Frame</key>
+ <string>{{0, 7}, {452, 259}}</string>
+ <key>RubberWindowFrame</key>
+ <string>743 379 452 308 0 0 1280 1002 </string>
+ <key>TableConfiguration</key>
+ <array>
+ <string>Status</string>
+ <real>30</real>
+ <string>FileName</string>
+ <real>199</real>
+ <string>Path</string>
+ <real>197.09500122070312</real>
+ </array>
+ <key>TableFrame</key>
+ <string>{{0, 0}, {452, 250}}</string>
+ </dict>
+ <key>Module</key>
+ <string>PBXCVSModule</string>
+ <key>Proportion</key>
+ <string>262pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>266pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>SCM</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXCVSModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1C78EAB4065D492600B07095</string>
+ <string>1C78EAB5065D492600B07095</string>
+ <string>1C78EAB2065D492600B07095</string>
+ <string>1CD052920623707200166675</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.scm</string>
+ <key>WindowString</key>
+ <string>743 379 452 308 0 0 1280 1002 </string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.breakpoints</string>
+ <key>IsVertical</key>
+ <integer>0</integer>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXBottomSmartGroupGIDs</key>
+ <array>
+ <string>1C77FABC04509CD000000102</string>
+ </array>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CE0B1FE06471DED0097A5F4</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Files</string>
+ <key>PBXProjectStructureProvided</key>
+ <string>no</string>
+ <key>PBXSmartGroupTreeModuleColumnData</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
+ <array>
+ <real>168</real>
+ </array>
+ <key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
+ <array>
+ <string>MainColumn</string>
+ </array>
+ </dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
+ <array>
+ <string>1C77FABC04509CD000000102</string>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
+ <array>
+ <array>
+ <integer>0</integer>
+ </array>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
+ <string>{{0, 0}, {168, 350}}</string>
+ </dict>
+ <key>PBXTopSmartGroupGIDs</key>
+ <array/>
+ <key>XCIncludePerspectivesSwitch</key>
+ <integer>0</integer>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {185, 368}}</string>
+ <key>GroupTreeTableConfiguration</key>
+ <array>
+ <string>MainColumn</string>
+ <real>168</real>
+ </array>
+ <key>RubberWindowFrame</key>
+ <string>315 424 744 409 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXSmartGroupTreeModule</string>
+ <key>Proportion</key>
+ <string>185pt</string>
+ </dict>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CA1AED706398EBD00589147</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Detail</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{190, 0}, {554, 368}}</string>
+ <key>RubberWindowFrame</key>
+ <string>315 424 744 409 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>XCDetailModule</string>
+ <key>Proportion</key>
+ <string>554pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>368pt</string>
+ </dict>
+ </array>
+ <key>MajorVersion</key>
+ <integer>2</integer>
+ <key>MinorVersion</key>
+ <integer>0</integer>
+ <key>Name</key>
+ <string>Breakpoints</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXSmartGroupTreeModule</string>
+ <string>XCDetailModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1CDDB66807F98D9800BB5817</string>
+ <string>1CDDB66907F98D9800BB5817</string>
+ <string>1CE0B1FE06471DED0097A5F4</string>
+ <string>1CA1AED706398EBD00589147</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.breakpoints</string>
+ <key>WindowString</key>
+ <string>315 424 744 409 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>1CDDB66807F98D9800BB5817</string>
+ <key>WindowToolIsVisible</key>
+ <integer>1</integer>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.debugAnimator</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Debug Visualizer</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXNavigatorGroup</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.debugAnimator</string>
+ <key>WindowString</key>
+ <string>100 100 700 500 0 0 1280 1002 </string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.bookmarks</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Module</key>
+ <string>PBXBookmarksModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Bookmarks</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXBookmarksModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>0</integer>
+ <key>WindowString</key>
+ <string>538 42 401 187 0 0 1280 1002 </string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.classBrowser</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>OptionsSetName</key>
+ <string>Hierarchy, all classes</string>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CA6456E063B45B4001379D8</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Class Browser - NSObject</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>ClassesFrame</key>
+ <string>{{0, 0}, {374, 96}}</string>
+ <key>ClassesTreeTableConfiguration</key>
+ <array>
+ <string>PBXClassNameColumnIdentifier</string>
+ <real>208</real>
+ <string>PBXClassBookColumnIdentifier</string>
+ <real>22</real>
+ </array>
+ <key>Frame</key>
+ <string>{{0, 0}, {630, 331}}</string>
+ <key>MembersFrame</key>
+ <string>{{0, 105}, {374, 395}}</string>
+ <key>MembersTreeTableConfiguration</key>
+ <array>
+ <string>PBXMemberTypeIconColumnIdentifier</string>
+ <real>22</real>
+ <string>PBXMemberNameColumnIdentifier</string>
+ <real>216</real>
+ <string>PBXMemberTypeColumnIdentifier</string>
+ <real>97</real>
+ <string>PBXMemberBookColumnIdentifier</string>
+ <real>22</real>
+ </array>
+ <key>PBXModuleWindowStatusBarHidden2</key>
+ <integer>1</integer>
+ <key>RubberWindowFrame</key>
+ <string>385 179 630 352 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXClassBrowserModule</string>
+ <key>Proportion</key>
+ <string>332pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>332pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Class Browser</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXClassBrowserModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>0</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1C0AD2AF069F1E9B00FABCE6</string>
+ <string>1C0AD2B0069F1E9B00FABCE6</string>
+ <string>1CA6456E063B45B4001379D8</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.classbrowser</string>
+ <key>WindowString</key>
+ <string>385 179 630 352 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>1C0AD2AF069F1E9B00FABCE6</string>
+ <key>WindowToolIsVisible</key>
+ <integer>0</integer>
+ </dict>
+ </array>
+</dict>
+</plist>
--- /dev/null
+// !$*UTF8*$!
+{
+ 0D096DFE0B707D1200A845D4 /* libhb dlib */ = {
+ activeExec = 0;
+ };
+ 0DFA5C560B8DD1760020BC09 /* HandBrake */ = {
+ isa = PBXExecutable;
+ activeArgIndex = 2147483647;
+ activeArgIndices = (
+ );
+ argumentStrings = (
+ );
+ autoAttachOnCrash = 1;
+ configStateDict = {
+ };
+ customDataFormattersEnabled = 1;
+ debuggerPlugin = GDBDebugging;
+ disassemblyDisplayState = 0;
+ enableDebugStr = 1;
+ environmentEntries = (
+ );
+ executableSystemSymbolLevel = 0;
+ executableUserSymbolLevel = 0;
+ libgmallocEnabled = 0;
+ name = HandBrake;
+ sourceDirectories = (
+ );
+ };
+ 0DFA5C570B8DD1760020BC09 /* Instant HandBrake */ = {
+ isa = PBXExecutable;
+ activeArgIndex = 2147483647;
+ activeArgIndices = (
+ );
+ argumentStrings = (
+ );
+ autoAttachOnCrash = 1;
+ configStateDict = {
+ };
+ customDataFormattersEnabled = 1;
+ debuggerPlugin = GDBDebugging;
+ disassemblyDisplayState = 0;
+ dylibVariantSuffix = "";
+ enableDebugStr = 1;
+ environmentEntries = (
+ );
+ executableSystemSymbolLevel = 0;
+ executableUserSymbolLevel = 0;
+ libgmallocEnabled = 0;
+ name = "Instant HandBrake";
+ sourceDirectories = (
+ );
+ };
+ 0DFA5C580B8DD1760020BC09 /* HandBrakeCLI */ = {
+ isa = PBXExecutable;
+ activeArgIndex = 2147483647;
+ activeArgIndices = (
+ );
+ argumentStrings = (
+ );
+ autoAttachOnCrash = 1;
+ configStateDict = {
+ };
+ customDataFormattersEnabled = 1;
+ debuggerPlugin = GDBDebugging;
+ disassemblyDisplayState = 0;
+ enableDebugStr = 1;
+ environmentEntries = (
+ );
+ executableSystemSymbolLevel = 0;
+ executableUserSymbolLevel = 0;
+ libgmallocEnabled = 0;
+ name = HandBrakeCLI;
+ sourceDirectories = (
+ );
+ };
+ 0DFA5C680B8DD17A0020BC09 /* Source Control */ = {
+ isa = PBXSourceControlManager;
+ fallbackIsa = XCSourceControlManager;
+ isSCMEnabled = 0;
+ scmConfiguration = {
+ };
+ scmType = "";
+ };
+ 0DFA5C690B8DD17A0020BC09 /* Code sense */ = {
+ isa = PBXCodeSenseManager;
+ indexTemplatePath = "";
+ };
+ 0DFA5C7E0B8DD3B60020BC09 /* declpcm.c */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {962, 1274}}";
+ sepNavSelRange = "{441, 18}";
+ sepNavVisRect = "{{0, 0}, {962, 387}}";
+ };
+ };
+ 0DFA5D0E0B8DD9FB0020BC09 /* XCBreakpointsBucket */ = {
+ isa = XCBreakpointsBucket;
+ name = "Project Breakpoints";
+ objects = (
+ );
+ };
+ 0DFF0B710B6BC6E600549488 /* libhb */ = {
+ activeExec = 0;
+ };
+ 0DFF0C090B6BCEC200549488 /* HandBrakeCLI */ = {
+ activeExec = 0;
+ executables = (
+ 0DFA5C580B8DD1760020BC09 /* HandBrakeCLI */,
+ );
+ };
+ 29B97313FDCFA39411CA2CEA /* Project object */ = {
+ activeBuildConfigurationName = UB;
+ activeExecutable = 0DFA5C570B8DD1760020BC09 /* Instant HandBrake */;
+ activeTarget = 0D096DFE0B707D1200A845D4 /* libhb dlib */;
+ addToTargets = (
+ 4DD93F8D082036E8008E1322 /* HandBrake */,
+ );
+ breakpointsGroup = 0DFA5D0E0B8DD9FB0020BC09 /* XCBreakpointsBucket */;
+ codeSenseManager = 0DFA5C690B8DD17A0020BC09 /* Code sense */;
+ executables = (
+ 0DFA5C560B8DD1760020BC09 /* HandBrake */,
+ 0DFA5C570B8DD1760020BC09 /* Instant HandBrake */,
+ 0DFA5C580B8DD1760020BC09 /* HandBrakeCLI */,
+ );
+ perUserDictionary = {
+ PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
+ PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
+ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
+ PBXFileTableDataSourceColumnWidthsKey = (
+ 20,
+ 671,
+ 20,
+ 48,
+ 43,
+ 43,
+ 20,
+ );
+ PBXFileTableDataSourceColumnsKey = (
+ PBXFileDataSource_FiletypeID,
+ PBXFileDataSource_Filename_ColumnID,
+ PBXFileDataSource_Built_ColumnID,
+ PBXFileDataSource_ObjectSize_ColumnID,
+ PBXFileDataSource_Errors_ColumnID,
+ PBXFileDataSource_Warnings_ColumnID,
+ PBXFileDataSource_Target_ColumnID,
+ );
+ };
+ PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = {
+ PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
+ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
+ PBXFileTableDataSourceColumnWidthsKey = (
+ 20,
+ 200,
+ 491,
+ 20,
+ 48,
+ 43,
+ 43,
+ );
+ PBXFileTableDataSourceColumnsKey = (
+ PBXFileDataSource_FiletypeID,
+ PBXFileDataSource_Filename_ColumnID,
+ PBXTargetDataSource_PrimaryAttribute,
+ PBXFileDataSource_Built_ColumnID,
+ PBXFileDataSource_ObjectSize_ColumnID,
+ PBXFileDataSource_Errors_ColumnID,
+ PBXFileDataSource_Warnings_ColumnID,
+ );
+ };
+ PBXPerProjectTemplateStateSaveDate = 193999038;
+ PBXWorkspaceStateSaveDate = 193999038;
+ };
+ sourceControlManager = 0DFA5C680B8DD17A0020BC09 /* Source Control */;
+ userBuildSettings = {
+ };
+ };
+ 4D1EA2D90993B01000FDC1A2 /* Instant HandBrake */ = {
+ activeExec = 0;
+ executables = (
+ 0DFA5C570B8DD1760020BC09 /* Instant HandBrake */,
+ );
+ };
+ 4D1EA31A0993B24700FDC1A2 /* ExpressController.h */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {962, 784}}";
+ sepNavSelRange = "{49, 15}";
+ sepNavVisRect = "{{0, 0}, {962, 387}}";
+ };
+ };
+ 4DD93F8D082036E8008E1322 /* HandBrake */ = {
+ activeExec = 0;
+ executables = (
+ 0DFA5C560B8DD1760020BC09 /* HandBrake */,
+ );
+ };
+ 4DF3C8CB052889CD00A80101 /* Controller.h */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {459, 3038}}";
+ sepNavSelRange = "{7915, 0}";
+ sepNavVisRect = "{{0, 0}, {459, 186}}";
+ };
+ };
+ 526FBC760B4CA8F40064E04C /* test.c */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {962, 13230}}";
+ sepNavSelRange = "{322, 16}";
+ sepNavVisRect = "{{0, 0}, {962, 387}}";
+ };
+ };
+}
0D096E010B707D3400A845D4 /* common.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBC9B0B4CAB100064E04C /* common.c */; };
0D096E020B707D3400A845D4 /* deca52.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBC9D0B4CAB100064E04C /* deca52.c */; };
0D096E030B707D3400A845D4 /* decavcodec.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBC9E0B4CAB100064E04C /* decavcodec.c */; };
- 0D096E040B707D3400A845D4 /* declpcm.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBC9F0B4CAB100064E04C /* declpcm.c */; };
- 0D096E050B707D3400A845D4 /* decmpeg2.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCA00B4CAB100064E04C /* decmpeg2.c */; };
- 0D096E060B707D3400A845D4 /* decsub.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCA10B4CAB100064E04C /* decsub.c */; };
- 0D096E070B707D3400A845D4 /* demuxmpeg.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCA20B4CAB100064E04C /* demuxmpeg.c */; };
- 0D096E080B707D3400A845D4 /* dvd.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCA30B4CAB100064E04C /* dvd.c */; };
- 0D096E090B707D3400A845D4 /* encavcodec.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCA40B4CAB100064E04C /* encavcodec.c */; };
- 0D096E0A0B707D3400A845D4 /* encfaac.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCA50B4CAB100064E04C /* encfaac.c */; };
- 0D096E0B0B707D3400A845D4 /* enclame.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCA60B4CAB100064E04C /* enclame.c */; };
- 0D096E0C0B707D3400A845D4 /* encvorbis.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCA70B4CAB100064E04C /* encvorbis.c */; };
- 0D096E0D0B707D3400A845D4 /* encx264.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCA80B4CAB100064E04C /* encx264.c */; };
- 0D096E0E0B707D3400A845D4 /* encxvid.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCA90B4CAB100064E04C /* encxvid.c */; };
- 0D096E0F0B707D3400A845D4 /* fifo.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCAA0B4CAB100064E04C /* fifo.c */; };
- 0D096E100B707D3400A845D4 /* muxavi.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCAE0B4CAB100064E04C /* muxavi.c */; };
- 0D096E110B707D3400A845D4 /* muxcommon.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCAF0B4CAB100064E04C /* muxcommon.c */; };
- 0D096E120B707D3400A845D4 /* muxmp4.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCB00B4CAB100064E04C /* muxmp4.c */; };
- 0D096E130B707D3400A845D4 /* muxogm.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCB10B4CAB100064E04C /* muxogm.c */; };
- 0D096E140B707D3400A845D4 /* ports.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCB20B4CAB100064E04C /* ports.c */; };
- 0D096E150B707D3400A845D4 /* reader.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCB40B4CAB100064E04C /* reader.c */; };
- 0D096E160B707D3400A845D4 /* render.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCB50B4CAB100064E04C /* render.c */; };
- 0D096E170B707D3400A845D4 /* scan.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCB60B4CAB100064E04C /* scan.c */; };
- 0D096E180B707D3400A845D4 /* sync.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCB70B4CAB100064E04C /* sync.c */; };
- 0D096E190B707D3400A845D4 /* update.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCB80B4CAB100064E04C /* update.c */; };
- 0D096E1A0B707D3400A845D4 /* work.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCB90B4CAB100064E04C /* work.c */; };
0D096EA30B70884A00A845D4 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D1125D709D72FD200E0657B /* libz.dylib */; };
- 0D75EDC00B6FF9DA0090EA86 /* MediaFork.icns in Resources */ = {isa = PBXBuildFile; fileRef = 4D118405053054CD00C39CA9 /* MediaFork.icns */; };
- 0D9C5CE50B77E85B00828855 /* mediafork.c in Sources */ = {isa = PBXBuildFile; fileRef = 0D9C5CE40B77E85B00828855 /* mediafork.c */; };
- 0D9C5CE60B77E85B00828855 /* mediafork.c in Sources */ = {isa = PBXBuildFile; fileRef = 0D9C5CE40B77E85B00828855 /* mediafork.c */; };
- 0DF377430B7BEACA00115CB0 /* ipodutil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0DF377420B7BEACA00115CB0 /* ipodutil.cpp */; };
- 0DF377440B7BEACA00115CB0 /* ipodutil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0DF377420B7BEACA00115CB0 /* ipodutil.cpp */; };
0DF377980B7BF99A00115CB0 /* fakexcode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0DF377970B7BF99A00115CB0 /* fakexcode.cpp */; };
+ 0DFA5C7B0B8DD1E90020BC09 /* HandBrake.icns in Resources */ = {isa = PBXBuildFile; fileRef = 0DFA5C7A0B8DD1E90020BC09 /* HandBrake.icns */; };
+ 0DFA5CC00B8DD3FE0020BC09 /* declpcm.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C7E0B8DD3B60020BC09 /* declpcm.c */; };
+ 0DFA5CC10B8DD3FE0020BC09 /* decmpeg2.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C7F0B8DD3B60020BC09 /* decmpeg2.c */; };
+ 0DFA5CC20B8DD3FE0020BC09 /* decsub.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C800B8DD3B60020BC09 /* decsub.c */; };
+ 0DFA5CC30B8DD3FE0020BC09 /* demuxmpeg.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C810B8DD3B60020BC09 /* demuxmpeg.c */; };
+ 0DFA5CC40B8DD3FE0020BC09 /* dvd.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C820B8DD3B60020BC09 /* dvd.c */; };
+ 0DFA5CC50B8DD3FE0020BC09 /* encavcodec.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C830B8DD3B60020BC09 /* encavcodec.c */; };
+ 0DFA5CC60B8DD3FE0020BC09 /* encfaac.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C840B8DD3B60020BC09 /* encfaac.c */; };
+ 0DFA5CC70B8DD3FE0020BC09 /* enclame.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C850B8DD3B60020BC09 /* enclame.c */; };
+ 0DFA5CC80B8DD3FE0020BC09 /* encvorbis.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C860B8DD3B60020BC09 /* encvorbis.c */; };
+ 0DFA5CC90B8DD3FE0020BC09 /* encx264.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C870B8DD3B60020BC09 /* encx264.c */; };
+ 0DFA5CCA0B8DD3FE0020BC09 /* encxvid.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C880B8DD3B60020BC09 /* encxvid.c */; };
+ 0DFA5CCB0B8DD3FE0020BC09 /* fifo.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C890B8DD3B60020BC09 /* fifo.c */; };
+ 0DFA5CCC0B8DD3FE0020BC09 /* hb.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C8A0B8DD3B60020BC09 /* hb.c */; };
+ 0DFA5CCD0B8DD3FE0020BC09 /* ipodutil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C8D0B8DD3B60020BC09 /* ipodutil.cpp */; };
+ 0DFA5CCE0B8DD3FE0020BC09 /* muxavi.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C910B8DD3B60020BC09 /* muxavi.c */; };
+ 0DFA5CCF0B8DD3FE0020BC09 /* muxcommon.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C920B8DD3B60020BC09 /* muxcommon.c */; };
+ 0DFA5CD00B8DD3FE0020BC09 /* muxmp4.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C930B8DD3B60020BC09 /* muxmp4.c */; };
+ 0DFA5CD10B8DD3FE0020BC09 /* muxogm.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C940B8DD3B60020BC09 /* muxogm.c */; };
+ 0DFA5CD20B8DD3FE0020BC09 /* ports.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C950B8DD3B60020BC09 /* ports.c */; };
+ 0DFA5CD30B8DD3FE0020BC09 /* reader.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C970B8DD3B60020BC09 /* reader.c */; };
+ 0DFA5CD40B8DD3FE0020BC09 /* render.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C980B8DD3B60020BC09 /* render.c */; };
+ 0DFA5CD50B8DD3FE0020BC09 /* scan.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C990B8DD3B60020BC09 /* scan.c */; };
+ 0DFA5CD60B8DD3FE0020BC09 /* sync.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C9A0B8DD3B60020BC09 /* sync.c */; };
+ 0DFA5CD70B8DD3FE0020BC09 /* update.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C9B0B8DD3B60020BC09 /* update.c */; };
+ 0DFA5CD80B8DD3FE0020BC09 /* work.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C9C0B8DD3B60020BC09 /* work.c */; };
+ 0DFA5CD90B8DD4210020BC09 /* declpcm.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C7E0B8DD3B60020BC09 /* declpcm.c */; };
+ 0DFA5CDA0B8DD4210020BC09 /* decmpeg2.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C7F0B8DD3B60020BC09 /* decmpeg2.c */; };
+ 0DFA5CDB0B8DD4210020BC09 /* decsub.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C800B8DD3B60020BC09 /* decsub.c */; };
+ 0DFA5CDC0B8DD4210020BC09 /* demuxmpeg.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C810B8DD3B60020BC09 /* demuxmpeg.c */; };
+ 0DFA5CDD0B8DD4210020BC09 /* dvd.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C820B8DD3B60020BC09 /* dvd.c */; };
+ 0DFA5CDE0B8DD4210020BC09 /* encavcodec.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C830B8DD3B60020BC09 /* encavcodec.c */; };
+ 0DFA5CDF0B8DD4210020BC09 /* encfaac.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C840B8DD3B60020BC09 /* encfaac.c */; };
+ 0DFA5CE00B8DD4210020BC09 /* enclame.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C850B8DD3B60020BC09 /* enclame.c */; };
+ 0DFA5CE10B8DD4210020BC09 /* encvorbis.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C860B8DD3B60020BC09 /* encvorbis.c */; };
+ 0DFA5CE20B8DD4210020BC09 /* encx264.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C870B8DD3B60020BC09 /* encx264.c */; };
+ 0DFA5CE30B8DD4210020BC09 /* encxvid.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C880B8DD3B60020BC09 /* encxvid.c */; };
+ 0DFA5CE40B8DD4210020BC09 /* fifo.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C890B8DD3B60020BC09 /* fifo.c */; };
+ 0DFA5CE50B8DD4210020BC09 /* hb.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C8A0B8DD3B60020BC09 /* hb.c */; };
+ 0DFA5CE60B8DD4210020BC09 /* ipodutil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C8D0B8DD3B60020BC09 /* ipodutil.cpp */; };
+ 0DFA5CE70B8DD4210020BC09 /* muxavi.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C910B8DD3B60020BC09 /* muxavi.c */; };
+ 0DFA5CE80B8DD4210020BC09 /* muxcommon.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C920B8DD3B60020BC09 /* muxcommon.c */; };
+ 0DFA5CE90B8DD4210020BC09 /* muxmp4.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C930B8DD3B60020BC09 /* muxmp4.c */; };
+ 0DFA5CEA0B8DD4210020BC09 /* muxogm.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C940B8DD3B60020BC09 /* muxogm.c */; };
+ 0DFA5CEB0B8DD4210020BC09 /* ports.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C950B8DD3B60020BC09 /* ports.c */; };
+ 0DFA5CEC0B8DD4210020BC09 /* reader.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C970B8DD3B60020BC09 /* reader.c */; };
+ 0DFA5CED0B8DD4210020BC09 /* render.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C980B8DD3B60020BC09 /* render.c */; };
+ 0DFA5CEE0B8DD4210020BC09 /* scan.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C990B8DD3B60020BC09 /* scan.c */; };
+ 0DFA5CEF0B8DD4210020BC09 /* sync.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C9A0B8DD3B60020BC09 /* sync.c */; };
+ 0DFA5CF00B8DD4210020BC09 /* update.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C9B0B8DD3B60020BC09 /* update.c */; };
+ 0DFA5CF10B8DD4210020BC09 /* work.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DFA5C9C0B8DD3B60020BC09 /* work.c */; };
+ 0DFA5CF80B8DD7B40020BC09 /* HandBrake.icns in Resources */ = {isa = PBXBuildFile; fileRef = 0DFA5C7A0B8DD1E90020BC09 /* HandBrake.icns */; };
+ 0DFA5D070B8DD9040020BC09 /* HandBrake.plist in Resources */ = {isa = PBXBuildFile; fileRef = 0DFA5D060B8DD9040020BC09 /* HandBrake.plist */; };
0DFF0B770B6BC72A00549488 /* common.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBC9B0B4CAB100064E04C /* common.c */; };
0DFF0B790B6BC72A00549488 /* deca52.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBC9D0B4CAB100064E04C /* deca52.c */; };
0DFF0B7A0B6BC72A00549488 /* decavcodec.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBC9E0B4CAB100064E04C /* decavcodec.c */; };
- 0DFF0B7B0B6BC72A00549488 /* declpcm.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBC9F0B4CAB100064E04C /* declpcm.c */; };
- 0DFF0B7C0B6BC72A00549488 /* decmpeg2.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCA00B4CAB100064E04C /* decmpeg2.c */; };
- 0DFF0B7D0B6BC72A00549488 /* decsub.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCA10B4CAB100064E04C /* decsub.c */; };
- 0DFF0B7E0B6BC72A00549488 /* demuxmpeg.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCA20B4CAB100064E04C /* demuxmpeg.c */; };
- 0DFF0B7F0B6BC72A00549488 /* dvd.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCA30B4CAB100064E04C /* dvd.c */; };
- 0DFF0B800B6BC72A00549488 /* encavcodec.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCA40B4CAB100064E04C /* encavcodec.c */; };
- 0DFF0B810B6BC72A00549488 /* encfaac.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCA50B4CAB100064E04C /* encfaac.c */; };
- 0DFF0B820B6BC72A00549488 /* enclame.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCA60B4CAB100064E04C /* enclame.c */; };
- 0DFF0B830B6BC72A00549488 /* encvorbis.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCA70B4CAB100064E04C /* encvorbis.c */; };
- 0DFF0B840B6BC72A00549488 /* encx264.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCA80B4CAB100064E04C /* encx264.c */; };
- 0DFF0B850B6BC72A00549488 /* encxvid.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCA90B4CAB100064E04C /* encxvid.c */; };
- 0DFF0B860B6BC72A00549488 /* fifo.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCAA0B4CAB100064E04C /* fifo.c */; };
- 0DFF0B8B0B6BC72A00549488 /* muxavi.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCAE0B4CAB100064E04C /* muxavi.c */; };
- 0DFF0B8C0B6BC72A00549488 /* muxcommon.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCAF0B4CAB100064E04C /* muxcommon.c */; };
- 0DFF0B8D0B6BC72A00549488 /* muxmp4.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCB00B4CAB100064E04C /* muxmp4.c */; };
- 0DFF0B8E0B6BC72A00549488 /* muxogm.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCB10B4CAB100064E04C /* muxogm.c */; };
- 0DFF0B8F0B6BC72A00549488 /* ports.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCB20B4CAB100064E04C /* ports.c */; };
- 0DFF0B910B6BC72A00549488 /* reader.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCB40B4CAB100064E04C /* reader.c */; };
- 0DFF0B920B6BC72A00549488 /* render.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCB50B4CAB100064E04C /* render.c */; };
- 0DFF0B930B6BC72A00549488 /* scan.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCB60B4CAB100064E04C /* scan.c */; };
- 0DFF0B940B6BC72A00549488 /* sync.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCB70B4CAB100064E04C /* sync.c */; };
- 0DFF0B950B6BC72A00549488 /* update.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCB80B4CAB100064E04C /* update.c */; };
- 0DFF0B960B6BC72A00549488 /* work.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCB90B4CAB100064E04C /* work.c */; };
0DFF0C100B6BCEE800549488 /* test.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBC760B4CA8F40064E04C /* test.c */; };
4D1125D809D72FD200E0657B /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D1125D709D72FD200E0657B /* libz.dylib */; };
4D1125D909D72FD200E0657B /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D1125D709D72FD200E0657B /* libz.dylib */; };
4DD93F94082036E8008E1322 /* PrefsController.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DE93A3507F5A2C900F3C78F /* PrefsController.h */; };
4DD93F96082036E8008E1322 /* MainMenu.nib in Resources */ = {isa = PBXBuildFile; fileRef = 29B97318FDCFA39411CA2CEA /* MainMenu.nib */; };
4DD93F97082036E8008E1322 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
- 4DD93F98082036E8008E1322 /* MediaFork.icns in Resources */ = {isa = PBXBuildFile; fileRef = 4D118405053054CD00C39CA9 /* MediaFork.icns */; };
4DD93F9A082036E8008E1322 /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.mm */; settings = {ATTRIBUTES = (); }; };
4DD93F9B082036E8008E1322 /* Controller.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4DF3C8CC052889CD00A80101 /* Controller.mm */; };
4DD93F9C082036E8008E1322 /* PictureGLView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4D85758E052B78E300C39CA9 /* PictureGLView.mm */; };
4DD93FA2082036E8008E1322 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
4DD93FA3082036E8008E1322 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4DEB2024052B055F00C39CA9 /* IOKit.framework */; };
4DD93FA4082036E8008E1322 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4DDE9724052B7B2B00C39CA9 /* OpenGL.framework */; };
- 4DE09E63082038A400FB751F /* MediaFork.plist in Resources */ = {isa = PBXBuildFile; fileRef = 4DE09E62082038A400FB751F /* MediaFork.plist */; };
52AFF86A0B59BD07000DA7C4 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
52AFF86B0B59BD14000DA7C4 /* Express.plist in Resources */ = {isa = PBXBuildFile; fileRef = 4D1EA2DC0993B01000FDC1A2 /* Express.plist */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
- 0D096DFF0B707D1200A845D4 /* libmediafork.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libmediafork.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
- 0D6E35760B6BD4F0005AABB3 /* MediaFork.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MediaFork.app; sourceTree = BUILT_PRODUCTS_DIR; };
- 0D9C5CE40B77E85B00828855 /* mediafork.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = mediafork.c; path = ../libmediafork/mediafork.c; sourceTree = SOURCE_ROOT; };
- 0DF377420B7BEACA00115CB0 /* ipodutil.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = ipodutil.cpp; path = ../libmediafork/ipodutil.cpp; sourceTree = SOURCE_ROOT; };
+ 0D096DFF0B707D1200A845D4 /* libhb.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libhb.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
+ 0D6E35760B6BD4F0005AABB3 /* HandBrake.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = HandBrake.app; sourceTree = BUILT_PRODUCTS_DIR; };
0DF377970B7BF99A00115CB0 /* fakexcode.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = fakexcode.cpp; path = ../test/fakexcode.cpp; sourceTree = SOURCE_ROOT; };
- 0DFF0B720B6BC6E600549488 /* libmediafork.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libmediafork.a; sourceTree = BUILT_PRODUCTS_DIR; };
- 0DFF0C0A0B6BCEC200549488 /* MediaForkCLI */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = MediaForkCLI; sourceTree = BUILT_PRODUCTS_DIR; };
+ 0DFA5C7A0B8DD1E90020BC09 /* HandBrake.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = HandBrake.icns; sourceTree = "<group>"; };
+ 0DFA5C7E0B8DD3B60020BC09 /* declpcm.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = declpcm.c; path = ../libhb/declpcm.c; sourceTree = SOURCE_ROOT; };
+ 0DFA5C7F0B8DD3B60020BC09 /* decmpeg2.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = decmpeg2.c; path = ../libhb/decmpeg2.c; sourceTree = SOURCE_ROOT; };
+ 0DFA5C800B8DD3B60020BC09 /* decsub.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = decsub.c; path = ../libhb/decsub.c; sourceTree = SOURCE_ROOT; };
+ 0DFA5C810B8DD3B60020BC09 /* demuxmpeg.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = demuxmpeg.c; path = ../libhb/demuxmpeg.c; sourceTree = SOURCE_ROOT; };
+ 0DFA5C820B8DD3B60020BC09 /* dvd.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = dvd.c; path = ../libhb/dvd.c; sourceTree = SOURCE_ROOT; };
+ 0DFA5C830B8DD3B60020BC09 /* encavcodec.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = encavcodec.c; path = ../libhb/encavcodec.c; sourceTree = SOURCE_ROOT; };
+ 0DFA5C840B8DD3B60020BC09 /* encfaac.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = encfaac.c; path = ../libhb/encfaac.c; sourceTree = SOURCE_ROOT; };
+ 0DFA5C850B8DD3B60020BC09 /* enclame.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = enclame.c; path = ../libhb/enclame.c; sourceTree = SOURCE_ROOT; };
+ 0DFA5C860B8DD3B60020BC09 /* encvorbis.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = encvorbis.c; path = ../libhb/encvorbis.c; sourceTree = SOURCE_ROOT; };
+ 0DFA5C870B8DD3B60020BC09 /* encx264.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = encx264.c; path = ../libhb/encx264.c; sourceTree = SOURCE_ROOT; };
+ 0DFA5C880B8DD3B60020BC09 /* encxvid.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = encxvid.c; path = ../libhb/encxvid.c; sourceTree = SOURCE_ROOT; };
+ 0DFA5C890B8DD3B60020BC09 /* fifo.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = fifo.c; path = ../libhb/fifo.c; sourceTree = SOURCE_ROOT; };
+ 0DFA5C8A0B8DD3B60020BC09 /* hb.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = hb.c; path = ../libhb/hb.c; sourceTree = SOURCE_ROOT; };
+ 0DFA5C8D0B8DD3B60020BC09 /* ipodutil.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = ipodutil.cpp; path = ../libhb/ipodutil.cpp; sourceTree = SOURCE_ROOT; };
+ 0DFA5C910B8DD3B60020BC09 /* muxavi.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = muxavi.c; path = ../libhb/muxavi.c; sourceTree = SOURCE_ROOT; };
+ 0DFA5C920B8DD3B60020BC09 /* muxcommon.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = muxcommon.c; path = ../libhb/muxcommon.c; sourceTree = SOURCE_ROOT; };
+ 0DFA5C930B8DD3B60020BC09 /* muxmp4.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = muxmp4.c; path = ../libhb/muxmp4.c; sourceTree = SOURCE_ROOT; };
+ 0DFA5C940B8DD3B60020BC09 /* muxogm.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = muxogm.c; path = ../libhb/muxogm.c; sourceTree = SOURCE_ROOT; };
+ 0DFA5C950B8DD3B60020BC09 /* ports.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ports.c; path = ../libhb/ports.c; sourceTree = SOURCE_ROOT; };
+ 0DFA5C970B8DD3B60020BC09 /* reader.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = reader.c; path = ../libhb/reader.c; sourceTree = SOURCE_ROOT; };
+ 0DFA5C980B8DD3B60020BC09 /* render.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = render.c; path = ../libhb/render.c; sourceTree = SOURCE_ROOT; };
+ 0DFA5C990B8DD3B60020BC09 /* scan.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = scan.c; path = ../libhb/scan.c; sourceTree = SOURCE_ROOT; };
+ 0DFA5C9A0B8DD3B60020BC09 /* sync.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = sync.c; path = ../libhb/sync.c; sourceTree = SOURCE_ROOT; };
+ 0DFA5C9B0B8DD3B60020BC09 /* update.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = update.c; path = ../libhb/update.c; sourceTree = SOURCE_ROOT; };
+ 0DFA5C9C0B8DD3B60020BC09 /* work.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = work.c; path = ../libhb/work.c; sourceTree = SOURCE_ROOT; };
+ 0DFA5D060B8DD9040020BC09 /* HandBrake.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.xml; path = HandBrake.plist; sourceTree = "<group>"; };
+ 0DFF0B720B6BC6E600549488 /* libhb.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libhb.a; sourceTree = BUILT_PRODUCTS_DIR; };
+ 0DFF0C0A0B6BCEC200549488 /* HandBrakeCLI */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = HandBrakeCLI; sourceTree = BUILT_PRODUCTS_DIR; };
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
29B97316FDCFA39411CA2CEA /* main.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = main.mm; sourceTree = "<group>"; };
29B97319FDCFA39411CA2CEA /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/MainMenu.nib; sourceTree = "<group>"; };
29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
4D1125D709D72FD200E0657B /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = /usr/lib/libz.dylib; sourceTree = "<absolute>"; };
- 4D118405053054CD00C39CA9 /* MediaFork.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = MediaFork.icns; sourceTree = "<group>"; };
- 4D1EA2DA0993B01000FDC1A2 /* Instant MediaFork.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Instant MediaFork.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 4D1EA2DA0993B01000FDC1A2 /* Instant HandBrake.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Instant HandBrake.app"; sourceTree = BUILT_PRODUCTS_DIR; };
4D1EA2DC0993B01000FDC1A2 /* Express.plist */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = Express.plist; sourceTree = "<group>"; };
4D1EA3000993B13700FDC1A2 /* Express.nib */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = Express.nib; path = English.lproj/Express.nib; sourceTree = "<group>"; };
4D1EA31A0993B24700FDC1A2 /* ExpressController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ExpressController.h; sourceTree = "<group>"; };
4DD27BA507C0065C0023D231 /* QueueController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QueueController.h; sourceTree = "<group>"; };
4DD27BA607C0065C0023D231 /* QueueController.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = QueueController.mm; sourceTree = "<group>"; };
4DDE9724052B7B2B00C39CA9 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = "<absolute>"; };
- 4DE09E62082038A400FB751F /* MediaFork.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.xml; path = MediaFork.plist; sourceTree = "<group>"; };
4DE93A3507F5A2C900F3C78F /* PrefsController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PrefsController.h; sourceTree = "<group>"; };
4DE93A3607F5A2C900F3C78F /* PrefsController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = PrefsController.m; sourceTree = "<group>"; };
4DEB2024052B055F00C39CA9 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = "<absolute>"; };
4DF3C8CB052889CD00A80101 /* Controller.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Controller.h; sourceTree = "<group>"; };
4DF3C8CC052889CD00A80101 /* Controller.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = Controller.mm; sourceTree = "<group>"; };
526FBC760B4CA8F40064E04C /* test.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.c; fileEncoding = 30; name = test.c; path = ../test/test.c; sourceTree = SOURCE_ROOT; };
- 526FBC9B0B4CAB100064E04C /* common.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = common.c; path = ../libmediafork/common.c; sourceTree = SOURCE_ROOT; };
- 526FBC9D0B4CAB100064E04C /* deca52.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = deca52.c; path = ../libmediafork/deca52.c; sourceTree = SOURCE_ROOT; };
- 526FBC9E0B4CAB100064E04C /* decavcodec.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = decavcodec.c; path = ../libmediafork/decavcodec.c; sourceTree = SOURCE_ROOT; };
- 526FBC9F0B4CAB100064E04C /* declpcm.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = declpcm.c; path = ../libmediafork/declpcm.c; sourceTree = SOURCE_ROOT; };
- 526FBCA00B4CAB100064E04C /* decmpeg2.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = decmpeg2.c; path = ../libmediafork/decmpeg2.c; sourceTree = SOURCE_ROOT; };
- 526FBCA10B4CAB100064E04C /* decsub.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = decsub.c; path = ../libmediafork/decsub.c; sourceTree = SOURCE_ROOT; };
- 526FBCA20B4CAB100064E04C /* demuxmpeg.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = demuxmpeg.c; path = ../libmediafork/demuxmpeg.c; sourceTree = SOURCE_ROOT; };
- 526FBCA30B4CAB100064E04C /* dvd.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = dvd.c; path = ../libmediafork/dvd.c; sourceTree = SOURCE_ROOT; };
- 526FBCA40B4CAB100064E04C /* encavcodec.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = encavcodec.c; path = ../libmediafork/encavcodec.c; sourceTree = SOURCE_ROOT; };
- 526FBCA50B4CAB100064E04C /* encfaac.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = encfaac.c; path = ../libmediafork/encfaac.c; sourceTree = SOURCE_ROOT; };
- 526FBCA60B4CAB100064E04C /* enclame.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = enclame.c; path = ../libmediafork/enclame.c; sourceTree = SOURCE_ROOT; };
- 526FBCA70B4CAB100064E04C /* encvorbis.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = encvorbis.c; path = ../libmediafork/encvorbis.c; sourceTree = SOURCE_ROOT; };
- 526FBCA80B4CAB100064E04C /* encx264.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = encx264.c; path = ../libmediafork/encx264.c; sourceTree = SOURCE_ROOT; };
- 526FBCA90B4CAB100064E04C /* encxvid.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = encxvid.c; path = ../libmediafork/encxvid.c; sourceTree = SOURCE_ROOT; };
- 526FBCAA0B4CAB100064E04C /* fifo.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = fifo.c; path = ../libmediafork/fifo.c; sourceTree = SOURCE_ROOT; };
- 526FBCAE0B4CAB100064E04C /* muxavi.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = muxavi.c; path = ../libmediafork/muxavi.c; sourceTree = SOURCE_ROOT; };
- 526FBCAF0B4CAB100064E04C /* muxcommon.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = muxcommon.c; path = ../libmediafork/muxcommon.c; sourceTree = SOURCE_ROOT; };
- 526FBCB00B4CAB100064E04C /* muxmp4.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = muxmp4.c; path = ../libmediafork/muxmp4.c; sourceTree = SOURCE_ROOT; };
- 526FBCB10B4CAB100064E04C /* muxogm.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = muxogm.c; path = ../libmediafork/muxogm.c; sourceTree = SOURCE_ROOT; };
- 526FBCB20B4CAB100064E04C /* ports.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ports.c; path = ../libmediafork/ports.c; sourceTree = SOURCE_ROOT; };
- 526FBCB40B4CAB100064E04C /* reader.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = reader.c; path = ../libmediafork/reader.c; sourceTree = SOURCE_ROOT; };
- 526FBCB50B4CAB100064E04C /* render.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = render.c; path = ../libmediafork/render.c; sourceTree = SOURCE_ROOT; };
- 526FBCB60B4CAB100064E04C /* scan.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = scan.c; path = ../libmediafork/scan.c; sourceTree = SOURCE_ROOT; };
- 526FBCB70B4CAB100064E04C /* sync.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = sync.c; path = ../libmediafork/sync.c; sourceTree = SOURCE_ROOT; };
- 526FBCB80B4CAB100064E04C /* update.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = update.c; path = ../libmediafork/update.c; sourceTree = SOURCE_ROOT; };
- 526FBCB90B4CAB100064E04C /* work.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = work.c; path = ../libmediafork/work.c; sourceTree = SOURCE_ROOT; };
+ 526FBC9B0B4CAB100064E04C /* common.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = common.c; path = ../libhb/common.c; sourceTree = SOURCE_ROOT; };
+ 526FBC9D0B4CAB100064E04C /* deca52.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = deca52.c; path = ../libhb/deca52.c; sourceTree = SOURCE_ROOT; };
+ 526FBC9E0B4CAB100064E04C /* decavcodec.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = decavcodec.c; path = ../libhb/decavcodec.c; sourceTree = SOURCE_ROOT; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
19C28FACFE9D520D11CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
- 4D1EA2DA0993B01000FDC1A2 /* Instant MediaFork.app */,
- 0DFF0B720B6BC6E600549488 /* libmediafork.a */,
- 0DFF0C0A0B6BCEC200549488 /* MediaForkCLI */,
- 0D6E35760B6BD4F0005AABB3 /* MediaFork.app */,
- 0D096DFF0B707D1200A845D4 /* libmediafork.dylib */,
+ 4D1EA2DA0993B01000FDC1A2 /* Instant HandBrake.app */,
+ 0DFF0B720B6BC6E600549488 /* libhb.a */,
+ 0DFF0C0A0B6BCEC200549488 /* HandBrakeCLI */,
+ 0D6E35760B6BD4F0005AABB3 /* HandBrake.app */,
+ 0D096DFF0B707D1200A845D4 /* libhb.dylib */,
);
name = Products;
sourceTree = "<group>";
29B97314FDCFA39411CA2CEA /* HandBrake */ = {
isa = PBXGroup;
children = (
- 526FBC940B4CAA310064E04C /* Instant MediaFork Sources */,
- 526FBC930B4CAA260064E04C /* MediaFork Sources */,
- 526FBC920B4CAA120064E04C /* MediaForkCLI Sources */,
- 526FBC8D0B4CA9F90064E04C /* libmediafork Sources */,
+ 526FBC940B4CAA310064E04C /* Instant HandBrake Sources */,
+ 526FBC930B4CAA260064E04C /* HandBrake Sources */,
+ 526FBC920B4CAA120064E04C /* HandBrakeCLI Sources */,
+ 526FBC8D0B4CA9F90064E04C /* libhb Sources */,
29B97315FDCFA39411CA2CEA /* Other Sources */,
29B97317FDCFA39411CA2CEA /* Resources */,
29B97323FDCFA39411CA2CEA /* Frameworks */,
29B97317FDCFA39411CA2CEA /* Resources */ = {
isa = PBXGroup;
children = (
+ 0DFA5C7A0B8DD1E90020BC09 /* HandBrake.icns */,
29B97318FDCFA39411CA2CEA /* MainMenu.nib */,
- 4D118405053054CD00C39CA9 /* MediaFork.icns */,
4D1EA3000993B13700FDC1A2 /* Express.nib */,
089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
);
name = Frameworks;
sourceTree = "<group>";
};
- 526FBC8D0B4CA9F90064E04C /* libmediafork Sources */ = {
+ 526FBC8D0B4CA9F90064E04C /* libhb Sources */ = {
isa = PBXGroup;
children = (
+ 0DFA5C7E0B8DD3B60020BC09 /* declpcm.c */,
+ 0DFA5C7F0B8DD3B60020BC09 /* decmpeg2.c */,
+ 0DFA5C800B8DD3B60020BC09 /* decsub.c */,
+ 0DFA5C810B8DD3B60020BC09 /* demuxmpeg.c */,
+ 0DFA5C820B8DD3B60020BC09 /* dvd.c */,
+ 0DFA5C830B8DD3B60020BC09 /* encavcodec.c */,
+ 0DFA5C840B8DD3B60020BC09 /* encfaac.c */,
+ 0DFA5C850B8DD3B60020BC09 /* enclame.c */,
+ 0DFA5C860B8DD3B60020BC09 /* encvorbis.c */,
+ 0DFA5C870B8DD3B60020BC09 /* encx264.c */,
+ 0DFA5C880B8DD3B60020BC09 /* encxvid.c */,
+ 0DFA5C890B8DD3B60020BC09 /* fifo.c */,
+ 0DFA5C8A0B8DD3B60020BC09 /* hb.c */,
+ 0DFA5C8D0B8DD3B60020BC09 /* ipodutil.cpp */,
+ 0DFA5C910B8DD3B60020BC09 /* muxavi.c */,
+ 0DFA5C920B8DD3B60020BC09 /* muxcommon.c */,
+ 0DFA5C930B8DD3B60020BC09 /* muxmp4.c */,
+ 0DFA5C940B8DD3B60020BC09 /* muxogm.c */,
+ 0DFA5C950B8DD3B60020BC09 /* ports.c */,
+ 0DFA5C970B8DD3B60020BC09 /* reader.c */,
+ 0DFA5C980B8DD3B60020BC09 /* render.c */,
+ 0DFA5C990B8DD3B60020BC09 /* scan.c */,
+ 0DFA5C9A0B8DD3B60020BC09 /* sync.c */,
+ 0DFA5C9B0B8DD3B60020BC09 /* update.c */,
+ 0DFA5C9C0B8DD3B60020BC09 /* work.c */,
526FBC9B0B4CAB100064E04C /* common.c */,
526FBC9D0B4CAB100064E04C /* deca52.c */,
526FBC9E0B4CAB100064E04C /* decavcodec.c */,
- 526FBC9F0B4CAB100064E04C /* declpcm.c */,
- 526FBCA00B4CAB100064E04C /* decmpeg2.c */,
- 526FBCA10B4CAB100064E04C /* decsub.c */,
- 0DF377420B7BEACA00115CB0 /* ipodutil.cpp */,
- 526FBCA20B4CAB100064E04C /* demuxmpeg.c */,
- 526FBCA30B4CAB100064E04C /* dvd.c */,
- 526FBCA40B4CAB100064E04C /* encavcodec.c */,
- 526FBCA50B4CAB100064E04C /* encfaac.c */,
- 526FBCA60B4CAB100064E04C /* enclame.c */,
- 526FBCA70B4CAB100064E04C /* encvorbis.c */,
- 526FBCA80B4CAB100064E04C /* encx264.c */,
- 526FBCA90B4CAB100064E04C /* encxvid.c */,
- 526FBCAA0B4CAB100064E04C /* fifo.c */,
- 526FBCAE0B4CAB100064E04C /* muxavi.c */,
- 526FBCAF0B4CAB100064E04C /* muxcommon.c */,
- 526FBCB00B4CAB100064E04C /* muxmp4.c */,
- 0D9C5CE40B77E85B00828855 /* mediafork.c */,
- 526FBCB10B4CAB100064E04C /* muxogm.c */,
- 526FBCB20B4CAB100064E04C /* ports.c */,
- 526FBCB40B4CAB100064E04C /* reader.c */,
- 526FBCB50B4CAB100064E04C /* render.c */,
- 526FBCB60B4CAB100064E04C /* scan.c */,
- 526FBCB70B4CAB100064E04C /* sync.c */,
- 526FBCB80B4CAB100064E04C /* update.c */,
- 526FBCB90B4CAB100064E04C /* work.c */,
);
- name = "libmediafork Sources";
+ name = "libhb Sources";
sourceTree = "<group>";
};
- 526FBC920B4CAA120064E04C /* MediaForkCLI Sources */ = {
+ 526FBC920B4CAA120064E04C /* HandBrakeCLI Sources */ = {
isa = PBXGroup;
children = (
0DF377970B7BF99A00115CB0 /* fakexcode.cpp */,
526FBC760B4CA8F40064E04C /* test.c */,
);
- name = "MediaForkCLI Sources";
+ name = "HandBrakeCLI Sources";
sourceTree = "<group>";
};
- 526FBC930B4CAA260064E04C /* MediaFork Sources */ = {
+ 526FBC930B4CAA260064E04C /* HandBrake Sources */ = {
isa = PBXGroup;
children = (
- 4DE09E62082038A400FB751F /* MediaFork.plist */,
+ 0DFA5D060B8DD9040020BC09 /* HandBrake.plist */,
4D1FD381073D19CE00E46515 /* PictureController.h */,
4D1FD382073D19CE00E46515 /* PictureController.mm */,
4DF3C8CB052889CD00A80101 /* Controller.h */,
4D2AE78909CCB24C007E18F6 /* DriveDetector.m */,
4D2AE78A09CCB24C007E18F6 /* DriveDetector.h */,
);
- name = "MediaFork Sources";
+ name = "HandBrake Sources";
sourceTree = "<group>";
};
- 526FBC940B4CAA310064E04C /* Instant MediaFork Sources */ = {
+ 526FBC940B4CAA310064E04C /* Instant HandBrake Sources */ = {
isa = PBXGroup;
children = (
4D1EA31A0993B24700FDC1A2 /* ExpressController.h */,
4D1EA31B0993B24700FDC1A2 /* ExpressController.m */,
4D1EA2DC0993B01000FDC1A2 /* Express.plist */,
);
- name = "Instant MediaFork Sources";
+ name = "Instant HandBrake Sources";
sourceTree = "<group>";
};
/* End PBXGroup section */
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
- 0D096DFE0B707D1200A845D4 /* libmediafork dlib */ = {
+ 0D096DFE0B707D1200A845D4 /* libhb dlib */ = {
isa = PBXNativeTarget;
- buildConfigurationList = 0D096E650B707D5800A845D4 /* Build configuration list for PBXNativeTarget "libmediafork dlib" */;
+ buildConfigurationList = 0D096E650B707D5800A845D4 /* Build configuration list for PBXNativeTarget "libhb dlib" */;
buildPhases = (
0D096DFB0B707D1200A845D4 /* Headers */,
0D096DFC0B707D1200A845D4 /* Sources */,
);
dependencies = (
);
- name = "libmediafork dlib";
+ name = "libhb dlib";
productName = "libmediafork dlib";
- productReference = 0D096DFF0B707D1200A845D4 /* libmediafork.dylib */;
+ productReference = 0D096DFF0B707D1200A845D4 /* libhb.dylib */;
productType = "com.apple.product-type.library.dynamic";
};
- 0DFF0B710B6BC6E600549488 /* libmediafork */ = {
+ 0DFF0B710B6BC6E600549488 /* libhb */ = {
isa = PBXNativeTarget;
- buildConfigurationList = 0DFF0B730B6BC70400549488 /* Build configuration list for PBXNativeTarget "libmediafork" */;
+ buildConfigurationList = 0DFF0B730B6BC70400549488 /* Build configuration list for PBXNativeTarget "libhb" */;
buildPhases = (
0DFF0B6E0B6BC6E600549488 /* Headers */,
0DFF0B6F0B6BC6E600549488 /* Sources */,
);
dependencies = (
);
- name = libmediafork;
+ name = libhb;
productName = libmediafork;
- productReference = 0DFF0B720B6BC6E600549488 /* libmediafork.a */;
+ productReference = 0DFF0B720B6BC6E600549488 /* libhb.a */;
productType = "com.apple.product-type.library.static";
};
- 0DFF0C090B6BCEC200549488 /* MediaForkCLI */ = {
+ 0DFF0C090B6BCEC200549488 /* HandBrakeCLI */ = {
isa = PBXNativeTarget;
- buildConfigurationList = 0DFF0C0C0B6BCEE000549488 /* Build configuration list for PBXNativeTarget "MediaForkCLI" */;
+ buildConfigurationList = 0DFF0C0C0B6BCEE000549488 /* Build configuration list for PBXNativeTarget "HandBrakeCLI" */;
buildPhases = (
0DFF0C070B6BCEC200549488 /* Sources */,
0DFF0C080B6BCEC200549488 /* Frameworks */,
dependencies = (
0D6E35910B6BD5FA005AABB3 /* PBXTargetDependency */,
);
- name = MediaForkCLI;
+ name = HandBrakeCLI;
productName = MediaForkCLI;
- productReference = 0DFF0C0A0B6BCEC200549488 /* MediaForkCLI */;
+ productReference = 0DFF0C0A0B6BCEC200549488 /* HandBrakeCLI */;
productType = "com.apple.product-type.tool";
};
- 4D1EA2D90993B01000FDC1A2 /* Instant MediaFork */ = {
+ 4D1EA2D90993B01000FDC1A2 /* Instant HandBrake */ = {
isa = PBXNativeTarget;
- buildConfigurationList = 4D1EA2DD0993B01100FDC1A2 /* Build configuration list for PBXNativeTarget "Instant MediaFork" */;
+ buildConfigurationList = 4D1EA2DD0993B01100FDC1A2 /* Build configuration list for PBXNativeTarget "Instant HandBrake" */;
buildPhases = (
4D1EA2D60993B01000FDC1A2 /* Resources */,
4D1EA2D70993B01000FDC1A2 /* Sources */,
dependencies = (
0DFF0BF20B6BCCB400549488 /* PBXTargetDependency */,
);
- name = "Instant MediaFork";
+ name = "Instant HandBrake";
productName = "Instant HandBrake";
- productReference = 4D1EA2DA0993B01000FDC1A2 /* Instant MediaFork.app */;
+ productReference = 4D1EA2DA0993B01000FDC1A2 /* Instant HandBrake.app */;
productType = "com.apple.product-type.application";
};
- 4DD93F8D082036E8008E1322 /* MediaFork */ = {
+ 4DD93F8D082036E8008E1322 /* HandBrake */ = {
isa = PBXNativeTarget;
- buildConfigurationList = 4D4E7BC0087804870051572B /* Build configuration list for PBXNativeTarget "MediaFork" */;
+ buildConfigurationList = 4D4E7BC0087804870051572B /* Build configuration list for PBXNativeTarget "HandBrake" */;
buildPhases = (
4DD93F8E082036E8008E1322 /* Headers */,
4DD93F95082036E8008E1322 /* Resources */,
dependencies = (
0DFF0BF40B6BCCB900549488 /* PBXTargetDependency */,
);
- name = MediaFork;
+ name = HandBrake;
productName = HandBrake;
- productReference = 0D6E35760B6BD4F0005AABB3 /* MediaFork.app */;
+ productReference = 0D6E35760B6BD4F0005AABB3 /* HandBrake.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
29B97313FDCFA39411CA2CEA /* Project object */ = {
isa = PBXProject;
- buildConfigurationList = 4D4E7BC4087804870051572B /* Build configuration list for PBXProject "MediaFork" */;
+ buildConfigurationList = 4D4E7BC4087804870051572B /* Build configuration list for PBXProject "HandBrake" */;
hasScannedForEncodings = 1;
mainGroup = 29B97314FDCFA39411CA2CEA /* HandBrake */;
projectDirPath = "";
targets = (
- 4DD93F8D082036E8008E1322 /* MediaFork */,
- 4D1EA2D90993B01000FDC1A2 /* Instant MediaFork */,
- 0DFF0B710B6BC6E600549488 /* libmediafork */,
- 0DFF0C090B6BCEC200549488 /* MediaForkCLI */,
- 0D096DFE0B707D1200A845D4 /* libmediafork dlib */,
+ 4DD93F8D082036E8008E1322 /* HandBrake */,
+ 4D1EA2D90993B01000FDC1A2 /* Instant HandBrake */,
+ 0DFF0B710B6BC6E600549488 /* libhb */,
+ 0DFF0C090B6BCEC200549488 /* HandBrakeCLI */,
+ 0D096DFE0B707D1200A845D4 /* libhb dlib */,
);
};
/* End PBXProject section */
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 0D75EDC00B6FF9DA0090EA86 /* MediaFork.icns in Resources */,
+ 0DFA5CF80B8DD7B40020BC09 /* HandBrake.icns in Resources */,
52AFF86B0B59BD14000DA7C4 /* Express.plist in Resources */,
52AFF86A0B59BD07000DA7C4 /* InfoPlist.strings in Resources */,
4D1EA3010993B13700FDC1A2 /* Express.nib in Resources */,
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
+ 0DFA5D070B8DD9040020BC09 /* HandBrake.plist in Resources */,
4DD93F96082036E8008E1322 /* MainMenu.nib in Resources */,
4DD93F97082036E8008E1322 /* InfoPlist.strings in Resources */,
- 4DD93F98082036E8008E1322 /* MediaFork.icns in Resources */,
- 4DE09E63082038A400FB751F /* MediaFork.plist in Resources */,
+ 0DFA5C7B0B8DD1E90020BC09 /* HandBrake.icns in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
+ 0DFA5CD90B8DD4210020BC09 /* declpcm.c in Sources */,
+ 0DFA5CDA0B8DD4210020BC09 /* decmpeg2.c in Sources */,
+ 0DFA5CDB0B8DD4210020BC09 /* decsub.c in Sources */,
+ 0DFA5CDC0B8DD4210020BC09 /* demuxmpeg.c in Sources */,
+ 0DFA5CDD0B8DD4210020BC09 /* dvd.c in Sources */,
+ 0DFA5CDE0B8DD4210020BC09 /* encavcodec.c in Sources */,
+ 0DFA5CDF0B8DD4210020BC09 /* encfaac.c in Sources */,
+ 0DFA5CE00B8DD4210020BC09 /* enclame.c in Sources */,
+ 0DFA5CE10B8DD4210020BC09 /* encvorbis.c in Sources */,
+ 0DFA5CE20B8DD4210020BC09 /* encx264.c in Sources */,
+ 0DFA5CE30B8DD4210020BC09 /* encxvid.c in Sources */,
+ 0DFA5CE40B8DD4210020BC09 /* fifo.c in Sources */,
+ 0DFA5CE50B8DD4210020BC09 /* hb.c in Sources */,
+ 0DFA5CE60B8DD4210020BC09 /* ipodutil.cpp in Sources */,
+ 0DFA5CE70B8DD4210020BC09 /* muxavi.c in Sources */,
+ 0DFA5CE80B8DD4210020BC09 /* muxcommon.c in Sources */,
+ 0DFA5CE90B8DD4210020BC09 /* muxmp4.c in Sources */,
+ 0DFA5CEA0B8DD4210020BC09 /* muxogm.c in Sources */,
+ 0DFA5CEB0B8DD4210020BC09 /* ports.c in Sources */,
+ 0DFA5CEC0B8DD4210020BC09 /* reader.c in Sources */,
+ 0DFA5CED0B8DD4210020BC09 /* render.c in Sources */,
+ 0DFA5CEE0B8DD4210020BC09 /* scan.c in Sources */,
+ 0DFA5CEF0B8DD4210020BC09 /* sync.c in Sources */,
+ 0DFA5CF00B8DD4210020BC09 /* update.c in Sources */,
+ 0DFA5CF10B8DD4210020BC09 /* work.c in Sources */,
0D096E010B707D3400A845D4 /* common.c in Sources */,
0D096E020B707D3400A845D4 /* deca52.c in Sources */,
0D096E030B707D3400A845D4 /* decavcodec.c in Sources */,
- 0D096E040B707D3400A845D4 /* declpcm.c in Sources */,
- 0D096E050B707D3400A845D4 /* decmpeg2.c in Sources */,
- 0D096E060B707D3400A845D4 /* decsub.c in Sources */,
- 0D096E070B707D3400A845D4 /* demuxmpeg.c in Sources */,
- 0D096E080B707D3400A845D4 /* dvd.c in Sources */,
- 0D096E090B707D3400A845D4 /* encavcodec.c in Sources */,
- 0D096E0A0B707D3400A845D4 /* encfaac.c in Sources */,
- 0D096E0B0B707D3400A845D4 /* enclame.c in Sources */,
- 0D096E0C0B707D3400A845D4 /* encvorbis.c in Sources */,
- 0D096E0D0B707D3400A845D4 /* encx264.c in Sources */,
- 0D096E0E0B707D3400A845D4 /* encxvid.c in Sources */,
- 0D096E0F0B707D3400A845D4 /* fifo.c in Sources */,
- 0D096E100B707D3400A845D4 /* muxavi.c in Sources */,
- 0D096E110B707D3400A845D4 /* muxcommon.c in Sources */,
- 0D096E120B707D3400A845D4 /* muxmp4.c in Sources */,
- 0D096E130B707D3400A845D4 /* muxogm.c in Sources */,
- 0D096E140B707D3400A845D4 /* ports.c in Sources */,
- 0D096E150B707D3400A845D4 /* reader.c in Sources */,
- 0D096E160B707D3400A845D4 /* render.c in Sources */,
- 0D096E170B707D3400A845D4 /* scan.c in Sources */,
- 0D096E180B707D3400A845D4 /* sync.c in Sources */,
- 0D096E190B707D3400A845D4 /* update.c in Sources */,
- 0D096E1A0B707D3400A845D4 /* work.c in Sources */,
- 0D9C5CE60B77E85B00828855 /* mediafork.c in Sources */,
- 0DF377430B7BEACA00115CB0 /* ipodutil.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
+ 0DFA5CC00B8DD3FE0020BC09 /* declpcm.c in Sources */,
+ 0DFA5CC10B8DD3FE0020BC09 /* decmpeg2.c in Sources */,
+ 0DFA5CC20B8DD3FE0020BC09 /* decsub.c in Sources */,
+ 0DFA5CC30B8DD3FE0020BC09 /* demuxmpeg.c in Sources */,
+ 0DFA5CC40B8DD3FE0020BC09 /* dvd.c in Sources */,
+ 0DFA5CC50B8DD3FE0020BC09 /* encavcodec.c in Sources */,
+ 0DFA5CC60B8DD3FE0020BC09 /* encfaac.c in Sources */,
+ 0DFA5CC70B8DD3FE0020BC09 /* enclame.c in Sources */,
+ 0DFA5CC80B8DD3FE0020BC09 /* encvorbis.c in Sources */,
+ 0DFA5CC90B8DD3FE0020BC09 /* encx264.c in Sources */,
+ 0DFA5CCA0B8DD3FE0020BC09 /* encxvid.c in Sources */,
+ 0DFA5CCB0B8DD3FE0020BC09 /* fifo.c in Sources */,
+ 0DFA5CCC0B8DD3FE0020BC09 /* hb.c in Sources */,
+ 0DFA5CCD0B8DD3FE0020BC09 /* ipodutil.cpp in Sources */,
+ 0DFA5CCE0B8DD3FE0020BC09 /* muxavi.c in Sources */,
+ 0DFA5CCF0B8DD3FE0020BC09 /* muxcommon.c in Sources */,
+ 0DFA5CD00B8DD3FE0020BC09 /* muxmp4.c in Sources */,
+ 0DFA5CD10B8DD3FE0020BC09 /* muxogm.c in Sources */,
+ 0DFA5CD20B8DD3FE0020BC09 /* ports.c in Sources */,
+ 0DFA5CD30B8DD3FE0020BC09 /* reader.c in Sources */,
+ 0DFA5CD40B8DD3FE0020BC09 /* render.c in Sources */,
+ 0DFA5CD50B8DD3FE0020BC09 /* scan.c in Sources */,
+ 0DFA5CD60B8DD3FE0020BC09 /* sync.c in Sources */,
+ 0DFA5CD70B8DD3FE0020BC09 /* update.c in Sources */,
+ 0DFA5CD80B8DD3FE0020BC09 /* work.c in Sources */,
0DFF0B770B6BC72A00549488 /* common.c in Sources */,
0DFF0B790B6BC72A00549488 /* deca52.c in Sources */,
0DFF0B7A0B6BC72A00549488 /* decavcodec.c in Sources */,
- 0DFF0B7B0B6BC72A00549488 /* declpcm.c in Sources */,
- 0DFF0B7C0B6BC72A00549488 /* decmpeg2.c in Sources */,
- 0DFF0B7D0B6BC72A00549488 /* decsub.c in Sources */,
- 0DFF0B7E0B6BC72A00549488 /* demuxmpeg.c in Sources */,
- 0DFF0B7F0B6BC72A00549488 /* dvd.c in Sources */,
- 0DFF0B800B6BC72A00549488 /* encavcodec.c in Sources */,
- 0DFF0B810B6BC72A00549488 /* encfaac.c in Sources */,
- 0DFF0B820B6BC72A00549488 /* enclame.c in Sources */,
- 0DFF0B830B6BC72A00549488 /* encvorbis.c in Sources */,
- 0DFF0B840B6BC72A00549488 /* encx264.c in Sources */,
- 0DFF0B850B6BC72A00549488 /* encxvid.c in Sources */,
- 0DFF0B860B6BC72A00549488 /* fifo.c in Sources */,
- 0DFF0B8B0B6BC72A00549488 /* muxavi.c in Sources */,
- 0DFF0B8C0B6BC72A00549488 /* muxcommon.c in Sources */,
- 0DFF0B8D0B6BC72A00549488 /* muxmp4.c in Sources */,
- 0DFF0B8E0B6BC72A00549488 /* muxogm.c in Sources */,
- 0DFF0B8F0B6BC72A00549488 /* ports.c in Sources */,
- 0DFF0B910B6BC72A00549488 /* reader.c in Sources */,
- 0DFF0B920B6BC72A00549488 /* render.c in Sources */,
- 0DFF0B930B6BC72A00549488 /* scan.c in Sources */,
- 0DFF0B940B6BC72A00549488 /* sync.c in Sources */,
- 0DFF0B950B6BC72A00549488 /* update.c in Sources */,
- 0DFF0B960B6BC72A00549488 /* work.c in Sources */,
- 0D9C5CE50B77E85B00828855 /* mediafork.c in Sources */,
- 0DF377440B7BEACA00115CB0 /* ipodutil.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* Begin PBXTargetDependency section */
0D6E35910B6BD5FA005AABB3 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
- target = 0DFF0B710B6BC6E600549488 /* libmediafork */;
+ target = 0DFF0B710B6BC6E600549488 /* libhb */;
targetProxy = 0D6E35900B6BD5FA005AABB3 /* PBXContainerItemProxy */;
};
0DFF0BF20B6BCCB400549488 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
- target = 0DFF0B710B6BC6E600549488 /* libmediafork */;
+ target = 0DFF0B710B6BC6E600549488 /* libhb */;
targetProxy = 0DFF0BF10B6BCCB400549488 /* PBXContainerItemProxy */;
};
0DFF0BF40B6BCCB900549488 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
- target = 0DFF0B710B6BC6E600549488 /* libmediafork */;
+ target = 0DFF0B710B6BC6E600549488 /* libhb */;
targetProxy = 0DFF0BF30B6BCCB900549488 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
0D096E660B707D5800A845D4 /* Development */ = {
isa = XCBuildConfiguration;
buildSettings = {
- CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/../libmediafork";
+ CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/../libhb";
COPY_PHASE_STRIP = NO;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
LIBRARY_SEARCH_PATHS = "";
MACOSX_DEPLOYMENT_TARGET = 10.4;
OTHER_CFLAGS = (
- "-D__LIBMEDIAFORK__",
+ "-D__LIBHB__",
"-DSYS_DARWIN",
"$(OTHER_CFLAGS_QUOTED_1)",
- "-DHB_BUILD=20070211",
"-DUSE_PTHREAD",
);
- OTHER_CFLAGS_QUOTED_1 = "-DHB_VERSION=\\\"0.8.0\\\"";
+ OTHER_CFLAGS_QUOTED_1 = "-DHB_VERSION=\\\"0.8.0b1\\\" -DHB_BUILD=2007021100 ";
OTHER_LDFLAGS = (
../contrib/lib/libmp4v2.a,
+ ../contrib/lib/libquicktime.a,
../contrib/lib/liba52.a,
../contrib/lib/libavformat.a,
../contrib/lib/libavcodec.a,
);
PER_ARCH_CFLAGS_ppc = "-DWORDS_BIGENDIAN";
PREBINDING = NO;
- PRODUCT_NAME = mediafork;
+ PRODUCT_NAME = hb;
SEPARATE_STRIP = YES;
ZERO_LINK = NO;
};
0D096E670B707D5800A845D4 /* Deployment */ = {
isa = XCBuildConfiguration;
buildSettings = {
- CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/../libmediafork";
+ CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/../libhb";
COPY_PHASE_STRIP = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
LIBRARY_SEARCH_PATHS = "";
MACOSX_DEPLOYMENT_TARGET = 10.4;
OTHER_CFLAGS = (
- "-D__LIBMEDIAFORK__",
+ "-D__LIBHB__",
"-DSYS_DARWIN",
"$(OTHER_CFLAGS_QUOTED_1)",
- "-DHB_BUILD=20070211",
"-DUSE_PTHREAD",
);
- OTHER_CFLAGS_QUOTED_1 = "-DHB_VERSION=\\\"0.8.0\\\"";
+ OTHER_CFLAGS_QUOTED_1 = "-DHB_VERSION=\\\"0.8.0b1\\\" -DHB_BUILD=2007021100 ";
OTHER_LDFLAGS = (
../contrib/lib/libmp4v2.a,
+ ../contrib/lib/libquicktime.a,
../contrib/lib/liba52.a,
../contrib/lib/libavformat.a,
../contrib/lib/libavcodec.a,
);
PER_ARCH_CFLAGS_ppc = "-DWORDS_BIGENDIAN";
PREBINDING = NO;
- PRODUCT_NAME = mediafork;
+ PRODUCT_NAME = hb;
SEPARATE_STRIP = YES;
ZERO_LINK = NO;
};
0D096E680B707D5800A845D4 /* Default */ = {
isa = XCBuildConfiguration;
buildSettings = {
- CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/../libmediafork";
+ CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/../libhb";
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
EXECUTABLE_PREFIX = lib;
LIBRARY_SEARCH_PATHS = "";
MACOSX_DEPLOYMENT_TARGET = 10.4;
OTHER_CFLAGS = (
- "-D__LIBMEDIAFORK__",
+ "-D__LIBHB__",
"-DSYS_DARWIN",
"$(OTHER_CFLAGS_QUOTED_1)",
- "-DHB_BUILD=20070211",
"-DUSE_PTHREAD",
);
- OTHER_CFLAGS_QUOTED_1 = "-DHB_VERSION=\\\"0.8.0\\\"";
+ OTHER_CFLAGS_QUOTED_1 = "-DHB_VERSION=\\\"0.8.0b1\\\" -DHB_BUILD=2007021100 ";
OTHER_LDFLAGS = (
../contrib/lib/libmp4v2.a,
+ ../contrib/lib/libquicktime.a,
../contrib/lib/liba52.a,
../contrib/lib/libavformat.a,
../contrib/lib/libavcodec.a,
);
PER_ARCH_CFLAGS_ppc = "-DWORDS_BIGENDIAN";
PREBINDING = NO;
- PRODUCT_NAME = mediafork;
+ PRODUCT_NAME = hb;
SEPARATE_STRIP = YES;
ZERO_LINK = NO;
};
0D096E690B707D5800A845D4 /* UB */ = {
isa = XCBuildConfiguration;
buildSettings = {
- CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/../libmediafork";
+ CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/../libhb";
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
EXECUTABLE_PREFIX = lib;
LIBRARY_SEARCH_PATHS = "";
MACOSX_DEPLOYMENT_TARGET = 10.4;
OTHER_CFLAGS = (
- "-D__LIBMEDIAFORK__",
+ "-D__LIBHB__",
"-DSYS_DARWIN",
"$(OTHER_CFLAGS_QUOTED_1)",
- "-DHB_BUILD=2007021100",
"-DUSE_PTHREAD",
);
- OTHER_CFLAGS_QUOTED_1 = "-DHB_VERSION=\\\"0.8.0b1\\\"";
+ OTHER_CFLAGS_QUOTED_1 = "-DHB_VERSION=\\\"0.8.0b1\\\" -DHB_BUILD=2007021100 ";
OTHER_LDFLAGS = (
../contrib/lib/libmp4v2.a,
../contrib/lib/liba52.a,
);
PER_ARCH_CFLAGS_ppc = "-DWORDS_BIGENDIAN";
PREBINDING = NO;
- PRODUCT_NAME = mediafork;
+ PRODUCT_NAME = hb;
SEPARATE_STRIP = YES;
ZERO_LINK = NO;
};
0D88F56B0B6CDCD400F81F26 /* UB */ = {
isa = XCBuildConfiguration;
buildSettings = {
- CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/../libmediafork";
+ CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/../libhb";
GCC_ENABLE_FIX_AND_CONTINUE = YES;
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
GCC_MODEL_TUNING = G5;
HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/../contrib/include";
INSTALL_PATH = /usr/local/lib;
OTHER_CFLAGS = (
- "-D__LIBMEDIAFORK__",
+ "-D__LIBHB__",
"-DSYS_DARWIN",
"$(OTHER_CFLAGS_QUOTED_1)",
- "-DHB_BUILD=2007021100",
"-DUSE_PTHREAD",
);
- OTHER_CFLAGS_QUOTED_1 = "-DHB_VERSION=\\\"0.8.0b1\\\"";
+ OTHER_CFLAGS_QUOTED_1 = "-DHB_VERSION=\\\"0.8.0b1\\\" -DHB_BUILD=2007021100";
OTHER_LDFLAGS = "";
PER_ARCH_CFLAGS_ppc = "-DWORDS_BIGENDIAN";
PREBINDING = NO;
- PRODUCT_NAME = mediafork;
+ PRODUCT_NAME = hb;
SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
ZERO_LINK = NO;
};
FRAMEWORK_SEARCH_PATHS = "";
GCC_OPTIMIZATION_LEVEL = s;
GCC_TREAT_WARNINGS_AS_ERRORS = NO;
- HEADER_SEARCH_PATHS = ../libmediafork;
- INFOPLIST_FILE = MediaFork.plist;
+ HEADER_SEARCH_PATHS = ../libhb;
+ INFOPLIST_FILE = HandBrake.plist;
LIBRARY_SEARCH_PATHS = "";
OTHER_CFLAGS = "";
OTHER_LDFLAGS = (
- ../libmediafork/libmediafork.a,
+ ../libhb/libhb.a,
../contrib/lib/libmp4v2.a,
../contrib/lib/liba52.a,
../contrib/lib/libavformat.a,
../contrib/lib/libx264.a,
../contrib/lib/libxvidcore.a,
);
- PRODUCT_NAME = MediaFork;
+ PRODUCT_NAME = HandBrake;
SECTORDER_FLAGS = "";
WARNING_CFLAGS = (
"-Wmost",
GCC_OPTIMIZATION_LEVEL = s;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h";
- HEADER_SEARCH_PATHS = ../libmediafork;
+ HEADER_SEARCH_PATHS = ../libhb;
INFOPLIST_FILE = Express.plist;
INSTALL_PATH = "$(HOME)/Applications";
LIBRARY_SEARCH_PATHS = (
);
LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)\"";
OTHER_LDFLAGS = (
- ../libmediafork/libmediafork.a,
+ ../libhb/libhb.a,
../contrib/lib/libmp4v2.a,
../contrib/lib/liba52.a,
../contrib/lib/libavformat.a,
../contrib/lib/libxvidcore.a,
);
PREBINDING = NO;
- PRODUCT_NAME = "Instant MediaFork";
+ PRODUCT_NAME = "Instant HandBrake";
SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
WRAPPER_EXTENSION = app;
ZERO_LINK = NO;
GCC_ENABLE_FIX_AND_CONTINUE = YES;
GCC_MODEL_TUNING = G5;
GCC_OPTIMIZATION_LEVEL = s;
- HEADER_SEARCH_PATHS = ../libmediafork;
+ HEADER_SEARCH_PATHS = ../libhb;
INSTALL_PATH = /usr/local/bin;
LIBRARY_SEARCH_PATHS = "";
OTHER_CFLAGS = "";
OTHER_LDFLAGS = (
- ../libmediafork/libmediafork.a,
+ ../libhb/libhb.a,
../contrib/lib/libmp4v2.a,
../contrib/lib/liba52.a,
../contrib/lib/libavformat.a,
"-lz",
);
PREBINDING = NO;
- PRODUCT_NAME = MediaForkCLI;
+ PRODUCT_NAME = HandBrakeCLI;
SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
ZERO_LINK = NO;
};
0DFF0B740B6BC70400549488 /* Development */ = {
isa = XCBuildConfiguration;
buildSettings = {
- CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/../libmediafork";
+ CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/../libhb";
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
GCC_ENABLE_FIX_AND_CONTINUE = YES;
HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/../contrib/include";
INSTALL_PATH = /usr/local/lib;
OTHER_CFLAGS = (
- "-D__LIBMEDIAFORK__",
+ "-D__LIBHB__",
"-DSYS_DARWIN",
"$(OTHER_CFLAGS_QUOTED_1)",
- "-DHB_BUILD=20070211",
"-DUSE_PTHREAD",
);
- OTHER_CFLAGS_QUOTED_1 = "-DHB_VERSION=\\\"0.8.0\\\"";
+ OTHER_CFLAGS_QUOTED_1 = "-DHB_VERSION=\\\"0.8.0b1\\\" -DHB_BUILD=2007021100";
OTHER_LDFLAGS = "";
PER_ARCH_CFLAGS_ppc = "-DWORDS_BIGENDIAN";
PREBINDING = NO;
- PRODUCT_NAME = mediafork;
+ PRODUCT_NAME = hb;
SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
ZERO_LINK = NO;
};
0DFF0B750B6BC70400549488 /* Deployment */ = {
isa = XCBuildConfiguration;
buildSettings = {
- CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/../libmediafork";
+ CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/../libhb";
COPY_PHASE_STRIP = YES;
GCC_ENABLE_FIX_AND_CONTINUE = NO;
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/../contrib/include";
INSTALL_PATH = /usr/local/lib;
OTHER_CFLAGS = (
- "-D__LIBMEDIAFORK__",
+ "-D__LIBHB__",
"-DSYS_DARWIN",
"$(OTHER_CFLAGS_QUOTED_1)",
- "-DHB_BUILD=20070211",
"-DUSE_PTHREAD",
);
- OTHER_CFLAGS_QUOTED_1 = "-DHB_VERSION=\\\"0.8.0\\\"";
+ OTHER_CFLAGS_QUOTED_1 = "-DHB_VERSION=\\\"0.8.0b1\\\" -DHB_BUILD=2007021100";
OTHER_LDFLAGS = "";
PER_ARCH_CFLAGS_ppc = "-DWORDS_BIGENDIAN";
PREBINDING = NO;
- PRODUCT_NAME = mediafork;
+ PRODUCT_NAME = hb;
SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
ZERO_LINK = NO;
};
0DFF0B760B6BC70400549488 /* Default */ = {
isa = XCBuildConfiguration;
buildSettings = {
- CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/../libmediafork";
+ CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/../libhb";
GCC_ENABLE_FIX_AND_CONTINUE = YES;
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
GCC_MODEL_TUNING = G5;
HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/../contrib/include";
INSTALL_PATH = /usr/local/lib;
OTHER_CFLAGS = (
- "-D__LIBMEDIAFORK__",
+ "-D__LIBHB__",
"-DSYS_DARWIN",
"$(OTHER_CFLAGS_QUOTED_1)",
- "-DHB_BUILD=20070211",
"-DUSE_PTHREAD",
);
- OTHER_CFLAGS_QUOTED_1 = "-DHB_VERSION=\\\"0.8.0\\\"";
+ OTHER_CFLAGS_QUOTED_1 = "-DHB_VERSION=\\\"0.8.0b1\\\" -DHB_BUILD=2007021100";
OTHER_LDFLAGS = "";
PER_ARCH_CFLAGS_ppc = "-DWORDS_BIGENDIAN";
PREBINDING = NO;
- PRODUCT_NAME = mediafork;
+ PRODUCT_NAME = hb;
SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
ZERO_LINK = NO;
};
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
GCC_MODEL_TUNING = G5;
GCC_OPTIMIZATION_LEVEL = s;
- HEADER_SEARCH_PATHS = ../libmediafork;
+ HEADER_SEARCH_PATHS = ../libhb;
INSTALL_PATH = /usr/local/bin;
LIBRARY_SEARCH_PATHS = "";
OTHER_CFLAGS = "";
OTHER_LDFLAGS = (
- ../libmediafork/libmediafork.a,
+ ../libhb/libhb.a,
+ ../contrib/lib/libquicktime.a,
../contrib/lib/libmp4v2.a,
../contrib/lib/liba52.a,
../contrib/lib/libavformat.a,
"-lz",
);
PREBINDING = NO;
- PRODUCT_NAME = MediaForkCLI;
+ PRODUCT_NAME = HandBrakeCLI;
SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
ZERO_LINK = NO;
};
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_MODEL_TUNING = G5;
GCC_OPTIMIZATION_LEVEL = s;
- HEADER_SEARCH_PATHS = ../libmediafork;
+ HEADER_SEARCH_PATHS = ../libhb;
INSTALL_PATH = /usr/local/bin;
LIBRARY_SEARCH_PATHS = "";
OTHER_CFLAGS = "";
OTHER_LDFLAGS = (
- ../libmediafork/libmediafork.a,
+ ../libhb/libhb.a,
+ ../contrib/lib/libquicktime.a,
../contrib/lib/libmp4v2.a,
../contrib/lib/liba52.a,
../contrib/lib/libavformat.a,
"-lz",
);
PREBINDING = NO;
- PRODUCT_NAME = MediaForkCLI;
+ PRODUCT_NAME = HandBrakeCLI;
SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
ZERO_LINK = NO;
};
GCC_ENABLE_FIX_AND_CONTINUE = YES;
GCC_MODEL_TUNING = G5;
GCC_OPTIMIZATION_LEVEL = s;
- HEADER_SEARCH_PATHS = ../libmediafork;
+ HEADER_SEARCH_PATHS = ../libhb;
INSTALL_PATH = /usr/local/bin;
LIBRARY_SEARCH_PATHS = "";
OTHER_CFLAGS = "";
OTHER_LDFLAGS = (
- ../libmediafork/libmediafork.a,
+ ../libhb/libhb.a,
+ ../contrib/lib/libquicktime.a,
../contrib/lib/libmp4v2.a,
../contrib/lib/liba52.a,
../contrib/lib/libavformat.a,
"-lz",
);
PREBINDING = NO;
- PRODUCT_NAME = MediaForkCLI;
+ PRODUCT_NAME = HandBrakeCLI;
SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
ZERO_LINK = NO;
};
GCC_OPTIMIZATION_LEVEL = s;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h";
- HEADER_SEARCH_PATHS = ../libmediafork;
+ HEADER_SEARCH_PATHS = ../libhb;
INFOPLIST_FILE = Express.plist;
INSTALL_PATH = "$(HOME)/Applications";
LIBRARY_SEARCH_PATHS = (
);
LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)\"";
OTHER_LDFLAGS = (
- ../libmediafork/libmediafork.a,
+ ../libhb/libhb.a,
+ ../contrib/lib/libquicktime.a,
../contrib/lib/libmp4v2.a,
../contrib/lib/liba52.a,
../contrib/lib/libavformat.a,
../contrib/lib/libxvidcore.a,
);
PREBINDING = NO;
- PRODUCT_NAME = "Instant MediaFork";
+ PRODUCT_NAME = "Instant HandBrake";
SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
WRAPPER_EXTENSION = app;
ZERO_LINK = NO;
GCC_OPTIMIZATION_LEVEL = s;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h";
- HEADER_SEARCH_PATHS = ../libmediafork;
+ HEADER_SEARCH_PATHS = ../libhb;
INFOPLIST_FILE = Express.plist;
INSTALL_PATH = "$(HOME)/Applications";
LIBRARY_SEARCH_PATHS = (
);
LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)\"";
OTHER_LDFLAGS = (
- ../libmediafork/libmediafork.a,
+ ../libhb/libhb.a,
+ ../contrib/lib/libquicktime.a,
../contrib/lib/libmp4v2.a,
../contrib/lib/liba52.a,
../contrib/lib/libavformat.a,
../contrib/lib/libxvidcore.a,
);
PREBINDING = NO;
- PRODUCT_NAME = "Instant MediaFork";
+ PRODUCT_NAME = "Instant HandBrake";
SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
WRAPPER_EXTENSION = app;
ZERO_LINK = NO;
GCC_OPTIMIZATION_LEVEL = s;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h";
- HEADER_SEARCH_PATHS = ../libmediafork;
+ HEADER_SEARCH_PATHS = ../libhb;
INFOPLIST_FILE = Express.plist;
INSTALL_PATH = "$(HOME)/Applications";
LIBRARY_SEARCH_PATHS = (
);
LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)\"";
OTHER_LDFLAGS = (
- ../libmediafork/libmediafork.a,
+ ../libhb/libhb.a,
+ ../contrib/lib/libquicktime.a,
../contrib/lib/libmp4v2.a,
../contrib/lib/liba52.a,
../contrib/lib/libavformat.a,
../contrib/lib/libxvidcore.a,
);
PREBINDING = NO;
- PRODUCT_NAME = "Instant MediaFork";
+ PRODUCT_NAME = "Instant HandBrake";
SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
WRAPPER_EXTENSION = app;
ZERO_LINK = NO;
4D4E7BC1087804870051572B /* Development */ = {
isa = XCBuildConfiguration;
buildSettings = {
+ CONFIGURATION_BUILD_DIR = ..;
COPY_PHASE_STRIP = NO;
- CURRENT_PROJECT_VERSION = 0.8.0;
+ CURRENT_PROJECT_VERSION = 0.8.0b1;
FRAMEWORK_SEARCH_PATHS = "";
GCC_DYNAMIC_NO_PIC = YES;
GCC_ENABLE_FIX_AND_CONTINUE = NO;
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
GCC_OPTIMIZATION_LEVEL = s;
GCC_TREAT_WARNINGS_AS_ERRORS = NO;
- HEADER_SEARCH_PATHS = ../libmediafork;
- INFOPLIST_FILE = MediaFork.plist;
+ HEADER_SEARCH_PATHS = ../libhb;
+ INFOPLIST_FILE = HandBrake.plist;
LIBRARY_SEARCH_PATHS = "";
OTHER_CFLAGS = "";
OTHER_LDFLAGS = (
- ../libmediafork/libmediafork.a,
+ ../libhb/libhb.a,
+ ../contrib/lib/libquicktime.a,
../contrib/lib/libmp4v2.a,
../contrib/lib/liba52.a,
../contrib/lib/libavformat.a,
../contrib/lib/libx264.a,
../contrib/lib/libxvidcore.a,
);
- PRODUCT_NAME = MediaFork;
+ PRODUCT_NAME = HandBrake;
SECTORDER_FLAGS = "";
WARNING_CFLAGS = (
"-Wmost",
4D4E7BC2087804870051572B /* Deployment */ = {
isa = XCBuildConfiguration;
buildSettings = {
+ CONFIGURATION_BUILD_DIR = ..;
COPY_PHASE_STRIP = YES;
- CURRENT_PROJECT_VERSION = 0.8.0;
+ CURRENT_PROJECT_VERSION = 0.8.0b1;
FRAMEWORK_SEARCH_PATHS = "";
GCC_ENABLE_FIX_AND_CONTINUE = NO;
GCC_OPTIMIZATION_LEVEL = s;
GCC_TREAT_WARNINGS_AS_ERRORS = NO;
- HEADER_SEARCH_PATHS = ../libmediafork;
- INFOPLIST_FILE = MediaFork.plist;
+ HEADER_SEARCH_PATHS = ../libhb;
+ INFOPLIST_FILE = HandBrake.plist;
LIBRARY_SEARCH_PATHS = "";
OTHER_CFLAGS = "";
OTHER_LDFLAGS = (
- ../libmediafork/libmediafork.a,
+ ../libhb/libhb.a,
+ ../contrib/lib/libquicktime.a,
../contrib/lib/libmp4v2.a,
../contrib/lib/liba52.a,
../contrib/lib/libavformat.a,
../contrib/lib/libx264.a,
../contrib/lib/libxvidcore.a,
);
- PRODUCT_NAME = MediaFork;
+ PRODUCT_NAME = HandBrake;
SECTORDER_FLAGS = "";
WARNING_CFLAGS = (
"-Wmost",
4D4E7BC3087804870051572B /* Default */ = {
isa = XCBuildConfiguration;
buildSettings = {
- CURRENT_PROJECT_VERSION = 0.8.0;
+ CONFIGURATION_BUILD_DIR = ..;
+ CURRENT_PROJECT_VERSION = 0.8.0b1;
FRAMEWORK_SEARCH_PATHS = "";
GCC_OPTIMIZATION_LEVEL = s;
GCC_TREAT_WARNINGS_AS_ERRORS = NO;
- HEADER_SEARCH_PATHS = ../libmediafork;
- INFOPLIST_FILE = MediaFork.plist;
+ HEADER_SEARCH_PATHS = ../libhb;
+ INFOPLIST_FILE = HandBrake.plist;
LIBRARY_SEARCH_PATHS = "";
OTHER_CFLAGS = "";
OTHER_LDFLAGS = (
- ../libmediafork/libmediafork.a,
+ ../libhb/libhb.a,
+ ../contrib/lib/libquicktime.a,
../contrib/lib/libmp4v2.a,
../contrib/lib/liba52.a,
../contrib/lib/libavformat.a,
../contrib/lib/libx264.a,
../contrib/lib/libxvidcore.a,
);
- PRODUCT_NAME = MediaFork;
+ PRODUCT_NAME = HandBrake;
SECTORDER_FLAGS = "";
WARNING_CFLAGS = (
"-Wmost",
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
- 0D096E650B707D5800A845D4 /* Build configuration list for PBXNativeTarget "libmediafork dlib" */ = {
+ 0D096E650B707D5800A845D4 /* Build configuration list for PBXNativeTarget "libhb dlib" */ = {
isa = XCConfigurationList;
buildConfigurations = (
0D096E660B707D5800A845D4 /* Development */,
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Default;
};
- 0DFF0B730B6BC70400549488 /* Build configuration list for PBXNativeTarget "libmediafork" */ = {
+ 0DFF0B730B6BC70400549488 /* Build configuration list for PBXNativeTarget "libhb" */ = {
isa = XCConfigurationList;
buildConfigurations = (
0DFF0B740B6BC70400549488 /* Development */,
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Default;
};
- 0DFF0C0C0B6BCEE000549488 /* Build configuration list for PBXNativeTarget "MediaForkCLI" */ = {
+ 0DFF0C0C0B6BCEE000549488 /* Build configuration list for PBXNativeTarget "HandBrakeCLI" */ = {
isa = XCConfigurationList;
buildConfigurations = (
0DFF0C0D0B6BCEE000549488 /* Development */,
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Default;
};
- 4D1EA2DD0993B01100FDC1A2 /* Build configuration list for PBXNativeTarget "Instant MediaFork" */ = {
+ 4D1EA2DD0993B01100FDC1A2 /* Build configuration list for PBXNativeTarget "Instant HandBrake" */ = {
isa = XCConfigurationList;
buildConfigurations = (
4D1EA2DE0993B01100FDC1A2 /* Development */,
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Default;
};
- 4D4E7BC0087804870051572B /* Build configuration list for PBXNativeTarget "MediaFork" */ = {
+ 4D4E7BC0087804870051572B /* Build configuration list for PBXNativeTarget "HandBrake" */ = {
isa = XCConfigurationList;
buildConfigurations = (
4D4E7BC1087804870051572B /* Development */,
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Default;
};
- 4D4E7BC4087804870051572B /* Build configuration list for PBXProject "MediaFork" */ = {
+ 4D4E7BC4087804870051572B /* Build configuration list for PBXProject "HandBrake" */ = {
isa = XCConfigurationList;
buildConfigurations = (
4D4E7BC5087804870051572B /* Development */,
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>CFBundleDevelopmentRegion</key>
- <string>English</string>
- <key>CFBundleDisplayName</key>
- <string>MediaFork</string>
- <key>CFBundleExecutable</key>
- <string>MediaFork</string>
- <key>CFBundleGetInfoString</key>
- <string>0.8.0b1</string>
- <key>CFBundleIconFile</key>
- <string>MediaFork</string>
- <key>CFBundleIdentifier</key>
- <string>org.mediafork.dynalias</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundleName</key>
- <string>MediaFork</string>
- <key>CFBundlePackageType</key>
- <string>APPL</string>
- <key>CFBundleShortVersionString</key>
- <string>0.8.0b1</string>
- <key>CFBundleSignature</key>
- <string>HB##</string>
- <key>CFBundleVersion</key>
- <string>2007021100</string>
- <key>NSHumanReadableCopyright</key>
- <string>MediaFork Devs</string>
- <key>NSMainNibFile</key>
- <string>MainMenu</string>
- <key>NSPrincipalClass</key>
- <string>NSApplication</string>
-</dict>
-</plist>
#include <Cocoa/Cocoa.h>
-#include "mediafork.h"
+#include "hb.h"
#include "PictureGLView.h"
@interface PictureController : NSObject
#include <Cocoa/Cocoa.h>
-#include "mediafork.h"
+#include "hb.h"
#define HB_ANIMATE_NONE 1
#define HB_ANIMATE_BACKWARD 2
IBOutlet NSButton * fDefDeinterlace;
IBOutlet NSButton * fDefPicSizeAutoSetipod;
IBOutlet NSButton * fDefPixelRatio;
+ IBOutlet NSButton * fDefAudioSurround;
+ IBOutlet NSButton * fDefPresetDrawerShow;
-
+ IBOutlet NSTextView * fDefAdvancedx264FlagsView;
}
- (IBAction) OpenPanel: (id) sender;
NSDictionary * appDefaults;
/* Unless the user specified otherwise, default is to check
- for update fDefPicSizeAutoSetipod*/
+ for update DefAdvancedx264Flags*/
defaults = [NSUserDefaults standardUserDefaults];
- appDefaults = [NSDictionary dictionaryWithObject:@"NO"
+ appDefaults = [NSDictionary dictionaryWithObject:@"YES"
forKey:@"CheckForUpdates"];
appDefaults = [NSDictionary dictionaryWithObject:@"English"
forKey:@"DefaultLanguage"];
forKey:@"DefaultPicSizeAutoiPod"];
appDefaults = [NSDictionary dictionaryWithObject:@"NO"
forKey:@"PixelRatio"];
-
+ appDefaults = [NSDictionary dictionaryWithObject:@"NO"
+ forKey:@"DefaultSurroundSound"];
+ appDefaults = [NSDictionary dictionaryWithObject:@""
+ forKey:@"DefAdvancedx264Flags"];
+ appDefaults = [NSDictionary dictionaryWithObject:@"YES"
+ forKey:@"DefaultPresetsDrawerShow"];
+ NSString *defDestDirectory = @"~/Desktop";
+ defDestDirectory = [defDestDirectory stringByExpandingTildeInPath];
+ appDefaults = [NSDictionary dictionaryWithObject:defDestDirectory forKey:@"LastDestinationDirectory"];
[defaults registerDefaults: appDefaults];
/* fUpdateCheck Check or uncheck according to the preferences */
-
- [fUpdateCheck setState: 0];
- [fUpdateCheck setEnabled: NO];
-
+ [fUpdateCheck setState: [defaults boolForKey:@"CheckForUpdates"] ?
+ NSOnState : NSOffState];
// Fill the languages combobox
[fdefaultlanguage removeAllItems];
/* fFileExtItunes Check or uncheck according to the preferences */
[fFileExtItunes setState: [defaults boolForKey:@"DefaultMpegName"] ?
- NSOnState : NSOffState];
-
- /* fDefCrf Check or uncheck according to the preferences*/
+ NSOnState : NSOffState];
+
+ /* fDefCrf Check or uncheck according to the preferences*/
[fDefCrf setState: [defaults boolForKey:@"DefaultCrf"] ?
- NSOnState : NSOffState];
-
+ NSOnState : NSOffState];
+
/* fDefDeinterlace Check or uncheck according to the preferences*/
[fDefDeinterlace setState: [defaults boolForKey:@"DefaultDeinterlaceOn"] ?
- NSOnState : NSOffState];
-
-/* fDefPicSizeAutoSetipod Check or uncheck according to the preferences*/
+ NSOnState : NSOffState];
+
+ /* fDefPicSizeAutoSetipod Check or uncheck according to the preferences*/
[fDefPicSizeAutoSetipod setState: [defaults boolForKey:@"DefaultPicSizeAutoiPod"] ?
- NSOnState : NSOffState];
- /* fDefPixelRatio */
+ NSOnState : NSOffState];
+ /* fDefPixelRatio */
[fDefPixelRatio setState: [defaults boolForKey:@"PixelRatio"] ?
- NSOnState : NSOffState];
+ NSOnState : NSOffState];
+
+ /* fDefAudioSurround Check or uncheck according to the preferences */
+ [fDefAudioSurround setState: [defaults boolForKey:@"DefaultSurroundSound"] ?
+ NSOnState : NSOffState];
+
+ /* Insert default DefAdvanced x264 Flag here */
+ if ([defaults stringForKey:@"DefAdvancedx264Flags"]!=NULL)
+ {
+ [fDefAdvancedx264FlagsView setString:[defaults stringForKey:@"DefAdvancedx264Flags"]];
+ }
+
+ /* fDefPresetDrawerShow Check or uncheck according to the preferences*/
+ [fDefPresetDrawerShow setState: [defaults boolForKey:@"DefaultPresetsDrawerShow"] ?
+ NSOnState : NSOffState];
+
}
- (IBAction) ClosePanel: (id) sender;
{
+ [self CheckChanged: sender];
[NSApp stopModal];
[fPanel orderOut: sender];
}
{
[defaults setObject:@"NO" forKey:@"PixelRatio"];
}
-
+
+
+ /* Use Surround Sound if available*/
+ if( [fDefAudioSurround state] == NSOnState )
+ {
+ [defaults setObject:@"YES" forKey:@"DefaultSurroundSound"];
+ }
+ else
+ {
+ [defaults setObject:@"NO" forKey:@"DefaultSurroundSound"];
+ }
+
+
+ /*Advanced x264 Flag string into */
+ [defaults setObject:[fDefAdvancedx264FlagsView string] forKey:@"DefAdvancedx264Flags"];
+
+ /* Show Presets Drawer upon launch*/
+ if( [fDefPresetDrawerShow state] == NSOnState )
+ {
+ [defaults setObject:@"YES" forKey:@"DefaultPresetsDrawerShow"];
+ }
+ else
+ {
+ [defaults setObject:@"NO" forKey:@"DefaultPresetsDrawerShow"];
+ }
+
}
@end
#include <Cocoa/Cocoa.h>
-#include "mediafork.h"
+#include "hb.h"
@interface QueueController : NSObject
{
#include <Cocoa/Cocoa.h>
-#include "mediafork.h"
+#include "hb.h"
@class DriveDetector;
@interface ScanController : NSObject
{
cp -r English.lproj $l.lproj
cp ../../../macosx/i18n/$l.strings $l.lproj/Localizable.strings
done
+
+echo Generating Info.plist with correct version information
+cd ..
+echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
+<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
+<plist version=\"1.0\">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleDisplayName</key>
+ <string>HandBrake</string>
+ <key>CFBundleExecutable</key>
+ <string>HandBrake</string>
+ <key>CFBundleGetInfoString</key>
+ <string>0.8.0b1</string>
+ <key>CFBundleIconFile</key>
+ <string>HandBrake</string>
+ <key>CFBundleIdentifier</key>
+ <string>org.m0k.handbrake</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>HandBrake</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string>$2</string>
+ <key>CFBundleSignature</key>
+ <string>HB##</string>
+ <key>CFBundleVersion</key>
+ <string>$3</string>
+ <key>NSHumanReadableCopyright</key>
+ <string>HandBrake Devs</string>
+ <key>NSMainNibFile</key>
+ <string>MainMenu</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>" > Info.plist
+
+if [ $4 == "DEV" ]; then
+echo Installing libquicktime Plugins in the $1 Bundle
+cd Resources
+mkdir plugins
+cd plugins
+cp ../../../../contrib/lib/libquicktime/* .
+fi
+
-To test the MediaFork dylib on MacOs X issue the following commands:
+To test the HandBrake dylib on MacOs X issue the following commands:
===================================================================
-cp ../libmediafork/libmediafork.dylib .
-gcc -I../libmediafork -L. -lmediafork test.c -o test -arch i386 -arch ppc
-install_name_tool -change /usr/local/lib/libmediafork.dylib @executable_path/libmediafork.dylib test
+cp ../libhb/libhb.dylib .
+gcc -I../libhb -L. -lhb test.c -o test -arch i386 -arch ppc
+install_name_tool -change /usr/local/lib/libhb.dylib @executable_path/libhb.dylib test
Validate that the test Binary is really using the shared library
------------------------------------------------------------------------
-To test the Mediafork .so on Linux issue the following commands:
+To test the HandBrake .so on Linux issue the following commands:
================================================================
-cp ../libmediafork/libmediafork.so .
-gcc -I../libmediafork -L. -lmediafork test.c -o test -lz -lpthread
+cp ../libhb/libhb.so .
+gcc -I../libhb -L. -lhb test.c -o test -lz -lpthread
Validate that the test Binary is really using the shared library
------------------------------------------------------------------------
-To test the MediaFork .dll on cygwin issue the following commands:
+To test the HandBrake .dll on cygwin issue the following commands:
==================================================================
-cp ../libmediafork/libmediafork.dll .
-gcc -I../libmediafork -L. -lmediafork test.c -o test -lz -lpthread
+cp ../libhb/libhb.dll .
+gcc -I../libhb -L. -lhb test.c -o test -lz -lpthread
-The resulting binary test should depend on the cygwin dll and the mediafork dll.
+The resulting binary test should depend on the cygwin dll and the hb dll.
I works like that but wasn't tested yet outside of cygwin.
SYSTEM = $(shell uname -s)
ifeq ($(SYSTEM),CYGWIN_NT-5.1)
- LIBS = a52 avformat avcodec avutil dvdread faac mp3lame mpeg2 vorbis vorbisenc ogg samplerate x264 xvidcore mp4v2
+ LIBS = a52 avformat avcodec avutil dvdread faac mp3lame mpeg2 vorbis vorbisenc ogg samplerate x264 xvidcore mp4v2 quicktime
else
- LIBS = a52 avformat avcodec avutil dvdread dvdcss faac mp3lame mpeg2 vorbis vorbisenc ogg samplerate x264 xvidcore mp4v2
+ LIBS = a52 avformat avcodec avutil dvdread dvdcss faac mp3lame mpeg2 vorbis vorbisenc ogg samplerate x264 xvidcore mp4v2 quicktime
endif
-all: ../MediaForkCLI
+all: ../HandBrakeCLI
-CFLAGS += -I../libmediafork
-CXXFLAGS += -I../libmediafork
-LIBS2 = ../libmediafork/libmediafork.a $(LIBS:%=../contrib/lib/lib%.a)
+CFLAGS += -I../libhb
+CXXFLAGS += -I../libhb
+LIBS2 = ../libhb/libhb.a $(LIBS:%=../contrib/lib/lib%.a)
LDFLAGS += $(LIBS2)
-../MediaForkCLI: test.c $(LIBS2)
+../HandBrakeCLI: test.c $(LIBS2)
@CMD="$(CC) $(CFLAGS) -o test.o -c test.c"; $$CMD || \
( echo "Compile line for $@ was:"; echo $$CMD; false )
- @echo "Link MediaForkCLI"
- @CMD="g++ $(CXXFLAGS) -o ../MediaForkCLI test.o $(LDFLAGS) -lz -lpthread"; $$CMD || \
+ @echo "Link HandBrakeCLI"
+ @CMD="g++ $(CXXFLAGS) -o ../HandBrakeCLI test.o $(LDFLAGS) -lz -lpthread"; $$CMD || \
( echo "Compile line for $@ was:"; echo $$CMD; false )
+ @CMD="rm -rf ../plugins ; mkdir ../plugins ; cp ../contrib/lib/libquicktime/* ../plugins"; $$CMD
clean:
- @echo "Clean MediaForkCLI"
- @$(RM) ../MediaForkCLI
- @$(RM) ../MediaForkCLI.exe
+ @echo "Clean HandBrakeCLI"
+ @$(RM) ../HandBrakeCLI
+ @$(RM) ../HandBrakeCLI.exe
@$(RM) *.o
#include <time.h>
#include <unistd.h>
-#include "mediafork.h"
+#include "hb.h"
/* Options */
static int debug = HB_DEBUG_NONE;
static int h264_13 = 0;
static int h264_30 = 0;
static char * audios = NULL;
+static int surround = 0;
static int sub = 0;
static int width = 0;
static int height = 0;
static int chapter_start = 0;
static int chapter_end = 0;
static int crf = 0;
+static char *x264opts = NULL;
+static char *x264opts2 = NULL;
+static int maxHeight = 0;
+static int maxWidth = 0;
/* Exit cleanly on Ctrl-C */
static volatile int die = 0;
h = hb_init( debug, update );
/* Show version */
- fprintf( stderr, "MediaFork %s (%d) - http://mediafork.dynalias.com/\n",
+ fprintf( stderr, "HandBrake %s (%d) - http://handbrake.m0k.org/\n",
hb_get_version( h ), hb_get_build( h ) );
/* Check for update */
if( ( build = hb_check_update( h, &version ) ) > -1 )
{
fprintf( stderr, "You are using an old version of "
- "MediaFork.\nLatest is %s (build %d).\n", version,
+ "HandBrake.\nLatest is %s (build %d).\n", version,
build );
}
else
{
- fprintf( stderr, "Your version of MediaFork is up to "
+ fprintf( stderr, "Your version of HandBrake is up to "
"date.\n" );
}
hb_close( &h );
if( output ) free( output );
if( format ) free( format );
if( audios ) free( audios );
-
- fprintf( stderr, "MediaFork has exited.\n" );
+ if( x264opts ) free (x264opts );
+ if( x264opts2 ) free (x264opts2 );
+
+ fprintf( stderr, "HandBrake has exited.\n" );
return 0;
}
{
fprintf( stderr, "Commands:\n" );
fprintf( stderr, " [h]elp Show this message\n" );
- fprintf( stderr, " [q]uit Exit MediaForkCLI\n" );
+ fprintf( stderr, " [q]uit Exit HandBrakeCLI\n" );
fprintf( stderr, " [p]ause Pause encoding\n" );
fprintf( stderr, " [r]esume Resume encoding\n" );
}
job->height = height;
hb_fix_aspect( job, HB_KEEP_HEIGHT );
}
- else if( !pixelratio )
+ else if( !width && !height && !pixelratio )
{
hb_fix_aspect( job, HB_KEEP_WIDTH );
}
{
job->h264_level = 13;
}
- if( h264_30 )
- {
- job->h264_level = 30;
+ if( h264_30 )
+ {
+ job->h264_level = 30;
}
if( vrate )
{
job->audios[0] = -1;
}
}
+ if( surround )
+ {
+ job->surround = 1;
+ }
if( abitrate )
{
job->abitrate = abitrate;
job->crf = 1;
}
+ if (x264opts != NULL && *x264opts != '\0' )
+ {
+ hb_log("Applying the following x264 options: %s", x264opts);
+ job->x264opts = x264opts;
+ }
+ else /*avoids a bus error crash when options aren't specified*/
+ {
+ job->x264opts = NULL;
+ }
+ if (maxWidth)
+ job->maxWidth = maxWidth;
+ if (maxHeight)
+ job->maxHeight = maxHeight;
+
if( twoPass )
{
job->pass = 1;
hb_add( h, job );
job->pass = 2;
+ job->x264opts = x264opts2;
hb_add( h, job );
}
else
int i;
fprintf( stderr,
- "Syntax: MediaForkCLI [options] -i <device> -o <file>\n"
+ "Syntax: HandBrakeCLI [options] -i <device> -o <file>\n"
"\n"
" -h, --help Print help\n"
" -u, --update Check for updates and exit\n"
" default: all chapters)\n"
" -a, --audio <string> Select audio channel(s) (\"none\" for no \n"
" audio, default: first one)\n"
+ " -6, --surround Export 5.1 surround as 6-channel AAC\n"
"\n"
" -s, --subtitle <number> Select subtitle (default: none)\n"
" -e, --encoder <string> Set video library encoder (ffmpeg,xvid,\n"
" -B, --ab <kb/s> Set audio bitrate (default: 128)\n"
" -w, --width <number> Set picture width\n"
" -l, --height <number> Set picture height\n"
- " --crop <T:B:L:R> Set cropping values (default: autocrop)\n" );
+ " --crop <T:B:L:R> Set cropping values (default: autocrop)\n"
+ " -Y, --maxHeight <#> Set maximum height\n"
+ " -X, --maxWidth <#> Set maximum width\n"
+ "\n"
+ " -x, --x264opts <string> Specify advanced x264 options in the\n"
+ " same style as mencoder:\n"
+ " option1=value1:option2=value2\n" );
}
/****************************************************************************
{ "title", required_argument, NULL, 't' },
{ "chapters", required_argument, NULL, 'c' },
{ "audio", required_argument, NULL, 'a' },
+ { "surround", no_argument, NULL, '6' },
{ "subtitle", required_argument, NULL, 's' },
{ "encoder", required_argument, NULL, 'e' },
{ "rate", required_argument, NULL, 'r' },
{ "arate", required_argument, NULL, 'R' },
{ "crf", no_argument, NULL, 'Q' },
+ { "x264opts", required_argument, NULL, 'x' },
+ { "maxHeight", required_argument, NULL, 'Y' },
+ { "maxWidth", required_argument, NULL, 'X' },
{ 0, 0, 0, 0 }
};
int c;
c = getopt_long( argc, argv,
- "hvuC:f:i:o:t:c:a:s:e:E:2dgpw:l:n:b:q:S:B:r:R:Q",
+ "hvuC:f:i:o:t:c:a:s:e:E:2dgpw:l:n:b:q:S:B:r:R:Qx:Y:X:",
long_options, &option_index );
if( c < 0 )
{
case 'a':
audios = strdup( optarg );
break;
+ case '6':
+ surround = 1;
+ break;
case 's':
sub = atoi( optarg );
break;
case 'Q':
crf = 1;
break;
-
+ case 'x':
+ x264opts = strdup( optarg );
+ x264opts2 = strdup( optarg );
+ break;
+ case 'Y':
+ maxHeight = atoi( optarg );
+ break;
+ case 'X':
+ maxWidth = atoi (optarg );
+ break;
+
default:
fprintf( stderr, "unknown option (%s)\n", argv[optind] );
return -1;
acodec = HB_ACODEC_VORBIS;
}
}
+
+ if (acodec != HB_ACODEC_FAAC)
+ {
+ /* only attempt 5.1 export if exporting to AAC */
+ surround = 0;
+ }
+
}
return 0;