summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--BUILD13
-rwxr-xr-xBuildContribsDarwin.sh71
-rwxr-xr-xDownloadMacOsXContribBinaries.sh32
-rw-r--r--Jamfile35
-rw-r--r--Jamrules32
-rw-r--r--MacOsXContribBinariesVersion.txt1
-rw-r--r--Makefile64
-rwxr-xr-xconfigure5
-rw-r--r--contrib/Jamfile41
-rw-r--r--contrib/patch_mpeg4ip_cygwin.patch262
-rw-r--r--contrib/version_a52dec.txt2
-rw-r--r--contrib/version_faac.txt2
-rw-r--r--contrib/version_ffmpeg.txt2
-rw-r--r--contrib/version_lame.txt2
-rw-r--r--contrib/version_libdvdcss.txt2
-rw-r--r--contrib/version_libdvdread.txt2
-rw-r--r--contrib/version_libogg.txt2
-rw-r--r--contrib/version_libsamplerate.txt2
-rw-r--r--contrib/version_libvorbis.txt2
-rw-r--r--contrib/version_mpeg2dec.txt2
-rw-r--r--contrib/version_mpeg4ip.txt1
-rw-r--r--contrib/version_x264.txt2
-rw-r--r--contrib/version_xvidcore.txt2
-rwxr-xr-xjambin98260 -> 203788 bytes
-rwxr-xr-xjamintelbin101388 -> 0 bytes
-rw-r--r--libhb/muxmp4.c198
-rw-r--r--libmediafork/Jamfile (renamed from libhb/Jamfile)13
-rw-r--r--libmediafork/Makefile105
-rw-r--r--libmediafork/common.c (renamed from libhb/common.c)23
-rw-r--r--libmediafork/common.h (renamed from libhb/common.h)30
-rw-r--r--libmediafork/deca52.c (renamed from libhb/deca52.c)2
-rw-r--r--libmediafork/decavcodec.c (renamed from libhb/decavcodec.c)2
-rw-r--r--libmediafork/declpcm.c (renamed from libhb/declpcm.c)2
-rw-r--r--libmediafork/decmpeg2.c (renamed from libhb/decmpeg2.c)2
-rw-r--r--libmediafork/decsub.c (renamed from libhb/decsub.c)2
-rw-r--r--libmediafork/demuxmpeg.c (renamed from libhb/demuxmpeg.c)2
-rw-r--r--libmediafork/dvd.c (renamed from libhb/dvd.c)2
-rw-r--r--libmediafork/encavcodec.c (renamed from libhb/encavcodec.c)11
-rw-r--r--libmediafork/encfaac.c (renamed from libhb/encfaac.c)2
-rw-r--r--libmediafork/enclame.c (renamed from libhb/enclame.c)2
-rw-r--r--libmediafork/encvorbis.c (renamed from libhb/encvorbis.c)2
-rw-r--r--libmediafork/encx264.c (renamed from libhb/encx264.c)194
-rw-r--r--libmediafork/encxvid.c (renamed from libhb/encxvid.c)9
-rw-r--r--libmediafork/fifo.c (renamed from libhb/fifo.c)2
-rw-r--r--libmediafork/internal.h (renamed from libhb/internal.h)8
-rw-r--r--libmediafork/ipodutil.cpp34
-rw-r--r--libmediafork/lang.h (renamed from libhb/lang.h)0
-rw-r--r--libmediafork/mediafork.c (renamed from libhb/hb.c)98
-rw-r--r--libmediafork/mediafork.h (renamed from libhb/hb.h)7
-rw-r--r--libmediafork/muxavi.c (renamed from libhb/muxavi.c)2
-rw-r--r--libmediafork/muxcommon.c (renamed from libhb/muxcommon.c)2
-rw-r--r--libmediafork/muxmp4.c167
-rw-r--r--libmediafork/muxogm.c (renamed from libhb/muxogm.c)2
-rw-r--r--libmediafork/ports.c (renamed from libhb/ports.c)2
-rw-r--r--libmediafork/ports.h (renamed from libhb/ports.h)4
-rw-r--r--libmediafork/reader.c (renamed from libhb/reader.c)2
-rw-r--r--libmediafork/render.c (renamed from libhb/render.c)2
-rw-r--r--libmediafork/scan.c (renamed from libhb/scan.c)18
-rw-r--r--libmediafork/sync.c (renamed from libhb/sync.c)2
-rw-r--r--libmediafork/update.c (renamed from libhb/update.c)2
-rw-r--r--libmediafork/work.c (renamed from libhb/work.c)14
-rw-r--r--macosx/Controller.h32
-rw-r--r--macosx/Controller.mm287
-rw-r--r--macosx/DriveDetector.h2
-rw-r--r--macosx/DriveDetector.m2
-rw-r--r--macosx/English.lproj/MainMenu.nib/classes.nib43
-rw-r--r--macosx/English.lproj/MainMenu.nib/info.nib28
-rw-r--r--macosx/English.lproj/MainMenu.nib/keyedobjects.nibbin58385 -> 70063 bytes
-rw-r--r--macosx/Express.plist4
-rw-r--r--macosx/ExpressController.h2
-rw-r--r--macosx/HandBrake.icnsbin47214 -> 0 bytes
-rw-r--r--macosx/HandBrake.xcodeproj/project.pbxproj713
-rw-r--r--macosx/MediaFork.icnsbin0 -> 59687 bytes
-rw-r--r--macosx/MediaFork.plist (renamed from macosx/HandBrake.plist)16
-rw-r--r--macosx/MediaFork.xcodeproj/project.pbxproj1654
-rw-r--r--macosx/PictureController.h7
-rw-r--r--macosx/PictureController.mm64
-rw-r--r--macosx/PictureGLView.h2
-rw-r--r--macosx/PrefsController.h7
-rw-r--r--macosx/PrefsController.m113
-rw-r--r--macosx/QueueController.h2
-rw-r--r--macosx/ScanController.h4
-rw-r--r--macosx/ScanController.mm9
-rw-r--r--macosx/i18n/Localizable.stringsbin8426 -> 8426 bytes
-rw-r--r--macosx/i18n/de.stringsbin10138 -> 10138 bytes
-rw-r--r--macosx/i18n/es.stringsbin10238 -> 10238 bytes
-rw-r--r--macosx/i18n/fr.stringsbin8246 -> 8246 bytes
-rw-r--r--macosx/i18n/it.stringsbin10240 -> 10240 bytes
-rw-r--r--macosx/i18n/ja.stringsbin9252 -> 9252 bytes
-rw-r--r--macosx/i18n/nl.stringsbin10106 -> 10106 bytes
-rw-r--r--macosx/i18n/pl.stringsbin10110 -> 10110 bytes
-rw-r--r--macosx/i18n/pt.strings2
-rw-r--r--macosx/i18n/ru.stringsbin9870 -> 9870 bytes
-rwxr-xr-xmacosx/localize.sh10
-rw-r--r--test/BUILDSHARED36
-rw-r--r--test/Makefile29
-rw-r--r--test/fakexcode.cpp3
-rw-r--r--test/test.c27
98 files changed, 3489 insertions, 1161 deletions
diff --git a/BUILD b/BUILD
index b6822950b..8f4788ad9 100644
--- a/BUILD
+++ b/BUILD
@@ -24,7 +24,7 @@ Step 1: get needed tools
http://public.perforce.com/public/jam/index.html,
compile it with gcc in Cygwin, and put the jam executable somewhere on
your path.
-+ nasm (Only for x86. On Mac OS X Intel, Nasm CVS 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.
@@ -44,3 +44,14 @@ Step 2: build
Run `./configure && jam'. This will build every library HandBrake
requires, then HandBrake itself.
+
+
+Experimental UB build on MacOsX
+===============================
+
+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.
+
+
+
diff --git a/BuildContribsDarwin.sh b/BuildContribsDarwin.sh
new file mode 100755
index 000000000..312a1332f
--- /dev/null
+++ b/BuildContribsDarwin.sh
@@ -0,0 +1,71 @@
+#!/bin/sh
+# This script build the contrib libs
+# This used on MaxOs X to generate a universal version of the contrib libraries
+# The new building process for MediaFork is to download a precompiled universal contrib folder
+# and use them to build universal binaries of MediaFork
+# pri: 01/28/07
+# ########################################################################
+# Parameters:
+# Package Version (Version must be incremented to ensure that each of trunk/branches use the correct version)
+# IP of the other platform host
+# Username to connect with (passwordless must be setup between the 2 machines)
+#
+# ie: ./BuildContribsDarwin.sh 0001 192.168.0.150 toto
+#
+# #########################################################################
+# The script will connect to the other computer, download and build all of the contrib libraries
+# and in the same time download and compile the contrib libraries on the native system
+# My setup to do that is Mac Pro Intel as native and a Mac mini G4 ppc as foreign
+#
+# Native is the master computer, it sends compile commands to the foreign, get the library, then do a lipo
+# to assemble both versions and put a universal binary version of the library in contrib/lib folder
+#
+# Once all of the contrib libraries are builded, a contribbin-darwin-${version}.tar.gz file is created, this file must
+# be uploaded to the ftp server so Xcode will be able to build universal binaries of the MediaFork, MediaForkCLI and libmediafork
+#
+# ##########################################################################
+# SSH passwordless setup instructions
+# 1) log on native using terminal
+# 2) ssh-keygen -t rsa
+# 3) leave passphrase empty (hit return)
+# 4) copy the $HOME/.ssh/id_rsa.pub to foreign machine $HOME/.ssh/authorized_keys
+# ##########################################################################
+export VERSION=$1
+export IP=$2
+export USERNAME=$3
+export REPOS=svn://multics.dynalias.com/HandBrake/branches/MediaFork_0.8.0_mpeg4ip
+# ##########################################################################
+# Launch the build on the foreign system
+# ##########################################################################
+ssh $USERNAME@$IP "rm -rf MFBUILDTMP ; mkdir MFBUILDTMP ; svn co $REPOS MFBUILDTMP ; cd MFBUILDTMP ; ./configure ; cd contrib ; cp ../config.jam . ; ../jam ; touch BUILDTERMINATED" &
+./configure
+cd contrib
+rm -rf lib include *tar.gz bin share man native foreign
+cp ../config.jam .
+# Use the new UB jam to be shure to use the correct version to build libraries (native on each system)
+../jam
+mkdir native
+mv lib native
+mkdir lib
+mkdir foreign
+# wait until the foreign build is done :)
+wait
+echo the foreign build is done, transferring files to native computer:
+cd foreign
+mkdir lib
+cd lib
+scp $USERNAME@$IP:/Users/$USERNAME/MFBUILDTMP/contrib/lib/*a .
+for lib in `ls *.a`
+do
+ echo ... lipo: $lib
+ lipo -create $lib ../../native/lib/$lib -output ../../lib/$lib
+done;
+
+cd ../..
+echo $VERSION > DarwinContribVersion.txt
+echo Creating contribbin-darwin-$VERSION.tar.gz
+tar zcvf contribbin-darwin-$VERSION.tar.gz lib include DarwinContribVersion.txt
+echo Done....
+ls -l contribbin-darwin-$VERSION.tar.gz
+cd ..
+echo $VERSION > MacOsXContribBinariesVersion.txt
diff --git a/DownloadMacOsXContribBinaries.sh b/DownloadMacOsXContribBinaries.sh
new file mode 100755
index 000000000..93be47cd6
--- /dev/null
+++ b/DownloadMacOsXContribBinaries.sh
@@ -0,0 +1,32 @@
+#! /bin/sh
+
+# Incremented every time a new contrib package is available
+VERSION=`cat MacOsXContribBinariesVersion.txt`
+
+if [ -f contrib/DarwinContribVersion.txt ]; then
+ if [ "`cat contrib/DarwinContribVersion.txt`" = $VERSION ]; then
+ echo "Contribs are up to date."
+ exit 0
+ fi
+fi
+
+HOST=download.m0k.org
+FILE=contribbin-darwin-$VERSION.tar.gz
+URL=http://download.mediafork.dynalias.com/contrib/$FILE
+
+# Check for internet connectivity
+if ! host $HOST > /dev/null 2>&1; then
+ echo "Please connect to the Internet (could not resolve $HOST)."
+ exit 1
+fi
+
+# Look for something that can handle an HTTP download
+ WGET="curl -L -O"
+
+# Get and install the package
+echo "Getting contribs ($VERSION)..."
+( cd contrib && rm -f $FILE && $WGET $URL && rm -Rf lib include && \
+ tar xzf $FILE && ranlib lib/*.a ) || exit 1
+
+exit 0
+
diff --git a/Jamfile b/Jamfile
index c9c0450da..8d3b2a414 100644
--- a/Jamfile
+++ b/Jamfile
@@ -6,11 +6,11 @@
SubDir TOP ;
-# libhb + contrib libraries
-HB_LIBS = libhb.a
+# libmediafork + contrib libraries
+MEDIAFORK_LIBS = libmediafork.a
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/libmp4v2.a
contrib/lib/libfaac.a contrib/lib/libmp3lame.a
contrib/lib/libmpeg2.a contrib/lib/libvorbis.a
contrib/lib/libvorbisenc.a contrib/lib/libogg.a
@@ -24,22 +24,26 @@ if $(OS) = UNKNOWN
if $(OS) != CYGWIN
{
- HB_LIBS = $(HB_LIBS) contrib/lib/libdvdcss.a ;
+ MEDIAFORK_LIBS = $(MEDIAFORK_LIBS) contrib/lib/libdvdcss.a ;
}
# Interfaces
-TEST_BIN = HBTest ;
-TEST_SRC = test/test.c ;
+CLI_BIN = MediaForkCLI ;
+CLI_SRC = test/test.c ;
BEOS_BIN = HandBrake ;
BEOS_SRC = beos/HBApp.cpp beos/MainWindow.cpp beos/ScanWindow.cpp
beos/PicWindow.cpp beos/Stepper.cpp beos/QueueWindow.cpp ;
WX_BIN = wxHB ;
WX_SRC = wx/hbWizard.cpp wx/wxHB.cpp ;
-UI_BIN = $(TEST_BIN) $(BEOS_BIN) $(WX_BIN) ;
-UI_SRC = $(TEST_SRC) $(BEOS_SRC) $(WX_SRC) ;
+UI_BIN = $(CLI_BIN) $(BEOS_BIN) $(WX_BIN) ;
+UI_SRC = $(CLI_SRC) $(BEOS_SRC) $(WX_SRC) ;
# CLI app
-Main $(TEST_BIN) : $(TEST_SRC) ;
+# Don't build the CLI from here if MACOSX, let xcode build it :)
+if $(OS) != MACOSX
+{
+ Main $(CLI_BIN) : $(CLI_SRC) ;
+}
if $(OS) = BEOS
{
@@ -65,7 +69,7 @@ if $(OS) = MACOSX
macosx/English.lproj/Express.nib/info.nib
macosx/English.lproj/Express.nib/keyedobjects.nib ;
- OSXApp HandBrake.app : $(OSX_SRC) $(HB_LIBS) ;
+ OSXApp MediaFork.app : $(OSX_SRC) $(MEDIAFORK_LIBS) ;
# Package
OSXPackage HandBrake-$(HB_VERSION)-OSX.zip : HandBrake.app ;
@@ -79,13 +83,14 @@ if $(OS) = LINUX
#Main $(WX_BIN) : $(WX_SRC) ;
}
-ObjectHdrs $(UI_SRC) : $(TOP)/libhb ;
-LinkLibraries $(UI_BIN) : $(HB_LIBS) ;
-
+if $(OS) != MACOSX
+{
+ ObjectHdrs $(UI_SRC) : $(TOP)/libmediafork ;
+ LinkLibraries $(UI_BIN) : $(MEDIAFORK_LIBS) ;
+}
# Packages
NotFile package ;
Depends package : $(HB_PACKAGES) ;
SubInclude TOP contrib ;
-SubInclude TOP libhb ;
-
+SubInclude TOP libmediafork ;
diff --git a/Jamrules b/Jamrules
index 6fcca5249..3f14282f1 100644
--- a/Jamrules
+++ b/Jamrules
@@ -11,13 +11,13 @@ if ! $(DEFINES)
Exit "Please run ./configure first." ;
}
-HB_VERSION = 0.7.1a2 ;
+HB_VERSION = 0.8.0b1 ;
HB_BUILD = 20060923 ;
DEFINES += HB_VERSION=\\\"$(HB_VERSION)\\\" HB_BUILD=$(HB_BUILD) ;
LANGUAGES = fr de it pl ru nl es pt ja ;
RM = rm -rf ;
-# Build HandBrake.app using Xcode
+# Build MediaFork.app using Xcode
rule OSXApp
{
Depends exe : $(<) ;
@@ -26,9 +26,9 @@ rule OSXApp
}
actions OSXApp
{
- $(RM) $(<) macosx/build/HandBrake.app && \
+ $(RM) $(<) macosx/build/MediaFork.app && \
( cd macosx && xcodebuild -alltargets ) && \
- mv macosx/build/Default/HandBrake.app $(<) && \
+ mv macosx/build/Default/MediaFork.app $(<) && \
for i in $(LANGUAGES) ; do \
( cd $(<)/Contents/Resources && \
cp -r English.lproj $i.lproj && \
@@ -42,24 +42,24 @@ rule OSXPackage
}
actions OSXPackage
{
- rm -rf $(<) "HandBrake $(HB_VERSION)" && \
- mkdir "HandBrake $(HB_VERSION)" && \
- cp AUTHORS "HandBrake $(HB_VERSION)/AUTHORS.txt" && \
- cp COPYING "HandBrake $(HB_VERSION)/COPYING.txt" && \
- cp CREDITS "HandBrake $(HB_VERSION)/CREDITS.txt" && \
- cp THANKS "HandBrake $(HB_VERSION)/THANKS.txt" && \
+ rm -rf $(<) "MediaFork $(HB_VERSION)" && \
+ mkdir "MediaFork $(HB_VERSION)" && \
+ cp AUTHORS "MediaFork $(HB_VERSION)/AUTHORS.txt" && \
+ cp COPYING "MediaFork $(HB_VERSION)/COPYING.txt" && \
+ cp CREDITS "MediaFork $(HB_VERSION)/CREDITS.txt" && \
+ cp THANKS "MediaFork $(HB_VERSION)/THANKS.txt" && \
( echo "[InternetShortcut]" && \
echo "URL=http://handbrake.m0k.org/" ) > \
- "HandBrake $(HB_VERSION)/HandBrake Homepage.url" && \
+ "MediaFork $(HB_VERSION)/MediaFork Homepage.url" && \
( echo "[InternetShortcut]" && \
echo "URL=http://handbrake.m0k.org/forum/" ) > \
- "HandBrake $(HB_VERSION)/HandBrake Forums.url" && \
+ "MediaFork $(HB_VERSION)/MediaFork Forums.url" && \
( echo "[InternetShortcut]" && \
echo "URL=http://handbrake.m0k.org/contribute.php" ) > \
- "HandBrake $(HB_VERSION)/Contribute.url" && \
- cp -r HandBrake.app "HandBrake $(HB_VERSION)" && \
- zip -9 -r $(<) "HandBrake $(HB_VERSION)" && \
- rm -rf "HandBrake $(HB_VERSION)"
+ "MediaFork $(HB_VERSION)/Contribute.url" && \
+ cp -r MediaFork.app "MediaFork $(HB_VERSION)" && \
+ zip -9 -r $(<) "MediaFork $(HB_VERSION)" && \
+ rm -rf "MediaFork $(HB_VERSION)"
}
rule BeOSPackage
diff --git a/MacOsXContribBinariesVersion.txt b/MacOsXContribBinariesVersion.txt
new file mode 100644
index 000000000..1ce74b6b0
--- /dev/null
+++ b/MacOsXContribBinariesVersion.txt
@@ -0,0 +1 @@
+0003
diff --git a/Makefile b/Makefile
new file mode 100644
index 000000000..ed1f05384
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,64 @@
+SYSTEM = $(shell uname -s)
+
+# Special case for Mac OS X: everything is handled from the Xcode project
+ifeq ($(SYSTEM),Darwin)
+
+all: clean app release
+
+app:
+ (./DownloadMacOsXContribBinaries.sh ; cd macosx ; xcodebuild -alltargets -configuration UB build | sed '/^$$/d' ; cd .. ; ./macosx/localize.sh MediaFork.app)
+
+clean:
+ (cd macosx ; xcodebuild -alltargets -configuration UB clean | sed '/^$$/d' )
+
+mrproper:
+ (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 )
+
+endif
+
+ifeq ($(SYSTEM),Linux)
+
+all: contrib/lib libmediafork/libmediafork.a MediaForkCLI
+
+contrib/lib:
+ (./configure ; cd contrib ; cp -f ../config.jam . ; jam ; cd ..)
+
+libmediafork/libmediafork.a:
+ @$(MAKE) --no-print-directory -C libmediafork all
+
+MediaForkCLI:
+ @$(MAKE) --no-print-directory -C test all
+
+clean:
+ @$(MAKE) --no-print-directory -C libmediafork clean
+ @$(MAKE) --no-print-directory -C test clean
+
+mrproper: clean
+ (rm -rf contrib/lib ; rm -rf contrib/include/* )
+
+endif
+
+ifeq ($(SYSTEM),CYGWIN_NT-5.1)
+
+all: contrib/lib libmediafork/libmediafork.a MediaForkCLI
+
+contrib/lib:
+ (./configure ; cd contrib ; cp -f ../config.jam . ; jam.exe ; cd ..)
+
+libmediafork/libmediafork.a:
+ @$(MAKE) --no-print-directory -C libmediafork all
+
+MediaForkCLI:
+ @$(MAKE) --no-print-directory -C test all
+
+clean:
+ @$(MAKE) --no-print-directory -C libmediafork clean
+ @$(MAKE) --no-print-directory -C test clean
+
+mrproper: clean
+ (rm -rf contrib/lib ; rm -rf contrib/include/* )
+
+endif
diff --git a/configure b/configure
index 02cea51b4..19df858f7 100755
--- a/configure
+++ b/configure
@@ -93,7 +93,6 @@ LINKLIBS = $LINKLIBS ;
EOF
echo
-echo "To build HandBrake, run:"
-echo " './jamintel' on a Mac Intel,"
-echo " './jam' on a PPC Mac,"
+echo "To build MediaFork, run:"
+echo " './jam' on a Mac (or 'make' to try the UB build method),"
echo " 'jam' on Linux or Windows."
diff --git a/contrib/Jamfile b/contrib/Jamfile
index 33e9c2e5b..94016f02f 100644
--- a/contrib/Jamfile
+++ b/contrib/Jamfile
@@ -11,6 +11,11 @@ else
WGET = wget -O ;
}
+if $(OS) = UNKNOWN
+{
+ OS = CYGWIN ;
+}
+
# Wget rule: downloads $(<) from the link in $(>)
rule Wget
{
@@ -170,6 +175,42 @@ actions LibMp3Lame
Wget $(SUBDIR)/lame.tar.gz : $(SUBDIR)/version_lame.txt ;
LibMp3Lame $(SUBDIR)/lib/libmp3lame.a : $(SUBDIR)/lame.tar.gz ;
+# libmp4v2
+rule LibMp4v2
+{
+ Depends $(<) : $(>) ;
+ Depends lib : $(<) ;
+}
+if $(OS) != CYGWIN
+{
+ actions LibMp4v2
+ {
+ cd `dirname $(>)` && CONTRIB=`pwd` &&
+ rm -rf mpeg4ip && tar xzf mpeg4ip.tar.gz && cd mpeg4ip &&
+ ./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 \
+ include/mpeg4ip_win32.h lib/mp4v2/*.h $CONTRIB/include &&
+ strip -S $CONTRIB/lib/libmp4v2.a
+ }
+}
+else
+{
+ actions LibMp4v2
+ {
+ cd `dirname $(>)` && CONTRIB=`pwd` &&
+ rm -rf mpeg4ip && tar xzf mpeg4ip.tar.gz && cd mpeg4ip &&
+ 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 \
+ include/mpeg4ip_win32.h lib/mp4v2/*.h $CONTRIB/include &&
+ strip -S $CONTRIB/lib/libmp4v2.a
+ }
+}
+
+Wget $(SUBDIR)/mpeg4ip.tar.gz : $(SUBDIR)/version_mpeg4ip.txt ;
+LibMp4v2 $(SUBDIR)/lib/libmp4v2.a : $(SUBDIR)/mpeg4ip.tar.gz ;
+
# libmpeg2
rule LibMpeg2
{
diff --git a/contrib/patch_mpeg4ip_cygwin.patch b/contrib/patch_mpeg4ip_cygwin.patch
new file mode 100644
index 000000000..0bc19cda6
--- /dev/null
+++ b/contrib/patch_mpeg4ip_cygwin.patch
@@ -0,0 +1,262 @@
+diff -Naur mpeg4ip/lib/mp4v2/mp4.cpp /Users/pri/t/mpeg4ip/lib/mp4v2/mp4.cpp
+--- mpeg4ip/lib/mp4v2/mp4.cpp 2005-03-30 20:41:58.000000000 +0200
++++ /Users/pri/t/mpeg4ip/lib/mp4v2/mp4.cpp 2007-02-09 22:39:28.000000000 +0100
+@@ -1678,9 +1678,9 @@
+ extern "C" bool MP4GetTrackH264SeqPictHeaders (MP4FileHandle hFile,
+ MP4TrackId trackId,
+ uint8_t ***pSeqHeader,
+- uint32_t **pSeqHeaderSize,
++ u_int32_t **pSeqHeaderSize,
+ uint8_t ***pPictHeader,
+- uint32_t **pPictHeaderSize)
++ u_int32_t **pPictHeaderSize)
+ {
+ if (MP4_IS_VALID_FILE_HANDLE(hFile)) {
+ try {
+diff -Naur mpeg4ip/lib/mp4v2/mp4.h /Users/pri/t/mpeg4ip/lib/mp4v2/mp4.h
+--- mpeg4ip/lib/mp4v2/mp4.h 2005-03-30 20:41:58.000000000 +0200
++++ /Users/pri/t/mpeg4ip/lib/mp4v2/mp4.h 2007-02-09 22:39:42.000000000 +0100
+@@ -631,9 +631,9 @@
+
+ bool MP4GetTrackVideoMetadata(MP4FileHandle hFile,
+ MP4TrackId trackId,
+- uint8_t **ppConfig,
+- uint32_t *pConfigSize);
+-
++ u_int8_t **ppConfig,
++ u_int32_t *pConfigSize);
++
+ bool MP4GetTrackESConfiguration(
+ MP4FileHandle hFile,
+ MP4TrackId trackId,
+@@ -654,9 +654,9 @@
+ bool MP4GetTrackH264SeqPictHeaders(MP4FileHandle hFile,
+ MP4TrackId trackId,
+ uint8_t ***pSeqHeaders,
+- uint32_t **pSeqHeaderSize,
++ u_int32_t **pSeqHeaderSize,
+ uint8_t ***pPictHeader,
+- uint32_t **pPictHeaderSize);
++ u_int32_t **pPictHeaderSize);
+ bool MP4GetTrackH264LengthSize(MP4FileHandle hFile,
+ MP4TrackId trackId,
+ uint32_t *pLength);
+diff -Naur mpeg4ip/lib/mp4v2/mp4container.cpp /Users/pri/t/mpeg4ip/lib/mp4v2/mp4container.cpp
+--- mpeg4ip/lib/mp4v2/mp4container.cpp 2001-11-19 18:06:58.000000000 +0100
++++ /Users/pri/t/mpeg4ip/lib/mp4v2/mp4container.cpp 2007-02-09 22:10:23.000000000 +0100
+@@ -207,7 +207,7 @@
+ u_int32_t numProperties = m_pProperties.Size();
+
+ if (numProperties == 0) {
+- WARNING(numProperties == 0);
++ //WARNING(numProperties == 0);
+ return;
+ }
+
+diff -Naur mpeg4ip/lib/mp4v2/mp4container.h /Users/pri/t/mpeg4ip/lib/mp4v2/mp4container.h
+--- mpeg4ip/lib/mp4v2/mp4container.h 2001-11-19 18:06:58.000000000 +0100
++++ /Users/pri/t/mpeg4ip/lib/mp4v2/mp4container.h 2007-02-09 22:06:42.000000000 +0100
+@@ -1,24 +1,3 @@
+-/*
+- * The contents of this file are subject to the Mozilla Public
+- * License Version 1.1 (the "License"); you may not use this file
+- * except in compliance with the License. You may obtain a copy of
+- * the License at http://www.mozilla.org/MPL/
+- *
+- * Software distributed under the License is distributed on an "AS
+- * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+- * implied. See the License for the specific language governing
+- * rights and limitations under the License.
+- *
+- * The Original Code is MPEG4IP.
+- *
+- * The Initial Developer of the Original Code is Cisco Systems Inc.
+- * Portions created by Cisco Systems Inc. are
+- * Copyright (C) Cisco Systems Inc. 2001. All Rights Reserved.
+- *
+- * Contributor(s):
+- * Dave Mackie [email protected]
+- */
+-
+ #ifndef __MP4_CONTAINER_INCLUDED__
+ #define __MP4_CONTAINER_INCLUDED__
+
+diff -Naur mpeg4ip/lib/mp4v2/mp4descriptor.cpp /Users/pri/t/mpeg4ip/lib/mp4v2/mp4descriptor.cpp
+--- mpeg4ip/lib/mp4v2/mp4descriptor.cpp 2004-02-12 03:06:02.000000000 +0100
++++ /Users/pri/t/mpeg4ip/lib/mp4v2/mp4descriptor.cpp 2007-02-09 22:24:17.000000000 +0100
+@@ -149,7 +149,7 @@
+ u_int32_t numProperties = m_pProperties.Size();
+
+ if (numProperties == 0) {
+- WARNING(numProperties == 0);
++ //WARNING(numProperties == 0);
+ return;
+ }
+
+@@ -194,7 +194,7 @@
+ u_int32_t numProperties = m_pProperties.Size();
+
+ if (numProperties == 0) {
+- WARNING(numProperties == 0);
++ //WARNING(numProperties == 0);
+ return;
+ }
+ for (u_int32_t i = 0; i < numProperties; i++) {
+diff -Naur mpeg4ip/lib/mp4v2/mp4file.cpp /Users/pri/t/mpeg4ip/lib/mp4v2/mp4file.cpp
+--- mpeg4ip/lib/mp4v2/mp4file.cpp 2005-03-30 20:41:58.000000000 +0200
++++ /Users/pri/t/mpeg4ip/lib/mp4v2/mp4file.cpp 2007-02-09 22:44:08.000000000 +0100
+@@ -1431,7 +1431,7 @@
+ return trackId;
+ }
+
+-MP4TrackId MP4File::AddCntlTrackDefault (uint32_t timeScale,
++MP4TrackId MP4File::AddCntlTrackDefault (u_int32_t timeScale,
+ MP4Duration sampleDuration,
+ const char *type)
+ {
+@@ -1682,7 +1682,7 @@
+ (MP4Property **)&pLength) == false) ||
+ (avcCAtom->FindProperty("avcC.sequenceEntries.sequenceParameterSetNALUnit",
+ (MP4Property **)&pUnit) == false)) {
+- VERBOSE_ERROR(m_verbosity, WARNING("Could not find avcC properties"));
++ //VERBOSE_ERROR(m_verbosity, WARNING("Could not find avcC properties"));
+ return false;
+ }
+ uint32_t count = pCount->GetValue();
+@@ -1692,7 +1692,7 @@
+ for (uint32_t index = 0; index < count; index++) {
+ if (pLength->GetValue(index) == sequenceLen) {
+ uint8_t *seq;
+- uint32_t seqlen;
++ u_int32_t seqlen;
+ pUnit->GetValue(&seq, &seqlen, index);
+ if (memcmp(seq, pSequence, sequenceLen) == 0) {
+ free(seq);
+@@ -1724,8 +1724,8 @@
+ (MP4Property **)&pLength) == false) ||
+ (avcCAtom->FindProperty("avcC.pictureEntries.pictureParameterSetNALUnit",
+ (MP4Property **)&pUnit) == false)) {
+- VERBOSE_ERROR(m_verbosity,
+- WARNING("Could not find avcC picture table properties"));
++ //VERBOSE_ERROR(m_verbosity,
++ //WARNING("Could not find avcC picture table properties"));
+ return false;
+ }
+ uint32_t count = pCount->GetValue();
+@@ -1735,7 +1735,7 @@
+ for (uint32_t index = 0; index < count; index++) {
+ if (pLength->GetValue(index) == pictLen) {
+ uint8_t *seq;
+- uint32_t seqlen;
++ u_int32_t seqlen;
+ pUnit->GetValue(&seq, &seqlen, index);
+ if (memcmp(seq, pPict, pictLen) == 0) {
+ VERBOSE_WRITE(m_verbosity,
+@@ -2472,9 +2472,9 @@
+
+ bool MP4File::GetTrackH264SeqPictHeaders (MP4TrackId trackId,
+ uint8_t ***pppSeqHeader,
+- uint32_t **ppSeqHeaderSize,
++ u_int32_t **ppSeqHeaderSize,
+ uint8_t ***pppPictHeader,
+- uint32_t **ppPictHeaderSize)
++ u_int32_t **ppPictHeaderSize)
+ {
+ uint32_t count;
+
+@@ -2490,15 +2490,15 @@
+ (MP4Property **)&pSeqLen) == false) ||
+ (avcCAtom->FindProperty("avcC.sequenceEntries.sequenceParameterSetNALUnit",
+ (MP4Property **)&pSeqVal) == false)) {
+- VERBOSE_ERROR(m_verbosity, WARNING("Could not find avcC properties"));
++ //VERBOSE_ERROR(m_verbosity, WARNING("Could not find avcC properties"));
+ return false;
+ }
+ uint8_t **ppSeqHeader =
+ (uint8_t **)malloc((pSeqCount->GetValue() + 1) * sizeof(uint8_t *));
+ *pppSeqHeader = ppSeqHeader;
+
+- uint32_t *pSeqHeaderSize =
+- (uint32_t *)malloc((pSeqCount->GetValue() + 1) * sizeof(uint32_t *));
++ u_int32_t *pSeqHeaderSize =
++ (u_int32_t *)malloc((pSeqCount->GetValue() + 1) * sizeof(u_int32_t *));
+
+ *ppSeqHeaderSize = pSeqHeaderSize;
+ for (count = 0; count < pSeqCount->GetValue(); count++) {
+@@ -2513,15 +2513,15 @@
+ (MP4Property **)&pPictLen) == false) ||
+ (avcCAtom->FindProperty("avcC.pictureEntries.pictureParameterSetNALUnit",
+ (MP4Property **)&pPictVal) == false)) {
+- VERBOSE_ERROR(m_verbosity,
+- WARNING("Could not find avcC picture table properties"));
++ //VERBOSE_ERROR(m_verbosity,
++ //WARNING("Could not find avcC picture table properties"));
+ return false;
+ }
+ uint8_t
+ **ppPictHeader =
+ (uint8_t **)malloc((pPictCount->GetValue() + 1) * sizeof(uint8_t *));
+- uint32_t *pPictHeaderSize =
+- (uint32_t *)malloc((pPictCount->GetValue() + 1)* sizeof(uint32_t *));
++ u_int32_t *pPictHeaderSize =
++ (u_int32_t *)malloc((pPictCount->GetValue() + 1)* sizeof(u_int32_t *));
+ *pppPictHeader = ppPictHeader;
+ *ppPictHeaderSize = pPictHeaderSize;
+
+diff -Naur mpeg4ip/lib/mp4v2/mp4file.h /Users/pri/t/mpeg4ip/lib/mp4v2/mp4file.h
+--- mpeg4ip/lib/mp4v2/mp4file.h 2005-03-30 20:41:58.000000000 +0200
++++ /Users/pri/t/mpeg4ip/lib/mp4v2/mp4file.h 2007-02-09 22:35:21.000000000 +0100
+@@ -329,9 +329,9 @@
+ uint8_t *pLevel);
+ bool GetTrackH264SeqPictHeaders(MP4TrackId trackId,
+ uint8_t ***pSeqHeader,
+- uint32_t **pSeqHeaderSize,
++ u_int32_t **pSeqHeaderSize,
+ uint8_t ***pPictHeader,
+- uint32_t **pPictHeaderSize);
++ u_int32_t **pPictHeaderSize);
+ void GetTrackH264LengthSize(MP4TrackId,
+ uint32_t *pLength);
+ const char* GetHintTrackSdp(MP4TrackId hintTrackId);
+diff -Naur mpeg4ip/lib/mp4v2/mp4file_io.cpp /Users/pri/t/mpeg4ip/lib/mp4v2/mp4file_io.cpp
+--- mpeg4ip/lib/mp4v2/mp4file_io.cpp 2004-07-15 20:09:48.000000000 +0200
++++ /Users/pri/t/mpeg4ip/lib/mp4v2/mp4file_io.cpp 2007-02-09 22:44:47.000000000 +0100
+@@ -86,7 +86,7 @@
+ }
+
+ ASSERT(pBytes);
+- WARNING(m_numReadBits > 0);
++ //WARNING(m_numReadBits > 0);
+
+ if (pFile == NULL) {
+ pFile = m_pFile;
+diff -Naur mpeg4ip/lib/mp4v2/mp4property.cpp /Users/pri/t/mpeg4ip/lib/mp4v2/mp4property.cpp
+--- mpeg4ip/lib/mp4v2/mp4property.cpp 2004-08-23 20:28:21.000000000 +0200
++++ /Users/pri/t/mpeg4ip/lib/mp4v2/mp4property.cpp 2007-02-09 22:47:04.000000000 +0100
+@@ -636,7 +636,7 @@
+ u_int32_t numProperties = m_pProperties.Size();
+
+ if (numProperties == 0) {
+- WARNING(numProperties == 0);
++ //WARNING(numProperties == 0);
+ return;
+ }
+
+@@ -670,7 +670,7 @@
+ u_int32_t numProperties = m_pProperties.Size();
+
+ if (numProperties == 0) {
+- WARNING(numProperties == 0);
++ //WARNING(numProperties == 0);
+ return;
+ }
+
+@@ -709,7 +709,7 @@
+ u_int32_t numProperties = m_pProperties.Size();
+
+ if (numProperties == 0) {
+- WARNING(numProperties == 0);
++ //WARNING(numProperties == 0);
+ return;
+ }
+
diff --git a/contrib/version_a52dec.txt b/contrib/version_a52dec.txt
index 3aa0ed89f..37aee8622 100644
--- a/contrib/version_a52dec.txt
+++ b/contrib/version_a52dec.txt
@@ -1 +1 @@
-http://download.handbrake.dynalias.com/contrib/a52dec-0.7.4.tar.gz
+http://download.mediafork.dynalias.com/contrib/a52dec-0.7.4.tar.gz
diff --git a/contrib/version_faac.txt b/contrib/version_faac.txt
index 5974895ef..807360621 100644
--- a/contrib/version_faac.txt
+++ b/contrib/version_faac.txt
@@ -1 +1 @@
-http://download.handbrake.dynalias.com/contrib/faac-1.24.tar.gz
+http://download.mediafork.dynalias.com/contrib/faac-1.24.tar.gz
diff --git a/contrib/version_ffmpeg.txt b/contrib/version_ffmpeg.txt
index 8a76b72f7..e7934a0ee 100644
--- a/contrib/version_ffmpeg.txt
+++ b/contrib/version_ffmpeg.txt
@@ -1 +1 @@
-http://download.handbrake.dynalias.com/contrib/ffmpeg-7444.tar.gz
+http://download.mediafork.dynalias.com/contrib/ffmpeg-7444.tar.gz
diff --git a/contrib/version_lame.txt b/contrib/version_lame.txt
index d001c67be..0563f9855 100644
--- a/contrib/version_lame.txt
+++ b/contrib/version_lame.txt
@@ -1 +1 @@
-http://download.handbrake.dynalias.com/contrib/lame-3.96.1.tar.gz
+http://download.mediafork.dynalias.com/contrib/lame-3.96.1.tar.gz
diff --git a/contrib/version_libdvdcss.txt b/contrib/version_libdvdcss.txt
index 555f390eb..c10c39de2 100644
--- a/contrib/version_libdvdcss.txt
+++ b/contrib/version_libdvdcss.txt
@@ -1 +1 @@
-http://download.handbrake.dynalias.com/contrib/libdvdcss-1.2.9.tar.gz
+http://download.mediafork.dynalias.com/contrib/libdvdcss-1.2.9.tar.gz
diff --git a/contrib/version_libdvdread.txt b/contrib/version_libdvdread.txt
index ff442ba80..e230e3cb7 100644
--- a/contrib/version_libdvdread.txt
+++ b/contrib/version_libdvdread.txt
@@ -1 +1 @@
-http://download.handbrake.dynalias.com/contrib/libdvdread-20050928.tar.gz
+http://download.mediafork.dynalias.com/contrib/libdvdread-20050928.tar.gz
diff --git a/contrib/version_libogg.txt b/contrib/version_libogg.txt
index f7e457399..e7cee15a3 100644
--- a/contrib/version_libogg.txt
+++ b/contrib/version_libogg.txt
@@ -1 +1 @@
-http://download.handbrake.dynalias.com/contrib/libogg-1.1.2.tar.gz
+http://download.mediafork.dynalias.com/contrib/libogg-1.1.2.tar.gz
diff --git a/contrib/version_libsamplerate.txt b/contrib/version_libsamplerate.txt
index d8dd6a1d6..636ace2f6 100644
--- a/contrib/version_libsamplerate.txt
+++ b/contrib/version_libsamplerate.txt
@@ -1 +1 @@
-http://download.handbrake.dynalias.com/contrib/libsamplerate-0.1.2.tar.gz
+http://download.mediafork.dynalias.com/contrib/libsamplerate-0.1.2.tar.gz
diff --git a/contrib/version_libvorbis.txt b/contrib/version_libvorbis.txt
index 8761077f1..3235254e6 100644
--- a/contrib/version_libvorbis.txt
+++ b/contrib/version_libvorbis.txt
@@ -1 +1 @@
-http://download.handbrake.dynalias.com/contrib/libvorbis-1.1.1.tar.gz
+http://download.mediafork.dynalias.com/contrib/libvorbis-1.1.1.tar.gz
diff --git a/contrib/version_mpeg2dec.txt b/contrib/version_mpeg2dec.txt
index e58f080ed..ca31e0ce6 100644
--- a/contrib/version_mpeg2dec.txt
+++ b/contrib/version_mpeg2dec.txt
@@ -1 +1 @@
-http://download.handbrake.dynalias.com/contrib/mpeg2dec-20051112.tar.gz
+http://download.mediafork.dynalias.com/contrib/mpeg2dec-20051112.tar.gz
diff --git a/contrib/version_mpeg4ip.txt b/contrib/version_mpeg4ip.txt
new file mode 100644
index 000000000..a374de85f
--- /dev/null
+++ b/contrib/version_mpeg4ip.txt
@@ -0,0 +1 @@
+http://download.mediafork.dynalias.com/contrib/mpeg4ip-1.3.tar.gz \ No newline at end of file
diff --git a/contrib/version_x264.txt b/contrib/version_x264.txt
index eff0d42c3..73a659be2 100644
--- a/contrib/version_x264.txt
+++ b/contrib/version_x264.txt
@@ -1 +1 @@
-http://download.handbrake.dynalias.com/contrib/x264-r604.tar.gz
+http://download.mediafork.dynalias.com/contrib/x264-r604.tar.gz
diff --git a/contrib/version_xvidcore.txt b/contrib/version_xvidcore.txt
index 0a8812c08..8906405ef 100644
--- a/contrib/version_xvidcore.txt
+++ b/contrib/version_xvidcore.txt
@@ -1 +1 @@
-http://download.handbrake.dynalias.com/contrib/xvidcore-1.1.0.tar.gz
+http://download.mediafork.dynalias.com/contrib/xvidcore-1.1.0.tar.gz
diff --git a/jam b/jam
index 7952f3865..12884f5d2 100755
--- a/jam
+++ b/jam
Binary files differ
diff --git a/jamintel b/jamintel
deleted file mode 100755
index 7dc2e788c..000000000
--- a/jamintel
+++ /dev/null
Binary files differ
diff --git a/libhb/muxmp4.c b/libhb/muxmp4.c
deleted file mode 100644
index 971c4bfbb..000000000
--- a/libhb/muxmp4.c
+++ /dev/null
@@ -1,198 +0,0 @@
-/* $Id: muxmp4.c,v 1.24 2005/11/04 13:09:41 titer Exp $
-
-This file is part of the HandBrake source code.
-Homepage: <http://handbrake.m0k.org/>.
-It may be used under the terms of the GNU General Public License. */
-
-#include <ffmpeg/avformat.h>
-
-#include "hb.h"
-
-int64_t ff_gcd(int64_t a, int64_t b);
-
-struct hb_mux_object_s
-{
- HB_MUX_COMMON;
-
- hb_job_t * job;
-
- AVFormatContext * format;
-};
-
-struct hb_mux_data_s
-{
- int track;
-};
-
-/**********************************************************************
-* MP4Init
-**********************************************************************
-* Allocates hb_mux_data_t structures, create file and write headers
-*********************************************************************/
-static int MP4Init( hb_mux_object_t * m )
-{
- hb_job_t * job = m->job;
- hb_title_t * title = job->title;
-
- hb_audio_t * audio;
- int i;
- AVFormatContext * oc;
- AVStream *st;
- AVFormatParameters params;
-
- register_protocol(&file_protocol);
- //movenc_init();
- av_register_all();
-
- oc = av_alloc_format_context();
-
- if( job->mux & HB_MUX_PSP )
- {
- oc->oformat = guess_format( "psp", NULL, NULL );
- hb_log( "using format psp" );
- }
- else if( job->mux & HB_MUX_IPOD )
- {
- /* added this format to ffmpeg source */
- oc->oformat = guess_format( "ipod", NULL, NULL );
- hb_log( "using format ipod" );
- }
- else
- {
- oc->oformat = guess_format( "mp4", NULL, NULL );
- hb_log( "using format mp4" );
- }
- if( !oc->oformat )
- {
- hb_log( "guess_format failed" );
- return 1;
- }
-
- hb_log( "using oformat: %s", oc->oformat->name );
-
- snprintf( oc->filename, sizeof( oc->filename ),
- "%s", job->file );
-
- st = av_new_stream( oc, oc->nb_streams );
- if( !st )
- {
- hb_log( "av_new_stream failed" );
- return 1;
- }
- st->stream_copy = 1;
- st->codec->flags |= CODEC_FLAG_GLOBAL_HEADER;
- st->codec->codec_type = CODEC_TYPE_VIDEO;
- st->codec->codec_id = ( job->vcodec == HB_VCODEC_X264 ) ?
-CODEC_ID_H264 : CODEC_ID_MPEG4;
- st->codec->extradata= job->config.mpeg4.bytes;
- st->codec->extradata_size= job->config.mpeg4.length;
- st->codec->bit_rate = 1000 * job->vbitrate;
- i = ff_gcd( job->vrate_base, job->vrate );
- st->codec->time_base = (AVRational){ job->vrate_base / i, job->vrate / i };
-
- st->codec->pix_fmt = PIX_FMT_YUV420P;
- st->codec->width = job->width;
- st->codec->height = job->height;
- st->codec->has_b_frames = 0;
-
- job->mux_data = malloc( sizeof( hb_mux_data_t ) );
- job->mux_data->track = 0;
-
- for( i = 0; i < hb_list_count( title->list_audio ); i++ )
- {
- audio = hb_list_item( title->list_audio, i );
-
- audio->mux_data = malloc( sizeof( hb_mux_data_t ) );
- audio->mux_data->track = i + 1;
-
- st = av_new_stream( oc, oc->nb_streams );
- if( !st )
- {
- hb_log( "av_new_stream failed" );
- return 1;
- }
- st->stream_copy = 1;
- st->codec->flags |= CODEC_FLAG_GLOBAL_HEADER;
- st->codec->codec_type = CODEC_TYPE_AUDIO;
- st->codec->codec_id = CODEC_ID_AAC;
- st->codec->bit_rate = 1000 * job->abitrate;
- st->codec->extradata= audio->config.aac.bytes;
- st->codec->extradata_size= audio->config.aac.length;
- st->codec->time_base = (AVRational){ 1, job->arate };
- st->codec->channels = 2;
- st->codec->sample_rate = job->arate;
- st->codec->frame_size = 1024;
- st->codec->block_align = 0;
- }
-
- oc->timestamp = 0;
- if( url_fopen( &oc->pb, job->file, URL_WRONLY ) < 0 )
- {
- hb_log( "url_fopen failed (%s)", job->file );
- return 1;
- }
-
- memset( &params, 0, sizeof( params ) );
- if( av_set_parameters( oc, &params ) < 0 )
- {
- hb_log( "av_set_parameters failed" );
- return 1;
- }
-
- oc->packet_size= 0;
- oc->mux_rate= 0;
- oc->preload= (int)(0.5*AV_TIME_BASE);
- oc->max_delay= (int)(0.7*AV_TIME_BASE);
- oc->loop_output = AVFMT_NOOUTPUTLOOP;
-
- if( av_write_header( oc ) < 0 )
- {
- hb_log( "av_write_header failed" );
- return 1;
- }
-
- m->format = oc;
-
- return 0;
-}
-
-static int MP4Mux( hb_mux_object_t * m, hb_mux_data_t * mux_data,
- hb_buffer_t * buf )
-{
- AVPacket pkt;
- av_init_packet(&pkt);
-
- pkt.stream_index = mux_data->track;
- pkt.data = buf->data;
- pkt.size = buf->size;
- pkt.pts = buf->start;
-
- if( buf->key )
- {
- pkt.flags |= PKT_FLAG_KEY;
- }
-
- av_interleaved_write_frame( m->format, &pkt );
-
- return 0;
-}
-
-static int MP4End( hb_mux_object_t * m )
-{
- av_write_trailer( m->format );
- url_fclose( &m->format->pb );
- av_free( m->format );
-
- return 0;
-}
-
-hb_mux_object_t * hb_mux_mp4_init( hb_job_t * job )
-{
- hb_mux_object_t * m = calloc( sizeof( hb_mux_object_t ), 1 );
- m->init = MP4Init;
- m->mux = MP4Mux;
- m->end = MP4End;
- m->job = job;
- return m;
-}
-
diff --git a/libhb/Jamfile b/libmediafork/Jamfile
index 29f9c7774..10a30ed32 100644
--- a/libhb/Jamfile
+++ b/libmediafork/Jamfile
@@ -4,15 +4,16 @@
# Homepage: <http://handbrake.m0k.org/>.
# It may be used under the terms of the GNU General Public License.
-SubDir TOP libhb ;
+SubDir TOP libmediafork ;
-LIBHB_SRC =
-common.c hb.c ports.c scan.c work.c decmpeg2.c encavcodec.c update.c
+LIBMEDIAFORK_SRC =
+ipodutil.cpp common.c mediafork.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 libhb : $(LIBHB_SRC) ;
+Library libmediafork : $(LIBMEDIAFORK_SRC) ;
-ObjectCcFlags $(LIBHB_SRC) : -I$(TOP)/contrib/include ;
-ObjectDefines $(LIBHB_SRC) : __LIBHB__ ;
+ObjectCcFlags $(LIBMEDIAFORK_SRC) : -I$(TOP)/contrib/include ;
+ObjectDefines $(LIBMEDIAFORK_SRC) : __LIBMEDIAFORK__ ;
+ObjectC++Flags $(LIBMEDIAFORK_SRC) : -I$(TOP)/contrib/include ;
diff --git a/libmediafork/Makefile b/libmediafork/Makefile
new file mode 100644
index 000000000..0ce595c44
--- /dev/null
+++ b/libmediafork/Makefile
@@ -0,0 +1,105 @@
+SYSTEM = $(shell uname -s)
+
+ifeq ($(SYSTEM),Linux)
+ SYSDEF=-DSYS_LINUX
+endif
+
+ifeq ($(SYSTEM),CYGWIN_NT-5.1)
+ SYSDEF=-DSYS_CYGWIN
+endif
+
+ifeq ($(SYSTEM),FreeBSD)
+ CFLAGS += -DSYS_FREEBSD
+ LDFLAGS += -pthread -lm
+endif
+
+ifeq ($(SYSTEM),NetBSD)
+ CFLAGS += -DSYS_NETBSD
+ LDFLAGS += -lpthread -lm
+endif
+
+ifeq ($(SYSTEM),Linux)
+ CFLAGS += -DSYS_LINUX
+ LDFLAGS += -lpthread -lm
+endif
+
+SRCS = common.c mediafork.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 ipodutil.cpp
+OTMP = $(SRCS:%.c=%.o)
+OBJS = $(OTMP:%.cpp=%.o)
+
+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/libfaac.a ../contrib/lib/libmp3lame.a \
+ ../contrib/lib/libmpeg2.a ../contrib/lib/libmpeg2convert.a \
+ ../contrib/lib/libvorbis.a ../contrib/lib/libvorbisenc.a \
+ ../contrib/lib/libvorbisfile.a ../contrib/lib/libogg.a \
+ ../contrib/lib/libsamplerate.a ../contrib/lib/libx264.a \
+ ../contrib/lib/libxvidcore.a ../contrib/lib/libmp4v2.a
+else
+CONTRIBS = ../contrib/lib/liba52.a ../contrib/lib/libavformat.a \
+ ../contrib/lib/libavcodec.a ../contrib/lib/libavutil.a \
+ ../contrib/lib/libdvdread.a ../contrib/lib/libdvdcss.a \
+ ../contrib/lib/libfaac.a ../contrib/lib/libmp3lame.a \
+ ../contrib/lib/libmpeg2.a ../contrib/lib/libmpeg2convert.a \
+ ../contrib/lib/libvorbis.a ../contrib/lib/libvorbisenc.a \
+ ../contrib/lib/libvorbisfile.a ../contrib/lib/libogg.a \
+ ../contrib/lib/libsamplerate.a ../contrib/lib/libx264.a \
+ ../contrib/lib/libxvidcore.a ../contrib/lib/libmp4v2.a
+endif
+BUILD = $(shell date "+%Y%m%d")
+CFLAGS += -I../contrib/include -D__LIBMEDIAFORK__ -DUSE_PTHREAD -DHB_VERSION=\"0.8.0b1\" -DHB_BUILD=$(BUILD) $(SYSDEF)
+
+CXXFLAGS += -I../contrib/include -D__LIBMEDIAFORK__ -DUSE_PTHREAD -DHB_VERSION=\"0.8.0b1\" -DHB_BUILD=$(BUILD) $(SYSDEF)
+
+ifeq ($(SYSTEM),CYGWIN_NT-5.1)
+all: libmediafork.a libmediafork.dll
+else
+all: libmediafork.a libmediafork.so
+endif
+
+libmediafork.a: $(OBJS)
+ @echo "Library $@"
+ @ar ru $@ $(OBJS)
+ @ranlib $@
+
+libmediafork.so: $(OBJS)
+ @echo "Shared library $@"
+ @g++ -o $@ $(OBJS) $(CONTRIBS) -shared $(CFLAGS) || \
+ ( echo "Compile line for $@ was:"; echo $$CMD; false )
+
+libmediafork.dll: $(OBJS)
+ @echo "Shared library $@"
+ @g++ -o $@ $(OBJS) $(CONTRIBS) -shared $(CFLAGS) || \
+ ( echo "Compile line for $@ was:"; echo $$CMD; false )
+
+%.o: %.c
+ @echo "Cc $@"
+ @CMD="$(CC) $(CFLAGS) -o $@ -c $<"; $$CMD || \
+ ( echo "Compile line for $@ was:"; echo $$CMD; false )
+%.o: %.cpp
+ @echo "Cc $@"
+ @CMD="$(CC) $(CFLAGS) -o $@ -c $<"; $$CMD || \
+ ( echo "Compile line for $@ was:"; echo $$CMD; false )
+
+
+clean:
+ @echo "Clean libmediafork.a"
+ @$(RM) libmediafork.*
+ @echo "Clean libmediafork.so"
+ @$(RM) libmediafork.so
+ @echo "Clean $(OBJS)"
+ @$(RM) $(OBJS)
+
+.depend: $(SRCS)
+ @echo "Checking dependencies..."
+ @$(RM) .depend
+ @$(foreach SRC, $(SRCS), $(CC) -MM $(SRC) $(CFLAGS) >> .depend;)
+
+-include .depend
+
diff --git a/libhb/common.c b/libmediafork/common.c
index e9d366f75..7b41a93fb 100644
--- a/libhb/common.c
+++ b/libmediafork/common.c
@@ -37,6 +37,29 @@ int hb_audio_bitrates_count = sizeof( hb_audio_bitrates ) /
int hb_audio_bitrates_default = 8; /* 128 kbps */
/**********************************************************************
+ * hb_reduce
+ **********************************************************************
+ * Given a numerator (num) and a denominator (den), reduce them to an
+ * equivalent fraction and store the result in x and y.
+ *********************************************************************/
+void hb_reduce( int *x, int *y, int num, int den )
+{
+ int lower = MIN( num, den );
+ int i;
+ *x = num;
+ *y = den;
+ for( i = lower - 1; i > 1; --i )
+ {
+ if( ( num % i == 0 ) && ( den % i == 0 ) )
+ {
+ *x = num / i;
+ *y = den / i;
+ break;
+ }
+ }
+}
+
+/**********************************************************************
* hb_fix_aspect
**********************************************************************
* Given the output width (if HB_KEEP_WIDTH) or height
diff --git a/libhb/common.h b/libmediafork/common.h
index 859711f81..ed9d7c59a 100644
--- a/libhb/common.h
+++ b/libmediafork/common.h
@@ -7,6 +7,7 @@
#ifndef HB_COMMON_H
#define HB_COMMON_H
+#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
@@ -44,7 +45,7 @@ typedef struct hb_fifo_s hb_fifo_t;
typedef struct hb_lock_s hb_lock_t;
#include "ports.h"
-#ifdef __LIBHB__
+#ifdef __LIBMEDIAFORK__
#include "internal.h"
#endif
@@ -55,6 +56,8 @@ void hb_list_rem( hb_list_t *, void * );
void * hb_list_item( hb_list_t *, int );
void hb_list_close( hb_list_t ** );
+void hb_reduce( int *x, int *y, int num, int den );
+
#define HB_KEEP_WIDTH 0
#define HB_KEEP_HEIGHT 1
void hb_fix_aspect( hb_job_t * job, int keep );
@@ -92,17 +95,24 @@ struct hb_job_s
int chapter_end;
/* Picture settings:
- crop: must be multiples of 2 (top/bottom/left/right)
- deinterlace: 0 or 1
- width: must be a multiple of 16
- height: must be a multiple of 16
- keep_ratio: used by UIs */
+ crop: must be multiples of 2 (top/bottom/left/right)
+ deinterlace: 0 or 1
+ width: must be a multiple of 16
+ height: must be a multiple of 16
+ 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 */
+
int crop[4];
int deinterlace;
int width;
int height;
int keep_ratio;
int grayscale;
+ int pixel_ratio;
+ int pixel_aspect_width;
+ int pixel_aspect_height;
/* Video settings:
vcodec: output codec
@@ -166,7 +176,7 @@ struct hb_job_s
int mux;
char * file;
-#ifdef __LIBHB__
+#ifdef __LIBMEDIAFORK__
/* Internal data */
hb_handle_t * h;
hb_lock_t * pause;
@@ -200,7 +210,7 @@ struct hb_audio_s
int bitrate;
int channels;
-#ifdef __LIBHB__
+#ifdef __LIBMEDIAFORK__
/* Internal data */
hb_fifo_t * fifo_in; /* AC3/MPEG/LPCM ES */
hb_fifo_t * fifo_raw; /* Raw audio */
@@ -235,7 +245,7 @@ struct hb_subtitle_s
int id;
char lang[1024];
-#ifdef __LIBHB__
+#ifdef __LIBMEDIAFORK__
/* Internal data */
hb_fifo_t * fifo_in; /* SPU ES */
hb_fifo_t * fifo_raw; /* Decodec SPU */
@@ -336,7 +346,7 @@ struct hb_work_object_s
int id;
char * name;
-#ifdef __LIBHB__
+#ifdef __LIBMEDIAFORK__
int (* init) ( hb_work_object_t *, hb_job_t * );
int (* work) ( hb_work_object_t *, hb_buffer_t **,
hb_buffer_t ** );
diff --git a/libhb/deca52.c b/libmediafork/deca52.c
index b18acf641..c7688ed3b 100644
--- a/libhb/deca52.c
+++ b/libmediafork/deca52.c
@@ -4,7 +4,7 @@
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "hb.h"
+#include "mediafork.h"
#include "a52dec/a52.h"
diff --git a/libhb/decavcodec.c b/libmediafork/decavcodec.c
index 4d74fc68f..dfc61dcd5 100644
--- a/libhb/decavcodec.c
+++ b/libmediafork/decavcodec.c
@@ -4,7 +4,7 @@
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "hb.h"
+#include "mediafork.h"
#include "ffmpeg/avcodec.h"
diff --git a/libhb/declpcm.c b/libmediafork/declpcm.c
index f6a703d38..718cf559d 100644
--- a/libhb/declpcm.c
+++ b/libmediafork/declpcm.c
@@ -4,7 +4,7 @@
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "hb.h"
+#include "mediafork.h"
int declpcmInit( hb_work_object_t *, hb_job_t * );
int declpcmWork( hb_work_object_t *, hb_buffer_t **, hb_buffer_t ** );
diff --git a/libhb/decmpeg2.c b/libmediafork/decmpeg2.c
index 214444a05..e3188dfe2 100644
--- a/libhb/decmpeg2.c
+++ b/libmediafork/decmpeg2.c
@@ -4,7 +4,7 @@
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "hb.h"
+#include "mediafork.h"
#include "mpeg2dec/mpeg2.h"
diff --git a/libhb/decsub.c b/libmediafork/decsub.c
index 3666ea3fe..f68e763e1 100644
--- a/libhb/decsub.c
+++ b/libmediafork/decsub.c
@@ -4,7 +4,7 @@
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "hb.h"
+#include "mediafork.h"
struct hb_work_private_s
{
diff --git a/libhb/demuxmpeg.c b/libmediafork/demuxmpeg.c
index 721478e80..54bef2b47 100644
--- a/libhb/demuxmpeg.c
+++ b/libmediafork/demuxmpeg.c
@@ -4,7 +4,7 @@
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "hb.h"
+#include "mediafork.h"
/* Basic MPEG demuxer, only works with DVDs (2048 bytes packets) */
diff --git a/libhb/dvd.c b/libmediafork/dvd.c
index 4082a18d3..04695a3e2 100644
--- a/libhb/dvd.c
+++ b/libmediafork/dvd.c
@@ -4,7 +4,7 @@
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "hb.h"
+#include "mediafork.h"
#include "lang.h"
#include "dvdread/ifo_read.h"
diff --git a/libhb/encavcodec.c b/libmediafork/encavcodec.c
index f04606906..c1d7df9d2 100644
--- a/libhb/encavcodec.c
+++ b/libmediafork/encavcodec.c
@@ -4,7 +4,7 @@
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "hb.h"
+#include "mediafork.h"
#include "ffmpeg/avcodec.h"
@@ -65,6 +65,15 @@ int encavcodecInit( hb_work_object_t * w, hb_job_t * job )
context->gop_size = 10 * job->vrate / job->vrate_base;
context->pix_fmt = PIX_FMT_YUV420P;
+ if( job->pixel_ratio )
+ {
+ context->sample_aspect_ratio.num = job->pixel_aspect_width;
+ context->sample_aspect_ratio.den = job->pixel_aspect_height;
+
+ hb_log( "encavcodec: encoding with stored aspect %d/%d",
+ job->pixel_aspect_width, job->pixel_aspect_height );
+ }
+
if( job->mux & ( HB_MUX_MP4 | HB_MUX_PSP ) )
{
context->flags |= CODEC_FLAG_GLOBAL_HEADER;
diff --git a/libhb/encfaac.c b/libmediafork/encfaac.c
index 8e2bd4355..19787a560 100644
--- a/libhb/encfaac.c
+++ b/libmediafork/encfaac.c
@@ -4,7 +4,7 @@
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "hb.h"
+#include "mediafork.h"
#include "faac.h"
diff --git a/libhb/enclame.c b/libmediafork/enclame.c
index f663e62eb..82bca1132 100644
--- a/libhb/enclame.c
+++ b/libmediafork/enclame.c
@@ -4,7 +4,7 @@
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "hb.h"
+#include "mediafork.h"
#include "lame/lame.h"
diff --git a/libhb/encvorbis.c b/libmediafork/encvorbis.c
index 4bdb6efeb..1e916a447 100644
--- a/libhb/encvorbis.c
+++ b/libmediafork/encvorbis.c
@@ -4,7 +4,7 @@
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "hb.h"
+#include "mediafork.h"
#include "vorbis/vorbisenc.h"
diff --git a/libhb/encx264.c b/libmediafork/encx264.c
index 1bc24866c..cdd8e9b69 100644
--- a/libhb/encx264.c
+++ b/libmediafork/encx264.c
@@ -1,12 +1,12 @@
/* $Id: encx264.c,v 1.21 2005/11/04 13:09:41 titer Exp $
-This file is part of the HandBrake source code.
-Homepage: <http://handbrake.m0k.org/>.
-It may be used under the terms of the GNU General Public License. */
+ This file is part of the HandBrake source code.
+ Homepage: <http://handbrake.m0k.org/>.
+ It may be used under the terms of the GNU General Public License. */
#include <stdarg.h>
-#include "hb.h"
+#include "mediafork.h"
#include "x264.h"
@@ -29,32 +29,31 @@ struct hb_work_private_s
x264_t * x264;
x264_picture_t pic_in;
x264_picture_t pic_out;
-
+
char filename[1024];
};
/***********************************************************************
-* hb_work_encx264_init
-***********************************************************************
-*
-**********************************************************************/
+ * hb_work_encx264_init
+ ***********************************************************************
+ *
+ **********************************************************************/
int encx264Init( hb_work_object_t * w, hb_job_t * job )
{
x264_param_t param;
x264_nal_t * nal;
int nal_count;
- int i, size;
-
+
hb_work_private_t * pv = calloc( 1, sizeof( hb_work_private_t ) );
w->private_data = pv;
-
+
pv->job = job;
-
+
memset( pv->filename, 0, 1024 );
hb_get_tempory_filename( job->h, pv->filename, "x264.log" );
-
+
x264_param_default( &param );
-
+
param.i_threads = hb_get_cpu_count();
param.i_width = job->width;
param.i_height = job->height;
@@ -62,75 +61,85 @@ int encx264Init( hb_work_object_t * w, hb_job_t * job )
param.i_fps_den = job->vrate_base;
param.i_keyint_max = 20 * job->vrate / job->vrate_base;
param.i_log_level = X264_LOG_NONE;
-
- if( job->h264_level )
- {
+ if( job->h264_level )
+ {
param.i_threads = 1;
param.b_cabac = 0;
param.i_level_idc = job->h264_level;
hb_log( "encx264: encoding at level %i",
param.i_level_idc );
- }
-
- /* Slightly faster with minimal quality lost */
- param.analyse.i_subpel_refine = 4;
-
- if( job->vquality >= 0.0 && job->vquality <= 1.0 )
- {
- switch(job->crf)
+ }
+
+ /* Slightly faster with minimal quality lost */
+ param.analyse.i_subpel_refine = 4;
+
+ if( job->pixel_ratio )
+ {
+ param.vui.i_sar_width = job->pixel_aspect_width;
+ param.vui.i_sar_height = job->pixel_aspect_height;
+
+ hb_log( "encx264: encoding with stored aspect %d/%d",
+ param.vui.i_sar_width, param.vui.i_sar_height );
+ }
+
+
+ if( job->vquality >= 0.0 && job->vquality <= 1.0 )
+ {
+ switch(job->crf)
{
case 1:
/*Constant RF*/
param.rc.i_rc_method = X264_RC_CRF;
param.rc.f_rf_constant = 51 - job->vquality * 51;
- hb_log( "encx264: Encoding at constant RF %f", param.rc.f_rf_constant );
+ hb_log( "encx264: Encoding at constant RF %f",
+ param.rc.f_rf_constant );
break;
-
+
case 0:
/*Constant QP*/
param.rc.i_rc_method = X264_RC_CQP;
- param.rc.i_qp_constant = 51 - job->vquality * 51;
- hb_log( "encx264: encoding at constant QP %d",
- param.rc.i_qp_constant );
+ param.rc.i_qp_constant = 51 - job->vquality * 51;
+ hb_log( "encx264: encoding at constant QP %d",
+ param.rc.i_qp_constant );
break;
}
- }
- else
- {
+ }
+ else
+ {
/* Rate control */
- param.rc.i_rc_method = X264_RC_ABR;
- param.rc.i_bitrate = job->vbitrate;
- switch( job->pass )
- {
- case 1:
- param.rc.b_stat_write = 1;
- param.rc.psz_stat_out = pv->filename;
- break;
- case 2:
- param.rc.b_stat_read = 1;
- param.rc.psz_stat_in = pv->filename;
- break;
- }
- }
-
+ param.rc.i_rc_method = X264_RC_ABR;
+ param.rc.i_bitrate = job->vbitrate;
+ switch( job->pass )
+ {
+ case 1:
+ param.rc.b_stat_write = 1;
+ param.rc.psz_stat_out = pv->filename;
+ break;
+ case 2:
+ param.rc.b_stat_read = 1;
+ param.rc.psz_stat_in = pv->filename;
+ break;
+ }
+ }
+
hb_log( "encx264: opening libx264 (pass %d)", job->pass );
pv->x264 = x264_encoder_open( &param );
-
- w->config->mpeg4.length = 0;
-
+
x264_encoder_headers( pv->x264, &nal, &nal_count );
-
- for( i = 0; i < nal_count; i++ )
- {
- size = sizeof( w->config->mpeg4.bytes ) - w->config->mpeg4.length;
- x264_nal_encode( &w->config->mpeg4.bytes[w->config->mpeg4.length],
- &size, 1, &nal[i] );
- w->config->mpeg4.length += size;
- }
-
+
+ /* Sequence Parameter Set */
+ w->config->h264.sps_length = 1 + nal[1].i_payload;
+ w->config->h264.sps[0] = 0x67;
+ memcpy( &w->config->h264.sps[1], nal[1].p_payload, nal[1].i_payload );
+
+ /* Picture Parameter Set */
+ w->config->h264.pps_length = 1 + nal[2].i_payload;
+ w->config->h264.pps[0] = 0x68;
+ memcpy( &w->config->h264.pps[1], nal[2].p_payload, nal[2].i_payload );
+
x264_picture_alloc( &pv->pic_in, X264_CSP_I420,
job->width, job->height );
-
+
return 0;
}
@@ -138,12 +147,12 @@ void encx264Close( hb_work_object_t * w )
{
hb_work_private_t * pv = w->private_data;
x264_encoder_close( pv->x264 );
-
+
/* TODO */
}
int encx264Work( hb_work_object_t * w, hb_buffer_t ** buf_in,
- hb_buffer_t ** buf_out )
+ hb_buffer_t ** buf_out )
{
hb_work_private_t * pv = w->private_data;
hb_job_t * job = pv->job;
@@ -151,7 +160,7 @@ int encx264Work( hb_work_object_t * w, hb_buffer_t ** buf_in,
int i_nal;
x264_nal_t * nal;
int i;
-
+
/* XXX avoid this memcpy ? */
memcpy( pv->pic_in.img.plane[0], in->data, job->width * job->height );
if( job->grayscale )
@@ -167,36 +176,65 @@ int encx264Work( hb_work_object_t * w, hb_buffer_t ** buf_in,
memcpy( pv->pic_in.img.plane[2], in->data + 5 * job->width *
job->height / 4, job->width * job->height / 4 );
}
-
+
pv->pic_in.i_type = X264_TYPE_AUTO;
pv->pic_in.i_qpplus1 = 0;
-
+
x264_encoder_encode( pv->x264, &nal, &i_nal,
&pv->pic_in, &pv->pic_out );
-
-
-
+
/* Should be way too large */
buf = hb_buffer_init( 3 * job->width * job->height / 2 );
+ buf->size = 0;
buf->start = in->start;
buf->stop = in->stop;
- buf->key = ( pv->pic_out.i_type == X264_TYPE_IDR );
-
-
- buf->size = 0;
+ buf->key = 0;
+
for( i = 0; i < i_nal; i++ )
{
int size, data;
+
data = buf->alloc - buf->size;
- if( ( size = x264_nal_encode( &buf->data[buf->size], &data,
- 1, &nal[i] ) ) > 0 )
+ if( ( size = x264_nal_encode( buf->data + buf->size, &data,
+ 1, &nal[i] ) ) < 1 )
+ {
+ continue;
+ }
+
+ if( job->mux & HB_MUX_AVI )
{
+ if( nal[i].i_ref_idc == NAL_PRIORITY_HIGHEST )
+ {
+ buf->key = 1;
+ }
buf->size += size;
+ continue;
+ }
+
+ /* H.264 in .mp4 */
+ switch( buf->data[buf->size+4] & 0x1f )
+ {
+ case 0x7:
+ case 0x8:
+ /* SPS, PPS */
+ break;
+
+ default:
+ /* H.264 in mp4 (stolen from mp4creator) */
+ buf->data[buf->size+0] = ( ( size - 4 ) >> 24 ) & 0xFF;
+ buf->data[buf->size+1] = ( ( size - 4 ) >> 16 ) & 0xFF;
+ buf->data[buf->size+2] = ( ( size - 4 ) >> 8 ) & 0xFF;
+ buf->data[buf->size+3] = ( ( size - 4 ) >> 0 ) & 0xFF;
+ if( nal[i].i_ref_idc == NAL_PRIORITY_HIGHEST )
+ {
+ buf->key = 1;
+ }
+ buf->size += size;
}
}
-
+
*buf_out = buf;
-
+
return HB_WORK_OK;
}
diff --git a/libhb/encxvid.c b/libmediafork/encxvid.c
index 87c42b0a4..64b38a405 100644
--- a/libhb/encxvid.c
+++ b/libmediafork/encxvid.c
@@ -4,7 +4,7 @@
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "hb.h"
+#include "mediafork.h"
#include "xvid.h"
@@ -162,6 +162,13 @@ int encxvidWork( hb_work_object_t * w, hb_buffer_t ** buf_in,
frame.vol_flags = 0;
frame.vop_flags = XVID_VOP_HALFPEL | XVID_VOP_INTER4V |
XVID_VOP_TRELLISQUANT | XVID_VOP_HQACPRED;
+ if( job->pixel_ratio )
+ {
+ frame.par = XVID_PAR_EXT;
+ frame.par_width = job->pixel_aspect_width;
+ frame.par_height = job->pixel_aspect_height;
+ }
+
if( job->grayscale )
{
frame.vop_flags |= XVID_VOP_GREYSCALE;
diff --git a/libhb/fifo.c b/libmediafork/fifo.c
index 93e3e162e..9e5ea15f8 100644
--- a/libhb/fifo.c
+++ b/libmediafork/fifo.c
@@ -4,7 +4,7 @@
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "hb.h"
+#include "mediafork.h"
#ifndef SYS_DARWIN
#include <malloc.h>
diff --git a/libhb/internal.h b/libmediafork/internal.h
index 36ead1bf0..3948d5dfd 100644
--- a/libhb/internal.h
+++ b/libmediafork/internal.h
@@ -122,6 +122,14 @@ union hb_esconfig_u
int length;
} mpeg4;
+ struct
+ {
+ uint8_t sps[HB_CONFIG_MAX_SIZE];
+ int sps_length;
+ uint8_t pps[HB_CONFIG_MAX_SIZE];
+ int pps_length;
+ } h264;
+
struct
{
uint8_t bytes[HB_CONFIG_MAX_SIZE];
diff --git a/libmediafork/ipodutil.cpp b/libmediafork/ipodutil.cpp
new file mode 100644
index 000000000..ba37e4768
--- /dev/null
+++ b/libmediafork/ipodutil.cpp
@@ -0,0 +1,34 @@
+/*
+ * MP4 library API functions
+ *
+ * These are wrapper functions that provide C linkage conventions
+ * to the library, and catch any internal errors, ensuring that
+ * a proper return value is given.
+ */
+
+#include "mp4common.h"
+
+static u_int8_t ipod_magic[] = {
+ 0x6b, 0x68, 0x40, 0xf2, 0x5f, 0x24, 0x4f, 0xc5,
+ 0xba, 0x39, 0xa5, 0x1b, 0xcf, 0x03, 0x23, 0xf3
+};
+
+class IPodUUIDAtom : public MP4Atom {
+public:
+ IPodUUIDAtom() : MP4Atom("uuid")
+ {
+ SetExtendedType(ipod_magic);
+
+ MP4Integer32Property* value = new MP4Integer32Property("value");
+ value->SetValue(1);
+ AddProperty(value);
+ }
+};
+
+extern "C" void AddIPodUUID(MP4FileHandle hFile, MP4TrackId trackId)
+{
+ MP4Track* track = ((MP4File*)hFile)->GetTrack(trackId);
+ MP4Atom* avc1 = track->GetTrakAtom()->FindChildAtom("mdia.minf.stbl.stsd.avc1");
+ avc1->AddChildAtom(new IPodUUIDAtom());
+}
+
diff --git a/libhb/lang.h b/libmediafork/lang.h
index f88f539ff..f88f539ff 100644
--- a/libhb/lang.h
+++ b/libmediafork/lang.h
diff --git a/libhb/hb.c b/libmediafork/mediafork.c
index 98e014f0d..6eb115fd8 100644
--- a/libhb/hb.c
+++ b/libmediafork/mediafork.c
@@ -1,10 +1,4 @@
-/* $Id: hb.c,v 1.43 2005/04/27 21:05:24 titer Exp $
-
- This file is part of the HandBrake source code.
- Homepage: <http://handbrake.m0k.org/>.
- It may be used under the terms of the GNU General Public License. */
-
-#include "hb.h"
+#include "mediafork.h"
#include "ffmpeg/avcodec.h"
@@ -131,6 +125,96 @@ hb_handle_t * hb_init_real( int verbose, int update_check )
}
/**
+ * libhb initialization routine.
+ * This version is to use when calling the dylib, the macro hb_init isn't available from a dylib call!
+ * @param verbose HB_DEBUG_NONE or HB_DEBUG_ALL.
+ * @param update_check signals libhb to check for updated version from HandBrake website.
+ * @return Handle to hb_handle_t for use on all subsequent calls to libhb.
+ */
+hb_handle_t * hb_init_dl( int verbose, int update_check )
+{
+ hb_handle_t * h = calloc( sizeof( hb_handle_t ), 1 );
+ uint64_t date;
+
+ /* See hb_log() in common.c */
+ if( verbose > HB_DEBUG_NONE )
+ {
+ putenv( "HB_DEBUG=1" );
+ av_log_set_level(AV_LOG_DEBUG);
+ }
+
+ /* Check for an update on the website if asked to */
+ h->build = -1;
+
+ if( update_check )
+ {
+ hb_log( "hb_init: checking for updates" );
+ date = hb_get_date();
+ h->update_thread = hb_update_init( &h->build, h->version );
+
+ for( ;; )
+ {
+ if( hb_thread_has_exited( h->update_thread ) )
+ {
+ /* Immediate success or failure */
+ hb_thread_close( &h->update_thread );
+ break;
+ }
+ if( hb_get_date() > date + 1000 )
+ {
+ /* Still nothing after one second. Connection problem,
+ let the thread die */
+ hb_log( "hb_init: connection problem, not waiting for "
+ "update_thread" );
+ break;
+ }
+ hb_snooze( 500 );
+ }
+ }
+
+ /* CPU count detection */
+ hb_log( "hb_init: checking cpu count" );
+ h->cpu_count = hb_get_cpu_count();
+
+ h->list_title = hb_list_init();
+ h->jobs = hb_list_init();
+
+ h->state_lock = hb_lock_init();
+ h->state.state = HB_STATE_IDLE;
+
+ h->pause_lock = hb_lock_init();
+
+ /* libavcodec */
+ avcodec_init();
+ register_avcodec( &mpeg4_encoder );
+ register_avcodec( &mp2_decoder );
+ register_avcodec( &ac3_encoder );
+
+ /* Start library thread */
+ hb_log( "hb_init: starting libhb thread" );
+ h->die = 0;
+ h->main_thread = hb_thread_init( "libhb", thread_func, h,
+ HB_NORMAL_PRIORITY );
+
+ hb_register( &hb_sync );
+ hb_register( &hb_decmpeg2 );
+ hb_register( &hb_decsub );
+ hb_register( &hb_render );
+ hb_register( &hb_encavcodec );
+ hb_register( &hb_encxvid );
+ hb_register( &hb_encx264 );
+ hb_register( &hb_deca52 );
+ hb_register( &hb_decavcodec );
+ hb_register( &hb_declpcm );
+ hb_register( &hb_encfaac );
+ hb_register( &hb_enclame );
+ hb_register( &hb_encvorbis );
+
+ return h;
+}
+
+
+/**
* Returns current version of libhb.
* @param h Handle to hb_handle_t.
* @return character array of version number.
diff --git a/libhb/hb.h b/libmediafork/mediafork.h
index e989a6bc0..8b5d4696a 100644
--- a/libhb/hb.h
+++ b/libmediafork/mediafork.h
@@ -1,9 +1,3 @@
-/* $Id: hb.h,v 1.12 2005/03/29 09:40:28 titer Exp $
-
- This file is part of the HandBrake source code.
- Homepage: <http://handbrake.m0k.org/>.
- It may be used under the terms of the GNU General Public License. */
-
#ifndef HB_HB_H
#define HB_HB_H
@@ -20,6 +14,7 @@ extern "C" {
#define HB_DEBUG_ALL 1
void hb_register( hb_work_object_t * );
hb_handle_t * hb_init_real( int verbose, int update_check );
+hb_handle_t * hb_init_dl ( int verbose, int update_check ); // hb_init for use with dylib
#define hb_init(v,u) \
hb_init_real( v, u ); \
diff --git a/libhb/muxavi.c b/libmediafork/muxavi.c
index 8746a3cdd..4231d32df 100644
--- a/libhb/muxavi.c
+++ b/libmediafork/muxavi.c
@@ -4,7 +4,7 @@
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "hb.h"
+#include "mediafork.h"
#define AVIF_HASINDEX 0x10
#define AVIIF_KEYFRAME 0x10
diff --git a/libhb/muxcommon.c b/libmediafork/muxcommon.c
index 70e384e8a..3f6613716 100644
--- a/libhb/muxcommon.c
+++ b/libmediafork/muxcommon.c
@@ -4,7 +4,7 @@
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "hb.h"
+#include "mediafork.h"
struct hb_mux_object_s
{
diff --git a/libmediafork/muxmp4.c b/libmediafork/muxmp4.c
new file mode 100644
index 000000000..1fc201f4d
--- /dev/null
+++ b/libmediafork/muxmp4.c
@@ -0,0 +1,167 @@
+/* $Id: muxmp4.c,v 1.24 2005/11/04 13:09:41 titer Exp $
+
+ This file is part of the HandBrake source code.
+ Homepage: <http://handbrake.m0k.org/>.
+ It may be used under the terms of the GNU General Public License. */
+
+/* libmp4v2 header */
+#include "mp4.h"
+
+#include "mediafork.h"
+
+void AddIPodUUID(MP4FileHandle, MP4TrackId);
+
+
+struct hb_mux_object_s
+{
+ HB_MUX_COMMON;
+
+ hb_job_t * job;
+
+ /* libmp4v2 handle */
+ MP4FileHandle file;
+
+ /* Cumulated durations so far, in timescale units (see MP4Mux) */
+ uint64_t sum_dur;
+};
+
+struct hb_mux_data_s
+{
+ MP4TrackId track;
+};
+
+/**********************************************************************
+ * MP4Init
+ **********************************************************************
+ * Allocates hb_mux_data_t structures, create file and write headers
+ *********************************************************************/
+static int MP4Init( hb_mux_object_t * m )
+{
+ hb_job_t * job = m->job;
+ hb_title_t * title = job->title;
+
+ hb_audio_t * audio;
+ hb_mux_data_t * mux_data;
+ int i;
+
+ /* Create an empty mp4 file */
+ m->file = MP4Create( job->file, MP4_DETAILS_ERROR, 0 );
+
+ /* Video track */
+ mux_data = malloc( sizeof( hb_mux_data_t ) );
+ job->mux_data = mux_data;
+
+ /* When using the standard 90000 timescale, QuickTime tends to have
+ synchronization issues (audio not playing at the correct speed).
+ To workaround this, we use the audio samplerate as the
+ timescale */
+ MP4SetTimeScale( m->file, job->arate );
+
+ if( job->vcodec == HB_VCODEC_X264 )
+ {
+ /* 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 */
+
+ 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);
+ }
+ }
+ else /* FFmpeg or XviD */
+ {
+ MP4SetVideoProfileLevel( m->file, MPEG4_SP_L3 );
+ mux_data->track = MP4AddVideoTrack( m->file, job->arate,
+ MP4_INVALID_DURATION, job->width, job->height,
+ MP4_MPEG4_VIDEO_TYPE );
+
+ /* VOL from FFmpeg or XviD */
+ MP4SetTrackESConfiguration( m->file, mux_data->track,
+ job->config.mpeg4.bytes, job->config.mpeg4.length );
+ }
+
+ for( i = 0; i < hb_list_count( title->list_audio ); i++ )
+ {
+ audio = hb_list_item( title->list_audio, i );
+ mux_data = malloc( sizeof( hb_mux_data_t ) );
+ audio->mux_data = mux_data;
+
+ mux_data->track = MP4AddAudioTrack( m->file,
+ job->arate, 1024, MP4_MPEG4_AUDIO_TYPE );
+ MP4SetAudioProfileLevel( m->file, 0x0F );
+ MP4SetTrackESConfiguration( m->file, mux_data->track,
+ audio->config.aac.bytes, audio->config.aac.length );
+ }
+
+ return 0;
+}
+
+static int MP4Mux( hb_mux_object_t * m, hb_mux_data_t * mux_data,
+ hb_buffer_t * buf )
+{
+ hb_job_t * job = m->job;
+
+ uint64_t duration;
+
+ if( mux_data == job->mux_data )
+ {
+ /* Video */
+ /* Because we use the audio samplerate as the timescale,
+ we have to use potentially variable durations so the video
+ doesn't go out of sync */
+ duration = ( buf->stop * job->arate / 90000 ) - m->sum_dur;
+ m->sum_dur += duration;
+ }
+ else
+ {
+ /* Audio */
+ duration = MP4_INVALID_DURATION;
+ }
+
+ MP4WriteSample( m->file, mux_data->track, buf->data, buf->size,
+ duration, 0, buf->key );
+ return 0;
+}
+
+static int MP4End( hb_mux_object_t * m )
+{
+#if 0
+ hb_job_t * job = m->job;
+#endif
+ char filename[1024]; memset( filename, 0, 1024 );
+
+ MP4Close( m->file );
+
+#if 0
+ hb_log( "muxmp4: optimizing file" );
+ snprintf( filename, 1024, "%s.tmp", job->file );
+ MP4Optimize( job->file, filename, MP4_DETAILS_ERROR );
+ remove( job->file );
+ rename( filename, job->file );
+#endif
+
+ return 0;
+}
+
+hb_mux_object_t * hb_mux_mp4_init( hb_job_t * job )
+{
+ hb_mux_object_t * m = calloc( sizeof( hb_mux_object_t ), 1 );
+ m->init = MP4Init;
+ m->mux = MP4Mux;
+ m->end = MP4End;
+ m->job = job;
+ return m;
+}
+
diff --git a/libhb/muxogm.c b/libmediafork/muxogm.c
index 6a3b1ec5d..62ff4e7b8 100644
--- a/libhb/muxogm.c
+++ b/libmediafork/muxogm.c
@@ -4,7 +4,7 @@
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "hb.h"
+#include "mediafork.h"
#include <ogg/ogg.h>
diff --git a/libhb/ports.c b/libmediafork/ports.c
index bdeadc1f8..1e0b622b1 100644
--- a/libhb/ports.c
+++ b/libmediafork/ports.c
@@ -28,7 +28,7 @@
#include <netinet/in.h>
//#endif
-#include "hb.h"
+#include "mediafork.h"
/************************************************************************
* hb_get_date()
diff --git a/libhb/ports.h b/libmediafork/ports.h
index 47df1ce5e..740252e6b 100644
--- a/libhb/ports.h
+++ b/libmediafork/ports.h
@@ -14,7 +14,7 @@ uint64_t hb_get_date();
void hb_snooze( int delay );
int hb_get_cpu_count();
-#ifdef __LIBHB__
+#ifdef __LIBMEDIAFORK__
/* Everything from now is only used internally and hidden to the UI */
@@ -79,7 +79,7 @@ int hb_net_send( hb_net_t *, char * );
int hb_net_recv( hb_net_t *, char *, int );
void hb_net_close( hb_net_t ** );
-#endif /* __LIBHB__ */
+#endif /* __LIBMEDIAFORK__ */
#endif
diff --git a/libhb/reader.c b/libmediafork/reader.c
index 47ec9d546..7be28237d 100644
--- a/libhb/reader.c
+++ b/libmediafork/reader.c
@@ -4,7 +4,7 @@
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "hb.h"
+#include "mediafork.h"
typedef struct
{
diff --git a/libhb/render.c b/libmediafork/render.c
index cf6d7b31c..97117089a 100644
--- a/libhb/render.c
+++ b/libmediafork/render.c
@@ -4,7 +4,7 @@
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "hb.h"
+#include "mediafork.h"
#include "ffmpeg/avcodec.h"
diff --git a/libhb/scan.c b/libmediafork/scan.c
index 097f11638..1f74f629d 100644
--- a/libhb/scan.c
+++ b/libmediafork/scan.c
@@ -4,7 +4,7 @@
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "hb.h"
+#include "mediafork.h"
#include "a52dec/a52.h"
typedef struct
@@ -177,13 +177,29 @@ static void ScanFunc( void * _data )
/* Autocrop by default. Gnark gnark */
memcpy( job->crop, title->crop, 4 * sizeof( int ) );
+ if( title->aspect == 16 )
+ {
+ hb_reduce( &job->pixel_aspect_width, &job->pixel_aspect_height,
+ 16 * title->height, 9 * title->width );
+ }
+ else
+ {
+ hb_reduce( &job->pixel_aspect_width, &job->pixel_aspect_height,
+ 4 * title->height, 3 * title->width );
+ }
+
job->width = title->width - job->crop[2] - job->crop[3];
+// job->height = title->height - job->crop[0] - job->crop[1];
hb_fix_aspect( job, HB_KEEP_WIDTH );
if( job->height > title->height - job->crop[0] - job->crop[1] )
{
job->height = title->height - job->crop[0] - job->crop[1];
hb_fix_aspect( job, HB_KEEP_HEIGHT );
}
+
+ hb_log( "scan: title (%d) job->width:%d, job->height:%d",
+ i,job->width, job->height );
+
job->keep_ratio = 1;
job->vcodec = HB_VCODEC_FFMPEG;
diff --git a/libhb/sync.c b/libmediafork/sync.c
index cd526c11a..7053016e0 100644
--- a/libhb/sync.c
+++ b/libmediafork/sync.c
@@ -4,7 +4,7 @@
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "hb.h"
+#include "mediafork.h"
#include "samplerate.h"
#include "ffmpeg/avcodec.h"
diff --git a/libhb/update.c b/libmediafork/update.c
index 767807038..c12204fcc 100644
--- a/libhb/update.c
+++ b/libmediafork/update.c
@@ -4,7 +4,7 @@
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "hb.h"
+#include "mediafork.h"
#define HB_URL "handbrake.m0k.org"
#define HB_QUERY "GET /LATEST HTTP/1.0\r\nHost: " HB_URL "\r\n\r\n"
diff --git a/libhb/work.c b/libmediafork/work.c
index 6529e2fbb..b69275418 100644
--- a/libhb/work.c
+++ b/libmediafork/work.c
@@ -4,7 +4,7 @@
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-#include "hb.h"
+#include "mediafork.h"
typedef struct
{
@@ -103,6 +103,16 @@ static void do_job( hb_job_t * job, int cpu_count )
hb_log( " + device %s", title->dvd );
hb_log( " + title %d, chapter(s) %d to %d", title->index,
job->chapter_start, job->chapter_end );
+ if ( job->pixel_ratio == 1 )
+ {
+ /* Correct the geometry of the output movie when using PixelRatio */
+ 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 );
+ }
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] );
@@ -119,7 +129,7 @@ static void do_job( hb_job_t * job, int cpu_count )
(float) job->vrate / (float) job->vrate_base,
job->vbitrate, job->pass );
}
-
+ hb_log (" + PixelRatio: %d, width:%d, height: %d",job->pixel_ratio,job->width, job->height);
job->fifo_mpeg2 = hb_fifo_init( 2048 );
job->fifo_raw = hb_fifo_init( 8 );
job->fifo_sync = hb_fifo_init( 8 );
diff --git a/macosx/Controller.h b/macosx/Controller.h
index c32dacc04..6dc4c02db 100644
--- a/macosx/Controller.h
+++ b/macosx/Controller.h
@@ -6,7 +6,7 @@
#include <Cocoa/Cocoa.h>
-#include "hb.h"
+#include "mediafork.h"
#include "ScanController.h"
#include "PictureController.h"
@@ -69,6 +69,33 @@
IBOutlet NSButton * fVidGrayscaleCheck;
IBOutlet NSButton * fVidTwoPassCheck;
+
+ /* Picture Settings box */
+ IBOutlet NSTextField * fPicLabelSettings;
+ IBOutlet NSTextField * fPicLabelSrc;
+ IBOutlet NSTextField * fPicLabelOutp;
+ IBOutlet NSTextField * fPicLabelAr;
+ IBOutlet NSTextField * fPicLabelDeinter;
+ IBOutlet NSTextField * fPicLabelSrcX;
+ IBOutlet NSTextField * fPicLabelOutputX;
+
+ IBOutlet NSTextField * fPicSrcWidth;
+ IBOutlet NSTextField * fPicSrcHeight;
+ IBOutlet NSTextField * fPicSettingWidth;
+ IBOutlet NSTextField * fPicSettingHeight;
+ IBOutlet NSTextField * fPicSettingARkeep;
+ IBOutlet NSTextField * fPicSettingPAR;
+ IBOutlet NSTextField * fPicSettingDeinterlace;
+ IBOutlet NSTextField * fPicSettingARkeepDsply;
+ IBOutlet NSTextField * fPicSettingPARDsply;
+ IBOutlet NSTextField * fPicSettingDeinterlaceDsply;
+ IBOutlet NSTextField * fPicLabelAnamorphic;
+ IBOutlet NSTextField * fPicLabelPAROutp;
+ IBOutlet NSTextField * fPicLabelPAROutputX;
+ IBOutlet NSTextField * fPicSettingPARWidth;
+ IBOutlet NSTextField * fPicSettingPARHeight;
+
+
/* Subtitles box */
IBOutlet NSTextField * fSubField;
IBOutlet NSPopUpButton * fSubPopUp;
@@ -93,6 +120,7 @@
IBOutlet NSButton * fRipButton;
hb_handle_t * fHandle;
+ hb_title_t * fTitle;
}
- (void) TranslateStrings;
@@ -107,6 +135,7 @@
- (IBAction) FormatPopUpChanged: (id) sender;
- (IBAction) CodecsPopUpChanged: (id) sender;
+- (IBAction) EncoderPopUpChanged: (id) sender;
- (IBAction) BrowseFile: (id) sender;
- (void) BrowseFileDone: (NSSavePanel *) sheet
returnCode: (int) returnCode contextInfo: (void *) contextInfo;
@@ -115,6 +144,7 @@
- (IBAction) QualitySliderChanged: (id) sender;
- (IBAction) ShowPicturePanel: (id) sender;
+- (IBAction) CalculatePictureSizing: (id) sender;
- (IBAction) EnableQueue: (id) sender;
- (IBAction) AddToQueue: (id) sender;
diff --git a/macosx/Controller.mm b/macosx/Controller.mm
index 281c3372b..3bf5f4f4a 100644
--- a/macosx/Controller.mm
+++ b/macosx/Controller.mm
@@ -42,13 +42,14 @@ static int FormatSettings[3][4] =
/* Init libhb */
fHandle = hb_init( HB_DEBUG_NONE, [[NSUserDefaults
standardUserDefaults] boolForKey:@"CheckForUpdates"] );
-
+
/* Init others controllers */
[fScanController SetHandle: fHandle];
[fPictureController SetHandle: fHandle];
[fQueueController SetHandle: fHandle];
+
- /* Call UpdateUI every 2/10 sec */
+ /* Call UpdateUI every 2/10 sec */
[[NSRunLoop currentRunLoop] addTimer: [NSTimer
scheduledTimerWithTimeInterval: 0.2 target: self
selector: @selector( UpdateUI: ) userInfo: NULL repeats: FALSE]
@@ -113,7 +114,18 @@ static int FormatSettings[3][4] =
/* Video quality */
[fVidTargetSizeField setIntValue: 700];
- [fVidBitrateField setIntValue: 1000];
+ [fVidBitrateField setIntValue: 1000];
+ /* Do we want to force the quality settings if PAR is on ?
+ if ([[NSUserDefaults standardUserDefaults] boolForKey:@"PixelRatio"])
+ {
+ [fVidBitrateField setIntValue: 1500];
+ [fVidTwoPassCheck setState: NSOnState];
+ }
+ else
+ {
+ [fVidBitrateField setIntValue: 1000];
+ }
+ */
[fVidQualityMatrix selectCell: fVidBitrateCell];
[self VideoMatrixChanged: NULL];
@@ -126,7 +138,13 @@ static int FormatSettings[3][4] =
[NSString stringWithCString: hb_video_rates[i].string]];
}
[fVidRatePopUp selectItemAtIndex: 0];
-
+
+ /* Picture Settings */
+ [fPicLabelPAROutp setStringValue: @""];
+ [fPicLabelPAROutputX setStringValue: @""];
+ [fPicSettingPARWidth setStringValue: @""];
+ [fPicSettingPARHeight setStringValue: @""];
+
/* Audio bitrate */
[fAudBitratePopUp removeAllItems];
for( int i = 0; i < hb_audio_bitrates_count; i++ )
@@ -275,6 +293,8 @@ static int FormatSettings[3][4] =
{
hb_list_t * list;
hb_title_t * title;
+ int indxpri=0; // Used to search the longuest title (default in combobox)
+ int longuestpri=0; // Used to search the longuest title (default in combobox)
[fScanController UpdateUI: &s];
@@ -285,6 +305,7 @@ static int FormatSettings[3][4] =
break;
}
+
[fSrcTitlePopUp removeAllItems];
for( int i = 0; i < hb_list_count( list ); i++ )
{
@@ -295,9 +316,57 @@ static int FormatSettings[3][4] =
/* Use the dvd name in the default output field here
May want to add code to remove blank spaces for some dvd names*/
+
[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;
+ indxpri=i;
+ }
+
+
+ int format = [fDstFormatPopUp indexOfSelectedItem];
+ char * ext = NULL;
+ switch( format )
+ {
+ case 0:
+
+ /*Get Default MP4 File Extension for mpeg4 (.mp4 or .m4v) from prefs*/
+ if ([[NSUserDefaults standardUserDefaults] boolForKey:@"DefaultMpegName"] > 0)
+ {
+ ext = "m4v";
+ }
+ else
+ {
+ ext = "mp4";
+ }
+ break;
+ case 1:
+ ext = "avi";
+ case 2:
+ break;
+ ext = "ogm";
+ break;
+ }
+
+
+ NSString * string = [fDstFile2Field stringValue];
+ /* Add/replace File Output name to the correct extension*/
+ if( [string characterAtIndex: [string length] - 4] == '.' )
+ {
+ [fDstFile2Field setStringValue: [NSString stringWithFormat:
+ @"%@.%s", [string substringToIndex: [string length] - 4],
+ ext]];
+ }
+ else
+ {
+ [fDstFile2Field setStringValue: [NSString stringWithFormat:
+ @"%@.%s", string, ext]];
+ }
+
[fSrcTitlePopUp addItemWithTitle: [NSString
stringWithFormat: @"%d - %02dh%02dm%02ds",
@@ -305,7 +374,9 @@ static int FormatSettings[3][4] =
title->seconds]];
}
-
+ // Select the longuest title
+ [fSrcTitlePopUp selectItemAtIndex: indxpri];
+
[self TitlePopUpChanged: NULL];
[self EnableUI: YES];
[fPauseButton setEnabled: NO];
@@ -442,7 +513,13 @@ static int FormatSettings[3][4] =
fVidQualityMatrix, fVidGrayscaleCheck, fSubField, fSubPopUp,
fAudLang1Field, fAudLang1PopUp, fAudLang2Field, fAudLang2PopUp,
fAudRateField, fAudRatePopUp, fAudBitrateField,
- fAudBitratePopUp, fPictureButton, fQueueCheck };
+ fAudBitratePopUp, fPictureButton, fQueueCheck,
+ fPicSrcWidth,fPicSrcHeight,fPicSettingWidth,fPicSettingHeight,
+ fPicSettingARkeep,fPicSettingDeinterlace,fPicSettingARkeepDsply,
+ fPicSettingDeinterlaceDsply,fPicLabelSettings,fPicLabelSrc,fPicLabelOutp,
+ fPicLabelAr,fPicLabelDeinter,fPicLabelSrcX,fPicLabelOutputX,
+ fPicLabelPAROutp,fPicLabelPAROutputX,fPicSettingPARWidth,fPicSettingPARHeight,
+ fPicSettingPARDsply,fPicLabelAnamorphic};
for( unsigned i = 0;
i < sizeof( controls ) / sizeof( NSControl * ); i++ )
@@ -458,6 +535,10 @@ static int FormatSettings[3][4] =
}
}
[controls[i] setEnabled: b];
+ /* Temporarily disable Lang2 until crash is fixed */
+ [fAudLang2PopUp setEnabled: NO];
+ [fAudLang2Field setEnabled: NO];
+
}
[self VideoMatrixChanged: NULL];
@@ -556,6 +637,7 @@ static int FormatSettings[3][4] =
[NSApp runModalForWindow: fPicturePanel];
[NSApp endSheet: fPicturePanel];
[fPicturePanel orderOut: self];
+ [self CalculatePictureSizing: sender];
}
- (IBAction) ShowQueuePanel: (id) sender
@@ -581,6 +663,8 @@ static int FormatSettings[3][4] =
/* Chapter selection */
job->chapter_start = [fSrcChapterStartPopUp indexOfSelectedItem] + 1;
job->chapter_end = [fSrcChapterEndPopUp indexOfSelectedItem] + 1;
+
+
/* Format and codecs */
int format = [fDstFormatPopUp indexOfSelectedItem];
@@ -602,10 +686,18 @@ static int FormatSettings[3][4] =
Lets Deprecate Baseline Level 1.3*/
job->h264_level = 30;
job->mux = HB_MUX_IPOD;
+ /* move sanity check for iPod Encoding here */
+ job->pixel_ratio = 0 ;
+
}
- /* Set this flag to switch from Constant Quantizer(default) to Constant Rate Factor */
- // job->crf = 1;
+ /* Set this flag to switch from Constant Quantizer(default) to Constant Rate Factor Thanks jbrjake
+ Currently only used with Constant Quality setting*/
+ if ([[NSUserDefaults standardUserDefaults] boolForKey:@"DefaultCrf"] > 0 && [fVidQualityMatrix selectedRow] == 2)
+ {
+ /* Can only be used with svn rev >= 89 */
+ job->crf = 1;
+ }
job->h264_13 = [fVidEncoderPopUp indexOfSelectedItem];
}
@@ -640,6 +732,8 @@ static int FormatSettings[3][4] =
}
job->grayscale = ( [fVidGrayscaleCheck state] == NSOnState );
+
+
/* Subtitle settings */
job->subtitle = [fSubPopUp indexOfSelectedItem] - 1;
@@ -795,6 +889,7 @@ static int FormatSettings[3][4] =
hb_title_t * title = (hb_title_t*)
hb_list_item( list, [fSrcTitlePopUp indexOfSelectedItem] );
+
/* Update chapter popups */
[fSrcChapterStartPopUp removeAllItems];
[fSrcChapterEndPopUp removeAllItems];
@@ -810,6 +905,40 @@ static int FormatSettings[3][4] =
hb_list_count( title->list_chapter ) - 1];
[self ChapterPopUpChanged: NULL];
+/* Start Get and set the initial pic size for display */
+ hb_job_t * job = title->job;
+ fTitle = title;
+ /*Set Source Size Fields Here */
+ [fPicSrcWidth setStringValue: [NSString stringWithFormat:
+ @"%d", fTitle->width]];
+ [fPicSrcHeight setStringValue: [NSString stringWithFormat:
+ @"%d", fTitle->height]];
+ /* Turn Deinterlace on/off depending on the preference */
+ if ([[NSUserDefaults standardUserDefaults] boolForKey:@"DefaultDeinterlaceOn"] > 0)
+ {
+ job->deinterlace = 1;
+ }
+ else
+ {
+ job->deinterlace = 0;
+ }
+
+ /* Pixel Ratio Setting */
+ if ([[NSUserDefaults standardUserDefaults] boolForKey:@"PixelRatio"])
+ {
+
+ job->pixel_ratio = 1 ;
+ }
+ else
+ {
+ job->pixel_ratio = 0 ;
+ }
+ /* Run Through EncoderPopUpChanged to see if there
+ needs to be any pic value modifications based on encoder settings */
+ [self EncoderPopUpChanged: NULL];
+ /* END Get and set the initial pic size for display */
+
+
/* Update subtitle popups */
hb_subtitle_t * subtitle;
[fSubPopUp removeAllItems];
@@ -825,41 +954,54 @@ static int FormatSettings[3][4] =
}
[fSubPopUp selectItemAtIndex: 0];
- /* Update lang popups */
- hb_audio_t * audio;
+ /* START pri */
+ hb_audio_t * audio;
+
// PRI CHANGES 02/12/06
NSString * audiotmppri;
NSString * audiosearchpri=[[NSUserDefaults standardUserDefaults] stringForKey:@"DefaultLanguage"];
int indxpri=0;
// End of pri changes 02/12/06
[fAudLang1PopUp removeAllItems];
+ /* Disable second audio language until crashing is resolved*/
+ [fAudLang2Field setEnabled: NO];
+ [fAudLang2PopUp setEnabled: NO];
[fAudLang2PopUp removeAllItems];
[fAudLang1PopUp addItemWithTitle: _( @"None" )];
- [fAudLang2PopUp addItemWithTitle: _( @"None" )];
+ /* Display Currently Unavailable until crash is fixed */
+ [fAudLang2PopUp addItemWithTitle: _( @"Currently Unavailable" )];
+ //[fAudLang2PopUp addItemWithTitle: _( @"None" )];
for( int i = 0; i < hb_list_count( title->list_audio ); i++ )
{
audio = (hb_audio_t *) hb_list_item( title->list_audio, i );
// PRI CHANGES 02/12/06
- audiotmppri=(NSString *) [NSString stringWithCString: audio->lang];
- // Try to find the desired default language
- if ([audiotmppri hasPrefix:audiosearchpri] && indxpri==0)
+ if (audiosearchpri!= NULL)
{
- indxpri=i+1;
+ audiotmppri=(NSString *) [NSString stringWithCString: audio->lang];
+ // Try to find the desired default language
+ if ([audiotmppri hasPrefix:audiosearchpri] && indxpri==0)
+ {
+ indxpri=i+1;
+ }
}
// End of pri changes 02/12/06
[[fAudLang1PopUp menu] addItemWithTitle:
[NSString stringWithCString: audio->lang]
action: NULL keyEquivalent: @""];
- [[fAudLang2PopUp menu] addItemWithTitle:
+ /*
+ [[fAudLang2PopUp menu] addItemWithTitle:
[NSString stringWithCString: audio->lang]
action: NULL keyEquivalent: @""];
+ */
}
// PRI CHANGES 02/12/06
if (indxpri==0) { indxpri=1; }
- [fAudLang1PopUp selectItemAtIndex: indxpri];
+ [fAudLang1PopUp selectItemAtIndex: indxpri];
// End of pri changes 02/12/06
[fAudLang2PopUp selectItemAtIndex: 0];
+
+ /* END pri */
}
- (IBAction) ChapterPopUpChanged: (id) sender
@@ -896,7 +1038,15 @@ static int FormatSettings[3][4] =
switch( format )
{
case 0:
- ext = "mp4";
+ /*Get Default MP4 File Extension*/
+ if ([[NSUserDefaults standardUserDefaults] boolForKey:@"DefaultMpegName"] > 0)
+ {
+ ext = "m4v";
+ }
+ else
+ {
+ ext = "mp4";
+ }
[fDstCodecsPopUp addItemWithTitle:
_( @"MPEG-4 Video / AAC Audio" )];
[fDstCodecsPopUp addItemWithTitle:
@@ -976,6 +1126,103 @@ static int FormatSettings[3][4] =
[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)
+ {
+ hb_job_t * job = fTitle->job;
+ job->pixel_ratio = 0 ;
+
+ if ([[NSUserDefaults standardUserDefaults] boolForKey:@"DefaultPicSizeAutoiPod"] > 0)
+ {
+
+ if (fTitle->job->width > 640)
+ {
+ fTitle->job->width = 640;
+ }
+ fTitle->job->keep_ratio = 1;
+ hb_fix_aspect( job, HB_KEEP_WIDTH );
+
+ }
+ }
+
+[self CalculatePictureSizing: sender];
+
+}
+
+/* Get and Display Current Pic Settings in main window */
+- (IBAction) CalculatePictureSizing: (id) sender
+{
+
+ hb_job_t * job = fTitle->job;
+
+ [fPicSettingWidth setStringValue: [NSString stringWithFormat:
+ @"%d", fTitle->job->width]];
+ [fPicSettingHeight setStringValue: [NSString stringWithFormat:
+ @"%d", fTitle->job->height]];
+ [fPicSettingARkeep setStringValue: [NSString stringWithFormat:
+ @"%d", fTitle->job->keep_ratio]];
+ [fPicSettingDeinterlace setStringValue: [NSString stringWithFormat:
+ @"%d", fTitle->job->deinterlace]];
+ [fPicSettingPAR setStringValue: [NSString stringWithFormat:
+ @"%d", fTitle->job->pixel_ratio]];
+
+ if (fTitle->job->pixel_ratio == 1)
+ {
+ int titlewidth = fTitle->width-fTitle->job->crop[2]-fTitle->job->crop[3];
+ int arpwidth = fTitle->job->pixel_aspect_width;
+ int arpheight = fTitle->job->pixel_aspect_height;
+ int displayparwidth = titlewidth * arpwidth / arpheight;
+ int displayparheight = fTitle->height-fTitle->job->crop[0]-fTitle->job->crop[1];
+ [fPicLabelPAROutp setStringValue: @"Anamorphic Output:"];
+ [fPicLabelPAROutputX setStringValue: @"x"];
+ [fPicSettingPARWidth setStringValue: [NSString stringWithFormat:
+ @"%d", displayparwidth]];
+ [fPicSettingPARHeight setStringValue: [NSString stringWithFormat:
+ @"%d", displayparheight]];
+ [fPicSettingHeight setStringValue: [NSString stringWithFormat:
+ @"%d", displayparheight]];
+ fTitle->job->keep_ratio = 0;
+ }
+ else
+ {
+ [fPicLabelPAROutp setStringValue: @""];
+ [fPicLabelPAROutputX setStringValue: @""];
+ [fPicSettingPARWidth setStringValue: @""];
+ [fPicSettingPARHeight setStringValue: @""];
+ }
+
+ /* Set ON/Off values for the deinterlace/keep aspect ratio according to boolean */
+ if (fTitle->job->keep_ratio > 0)
+ {
+ [fPicSettingARkeepDsply setStringValue: @"On"];
+ }
+ else
+ {
+ [fPicSettingARkeepDsply setStringValue: @"Off"];
+ }
+ if (fTitle->job->deinterlace > 0)
+ {
+ [fPicSettingDeinterlaceDsply setStringValue: @"On"];
+ }
+ else
+ {
+ [fPicSettingDeinterlaceDsply setStringValue: @"Off"];
+ }
+ if (fTitle->job->pixel_ratio > 0)
+ {
+ [fPicSettingPARDsply setStringValue: @"On"];
+ }
+ else
+ {
+ [fPicSettingPARDsply setStringValue: @"Off"];
+ }
+
+
+}
+
- (IBAction) CalculateBitrate: (id) sender
{
if( !fHandle || [fVidQualityMatrix selectedRow] != 0 )
@@ -1012,13 +1259,13 @@ static int FormatSettings[3][4] =
- (IBAction) OpenHomepage: (id) sender
{
[[NSWorkspace sharedWorkspace] openURL: [NSURL
- URLWithString:@"http://handbrake.m0k.org/"]];
+ URLWithString:@"http://mediafork.dynalias.com/"]];
}
- (IBAction) OpenForums: (id) sender
{
[[NSWorkspace sharedWorkspace] openURL: [NSURL
- URLWithString:@"http://handbrake.m0k.org/forum/"]];
+ URLWithString:@"http://mediafork.dynalias.com/forum/"]];
}
@end
diff --git a/macosx/DriveDetector.h b/macosx/DriveDetector.h
index 2018309b1..468f779db 100644
--- a/macosx/DriveDetector.h
+++ b/macosx/DriveDetector.h
@@ -1,4 +1,4 @@
-/* DriveDetector.h $
+/* DriveDetector.h $
This file is part of the HandBrake source code.
Homepage: <http://handbrake.m0k.org/>.
diff --git a/macosx/DriveDetector.m b/macosx/DriveDetector.m
index 61f722960..e9e941569 100644
--- a/macosx/DriveDetector.m
+++ b/macosx/DriveDetector.m
@@ -11,7 +11,7 @@
#include <IOKit/storage/IODVDMedia.h>
#include "DriveDetector.h"
-#include "hb.h"
+#include "mediafork.h"
@interface DriveDetector (Private)
diff --git a/macosx/English.lproj/MainMenu.nib/classes.nib b/macosx/English.lproj/MainMenu.nib/classes.nib
index 59629f07f..ec791480a 100644
--- a/macosx/English.lproj/MainMenu.nib/classes.nib
+++ b/macosx/English.lproj/MainMenu.nib/classes.nib
@@ -1,6 +1,5 @@
{
IBClasses = (
- {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; },
{
ACTIONS = {
AddToQueue = id;
@@ -10,6 +9,7 @@
ChapterPopUpChanged = id;
CodecsPopUpChanged = id;
EnableQueue = id;
+ EncoderPopUpChanged = id;
FormatPopUpChanged = id;
OpenForums = id;
OpenHomepage = id;
@@ -42,6 +42,28 @@
fDstFormatField = NSTextField;
fDstFormatPopUp = NSPopUpButton;
fPauseButton = NSButton;
+ fPicLabelAnamorphic = NSTextField;
+ fPicLabelAr = NSTextField;
+ fPicLabelDeinter = NSTextField;
+ fPicLabelOutp = NSTextField;
+ fPicLabelOutputX = NSTextField;
+ fPicLabelPAROutp = NSTextField;
+ fPicLabelPAROutputX = NSTextField;
+ fPicLabelSettings = NSTextField;
+ fPicLabelSrc = NSTextField;
+ fPicLabelSrcX = NSTextField;
+ fPicSettingARkeep = NSTextField;
+ fPicSettingARkeepDsply = NSTextField;
+ fPicSettingDeinterlace = NSTextField;
+ fPicSettingDeinterlaceDsply = NSTextField;
+ fPicSettingHeight = NSTextField;
+ fPicSettingPAR = NSTextField;
+ fPicSettingPARDsply = NSTextField;
+ fPicSettingPARHeight = NSTextField;
+ fPicSettingPARWidth = NSTextField;
+ fPicSettingWidth = NSTextField;
+ fPicSrcHeight = NSTextField;
+ fPicSrcWidth = NSTextField;
fPictureButton = NSButton;
fPictureController = PictureController;
fPicturePanel = NSPanel;
@@ -123,6 +145,14 @@
fHeightStepper = NSStepper;
fInfoField = NSTextField;
fNextButton = NSButton;
+ fPARCheck = NSButton;
+ fPicSettingARkeep = NSTextField;
+ fPicSettingDeinterlace = NSTextField;
+ fPicSettingHeight = NSTextField;
+ fPicSettingWidth = NSTextField;
+ fPicSettingsDisplay = NSTextField;
+ fPicSrcHeight = NSTextField;
+ fPicSrcWidth = NSTextField;
fPictureGLView = HBPictureGLView;
fPrevButton = NSButton;
fRatioCheck = NSButton;
@@ -136,7 +166,16 @@
ACTIONS = {CheckChanged = id; ClosePanel = id; OpenPanel = id; };
CLASS = PrefsController;
LANGUAGE = ObjC;
- OUTLETS = {fPanel = NSPanel; fUpdateCheck = NSButton; };
+ OUTLETS = {
+ fDefCrf = NSButton;
+ fDefDeinterlace = NSButton;
+ fDefPicSizeAutoSetipod = NSButton;
+ fDefPixelRatio = NSButton;
+ fFileExtItunes = NSButton;
+ fPanel = NSPanel;
+ fUpdateCheck = NSButton;
+ fdefaultlanguage = NSComboBox;
+ };
SUPERCLASS = NSObject;
},
{
diff --git a/macosx/English.lproj/MainMenu.nib/info.nib b/macosx/English.lproj/MainMenu.nib/info.nib
index 36f69f000..9a988cc6b 100644
--- a/macosx/English.lproj/MainMenu.nib/info.nib
+++ b/macosx/English.lproj/MainMenu.nib/info.nib
@@ -3,15 +3,35 @@
<plist version="1.0">
<dict>
<key>IBDocumentLocation</key>
- <string>73 30 382 380 0 0 1440 878 </string>
+ <string>281 448 555 411 0 0 1440 878 </string>
<key>IBEditorPositions</key>
<dict>
<key>29</key>
- <string>157 764 261 44 0 0 1280 832 </string>
+ <string>69 330 258 44 0 0 1440 878 </string>
</dict>
<key>IBFramework Version</key>
- <string>443.0</string>
+ <string>446.1</string>
+ <key>IBLockedTabItems</key>
+ <array>
+ <integer>1477</integer>
+ </array>
+ <key>IBOpenObjects</key>
+ <array>
+ <integer>21</integer>
+ </array>
<key>IBSystem Version</key>
- <string>8I127</string>
+ <string>8L127</string>
+ <key>IBUserGuides</key>
+ <dict>
+ <key>21</key>
+ <dict>
+ <key>guideLocations</key>
+ <array>
+ <string>Horizontal:567.000000</string>
+ </array>
+ <key>guidesLocked</key>
+ <false/>
+ </dict>
+ </dict>
</dict>
</plist>
diff --git a/macosx/English.lproj/MainMenu.nib/keyedobjects.nib b/macosx/English.lproj/MainMenu.nib/keyedobjects.nib
index 5bbb71eab..814a09dab 100644
--- a/macosx/English.lproj/MainMenu.nib/keyedobjects.nib
+++ b/macosx/English.lproj/MainMenu.nib/keyedobjects.nib
Binary files differ
diff --git a/macosx/Express.plist b/macosx/Express.plist
index 81703d1d6..002ee8f88 100644
--- a/macosx/Express.plist
+++ b/macosx/Express.plist
@@ -6,6 +6,8 @@
<string>English</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIconFile</key>
+ <string>MediaFork</string>
<key>CFBundleIdentifier</key>
<string>org.m0k.handbrake.instant</string>
<key>CFBundleInfoDictionaryVersion</key>
@@ -16,8 +18,6 @@
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0a2</string>
- <key>CFBundleIconFile</key>
- <string>HandBrake.icns</string>
<key>NSMainNibFile</key>
<string>Express</string>
<key>NSPrincipalClass</key>
diff --git a/macosx/ExpressController.h b/macosx/ExpressController.h
index 5841f4e1f..f1e0d1904 100644
--- a/macosx/ExpressController.h
+++ b/macosx/ExpressController.h
@@ -1,7 +1,7 @@
/* ExpressController */
#import <Cocoa/Cocoa.h>
-#import "hb.h"
+#import "mediafork.h"
@class DriveDetector;
diff --git a/macosx/HandBrake.icns b/macosx/HandBrake.icns
deleted file mode 100644
index f81352be3..000000000
--- a/macosx/HandBrake.icns
+++ /dev/null
Binary files differ
diff --git a/macosx/HandBrake.xcodeproj/project.pbxproj b/macosx/HandBrake.xcodeproj/project.pbxproj
deleted file mode 100644
index 6920e3a91..000000000
--- a/macosx/HandBrake.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,713 +0,0 @@
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 42;
- objects = {
-
-/* Begin PBXBuildFile section */
- 4D1125D809D72FD200E0657B /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D1125D709D72FD200E0657B /* libz.dylib */; };
- 4D1125D909D72FD200E0657B /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D1125D709D72FD200E0657B /* libz.dylib */; };
- 4D1EA2EA0993B09A00FDC1A2 /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.mm */; };
- 4D1EA2F60993B0CA00FDC1A2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
- 4D1EA3010993B13700FDC1A2 /* Express.nib in Resources */ = {isa = PBXBuildFile; fileRef = 4D1EA3000993B13700FDC1A2 /* Express.nib */; };
- 4D1EA31C0993B24700FDC1A2 /* ExpressController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4D1EA31B0993B24700FDC1A2 /* ExpressController.m */; };
- 4D2AE78B09CCB24C007E18F6 /* DriveDetector.m in Sources */ = {isa = PBXBuildFile; fileRef = 4D2AE78909CCB24C007E18F6 /* DriveDetector.m */; };
- 4D2AEA1A09CCB332007E18F6 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4DEB2024052B055F00C39CA9 /* IOKit.framework */; };
- 4D2AEA2909CCB8F9007E18F6 /* DriveDetector.m in Sources */ = {isa = PBXBuildFile; fileRef = 4D2AE78909CCB24C007E18F6 /* DriveDetector.m */; };
- 4D2AEA2A09CCB8FC007E18F6 /* DriveDetector.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D2AE78A09CCB24C007E18F6 /* DriveDetector.h */; };
- 4D3ECC2709A4917000B2E45F /* WhiteBox.m in Sources */ = {isa = PBXBuildFile; fileRef = 4D3ECC2609A4917000B2E45F /* WhiteBox.m */; };
- 4DD93F8F082036E8008E1322 /* Controller.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DF3C8CB052889CD00A80101 /* Controller.h */; };
- 4DD93F90082036E8008E1322 /* PictureGLView.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D85758F052B78E300C39CA9 /* PictureGLView.h */; };
- 4DD93F91082036E8008E1322 /* ScanController.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D86C74F07281F4E007BA979 /* ScanController.h */; };
- 4DD93F92082036E8008E1322 /* PictureController.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D1FD381073D19CE00E46515 /* PictureController.h */; };
- 4DD93F93082036E8008E1322 /* QueueController.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DD27BA507C0065C0023D231 /* QueueController.h */; };
- 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 /* HandBrake.icns in Resources */ = {isa = PBXBuildFile; fileRef = 4D118405053054CD00C39CA9 /* HandBrake.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 */; };
- 4DD93F9D082036E8008E1322 /* ScanController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4D86C74E07281F4E007BA979 /* ScanController.mm */; };
- 4DD93F9E082036E8008E1322 /* PictureController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4D1FD382073D19CE00E46515 /* PictureController.mm */; };
- 4DD93F9F082036E8008E1322 /* QueueController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4DD27BA607C0065C0023D231 /* QueueController.mm */; };
- 4DD93FA0082036E8008E1322 /* PrefsController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4DE93A3607F5A2C900F3C78F /* PrefsController.m */; };
- 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 /* HandBrake.plist in Resources */ = {isa = PBXBuildFile; fileRef = 4DE09E62082038A400FB751F /* HandBrake.plist */; };
- 52AFF8690B59BCFB000DA7C4 /* HandBrake.icns in Resources */ = {isa = PBXBuildFile; fileRef = 4D118405053054CD00C39CA9 /* HandBrake.icns */; };
- 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>"; };
- 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 /* HandBrake.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = HandBrake.icns; sourceTree = "<group>"; };
- 4D1EA2DA0993B01000FDC1A2 /* Instant HandBrake.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; 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>"; };
- 4D1EA31B0993B24700FDC1A2 /* ExpressController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = ExpressController.m; sourceTree = "<group>"; };
- 4D1FD381073D19CE00E46515 /* PictureController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PictureController.h; sourceTree = "<group>"; };
- 4D1FD382073D19CE00E46515 /* PictureController.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = PictureController.mm; sourceTree = "<group>"; };
- 4D2AE78909CCB24C007E18F6 /* DriveDetector.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = DriveDetector.m; sourceTree = "<group>"; };
- 4D2AE78A09CCB24C007E18F6 /* DriveDetector.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DriveDetector.h; sourceTree = "<group>"; };
- 4D3ECC2509A4917000B2E45F /* WhiteBox.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = WhiteBox.h; sourceTree = "<group>"; };
- 4D3ECC2609A4917000B2E45F /* WhiteBox.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = WhiteBox.m; sourceTree = "<group>"; };
- 4D85758E052B78E300C39CA9 /* PictureGLView.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = PictureGLView.mm; sourceTree = "<group>"; };
- 4D85758F052B78E300C39CA9 /* PictureGLView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PictureGLView.h; sourceTree = "<group>"; };
- 4D86C74E07281F4E007BA979 /* ScanController.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = ScanController.mm; sourceTree = "<group>"; };
- 4D86C74F07281F4E007BA979 /* ScanController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ScanController.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>"; };
- 4DD93FA6082036E8008E1322 /* HandBrake.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = HandBrake.app; sourceTree = BUILT_PRODUCTS_DIR; };
- 4DDE9724052B7B2B00C39CA9 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = "<absolute>"; };
- 4DE09E62082038A400FB751F /* HandBrake.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.xml; path = HandBrake.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>"; };
- 5260EDCB0B4CACBE00C096C5 /* hb.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = hb.c; path = ../libhb/hb.c; sourceTree = SOURCE_ROOT; };
- 526FBC760B4CA8F40064E04C /* test.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; 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 = ../libhb/common.c; sourceTree = SOURCE_ROOT; };
- 526FBC9C0B4CAB100064E04C /* common.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = common.h; path = ../libhb/common.h; 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; };
- 526FBC9F0B4CAB100064E04C /* declpcm.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = declpcm.c; path = ../libhb/declpcm.c; sourceTree = SOURCE_ROOT; };
- 526FBCA00B4CAB100064E04C /* decmpeg2.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = decmpeg2.c; path = ../libhb/decmpeg2.c; sourceTree = SOURCE_ROOT; };
- 526FBCA10B4CAB100064E04C /* decsub.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = decsub.c; path = ../libhb/decsub.c; sourceTree = SOURCE_ROOT; };
- 526FBCA20B4CAB100064E04C /* demuxmpeg.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = demuxmpeg.c; path = ../libhb/demuxmpeg.c; sourceTree = SOURCE_ROOT; };
- 526FBCA30B4CAB100064E04C /* dvd.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = dvd.c; path = ../libhb/dvd.c; sourceTree = SOURCE_ROOT; };
- 526FBCA40B4CAB100064E04C /* encavcodec.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = encavcodec.c; path = ../libhb/encavcodec.c; sourceTree = SOURCE_ROOT; };
- 526FBCA50B4CAB100064E04C /* encfaac.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = encfaac.c; path = ../libhb/encfaac.c; sourceTree = SOURCE_ROOT; };
- 526FBCA60B4CAB100064E04C /* enclame.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = enclame.c; path = ../libhb/enclame.c; sourceTree = SOURCE_ROOT; };
- 526FBCA70B4CAB100064E04C /* encvorbis.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = encvorbis.c; path = ../libhb/encvorbis.c; sourceTree = SOURCE_ROOT; };
- 526FBCA80B4CAB100064E04C /* encx264.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = encx264.c; path = ../libhb/encx264.c; sourceTree = SOURCE_ROOT; };
- 526FBCA90B4CAB100064E04C /* encxvid.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = encxvid.c; path = ../libhb/encxvid.c; sourceTree = SOURCE_ROOT; };
- 526FBCAA0B4CAB100064E04C /* fifo.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = fifo.c; path = ../libhb/fifo.c; sourceTree = SOURCE_ROOT; };
- 526FBCAB0B4CAB100064E04C /* hb.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = hb.h; path = ../libhb/hb.h; sourceTree = SOURCE_ROOT; };
- 526FBCAC0B4CAB100064E04C /* internal.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = internal.h; path = ../libhb/internal.h; sourceTree = SOURCE_ROOT; };
- 526FBCAD0B4CAB100064E04C /* lang.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = lang.h; path = ../libhb/lang.h; sourceTree = SOURCE_ROOT; };
- 526FBCAE0B4CAB100064E04C /* muxavi.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = muxavi.c; path = ../libhb/muxavi.c; sourceTree = SOURCE_ROOT; };
- 526FBCAF0B4CAB100064E04C /* muxcommon.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = muxcommon.c; path = ../libhb/muxcommon.c; sourceTree = SOURCE_ROOT; };
- 526FBCB00B4CAB100064E04C /* muxmp4.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = muxmp4.c; path = ../libhb/muxmp4.c; sourceTree = SOURCE_ROOT; };
- 526FBCB10B4CAB100064E04C /* muxogm.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = muxogm.c; path = ../libhb/muxogm.c; sourceTree = SOURCE_ROOT; };
- 526FBCB20B4CAB100064E04C /* ports.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ports.c; path = ../libhb/ports.c; sourceTree = SOURCE_ROOT; };
- 526FBCB30B4CAB100064E04C /* ports.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ports.h; path = ../libhb/ports.h; sourceTree = SOURCE_ROOT; };
- 526FBCB40B4CAB100064E04C /* reader.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = reader.c; path = ../libhb/reader.c; sourceTree = SOURCE_ROOT; };
- 526FBCB50B4CAB100064E04C /* render.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = render.c; path = ../libhb/render.c; sourceTree = SOURCE_ROOT; };
- 526FBCB60B4CAB100064E04C /* scan.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = scan.c; path = ../libhb/scan.c; sourceTree = SOURCE_ROOT; };
- 526FBCB70B4CAB100064E04C /* sync.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = sync.c; path = ../libhb/sync.c; sourceTree = SOURCE_ROOT; };
- 526FBCB80B4CAB100064E04C /* update.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = update.c; path = ../libhb/update.c; sourceTree = SOURCE_ROOT; };
- 526FBCB90B4CAB100064E04C /* work.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = work.c; path = ../libhb/work.c; sourceTree = SOURCE_ROOT; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- 4D1EA2D80993B01000FDC1A2 /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 4D1EA2F60993B0CA00FDC1A2 /* Cocoa.framework in Frameworks */,
- 4D2AEA1A09CCB332007E18F6 /* IOKit.framework in Frameworks */,
- 4D1125D909D72FD200E0657B /* libz.dylib in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- 4DD93FA1082036E8008E1322 /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 4DD93FA2082036E8008E1322 /* Cocoa.framework in Frameworks */,
- 4DD93FA3082036E8008E1322 /* IOKit.framework in Frameworks */,
- 4DD93FA4082036E8008E1322 /* OpenGL.framework in Frameworks */,
- 4D1125D809D72FD200E0657B /* libz.dylib in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- 19C28FACFE9D520D11CA2CBB /* Products */ = {
- isa = PBXGroup;
- children = (
- 4DD93FA6082036E8008E1322 /* HandBrake.app */,
- 4D1EA2DA0993B01000FDC1A2 /* Instant HandBrake.app */,
- );
- name = Products;
- sourceTree = "<group>";
- };
- 29B97314FDCFA39411CA2CEA /* HandBrake */ = {
- isa = PBXGroup;
- children = (
- 526FBC940B4CAA310064E04C /* Instant HandBrake Sources */,
- 526FBC930B4CAA260064E04C /* HandBrake Sources */,
- 526FBC920B4CAA120064E04C /* HBTest Sources */,
- 526FBC8D0B4CA9F90064E04C /* libhb Sources */,
- 29B97315FDCFA39411CA2CEA /* Other Sources */,
- 29B97317FDCFA39411CA2CEA /* Resources */,
- 29B97323FDCFA39411CA2CEA /* Frameworks */,
- 19C28FACFE9D520D11CA2CBB /* Products */,
- );
- name = HandBrake;
- sourceTree = "<group>";
- };
- 29B97315FDCFA39411CA2CEA /* Other Sources */ = {
- isa = PBXGroup;
- children = (
- 29B97316FDCFA39411CA2CEA /* main.mm */,
- );
- name = "Other Sources";
- sourceTree = "<group>";
- };
- 29B97317FDCFA39411CA2CEA /* Resources */ = {
- isa = PBXGroup;
- children = (
- 29B97318FDCFA39411CA2CEA /* MainMenu.nib */,
- 4D118405053054CD00C39CA9 /* HandBrake.icns */,
- 4D1EA3000993B13700FDC1A2 /* Express.nib */,
- 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
- );
- name = Resources;
- sourceTree = "<group>";
- };
- 29B97323FDCFA39411CA2CEA /* Frameworks */ = {
- isa = PBXGroup;
- children = (
- 4D1125D709D72FD200E0657B /* libz.dylib */,
- 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
- 4DEB2024052B055F00C39CA9 /* IOKit.framework */,
- 4DDE9724052B7B2B00C39CA9 /* OpenGL.framework */,
- 29B97325FDCFA39411CA2CEA /* Foundation.framework */,
- 29B97324FDCFA39411CA2CEA /* AppKit.framework */,
- );
- name = Frameworks;
- sourceTree = "<group>";
- };
- 526FBC8D0B4CA9F90064E04C /* libhb Sources */ = {
- isa = PBXGroup;
- children = (
- 5260EDCB0B4CACBE00C096C5 /* hb.c */,
- 526FBC9B0B4CAB100064E04C /* common.c */,
- 526FBC9C0B4CAB100064E04C /* common.h */,
- 526FBC9D0B4CAB100064E04C /* deca52.c */,
- 526FBC9E0B4CAB100064E04C /* decavcodec.c */,
- 526FBC9F0B4CAB100064E04C /* declpcm.c */,
- 526FBCA00B4CAB100064E04C /* decmpeg2.c */,
- 526FBCA10B4CAB100064E04C /* decsub.c */,
- 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 */,
- 526FBCAB0B4CAB100064E04C /* hb.h */,
- 526FBCAC0B4CAB100064E04C /* internal.h */,
- 526FBCAD0B4CAB100064E04C /* lang.h */,
- 526FBCAE0B4CAB100064E04C /* muxavi.c */,
- 526FBCAF0B4CAB100064E04C /* muxcommon.c */,
- 526FBCB00B4CAB100064E04C /* muxmp4.c */,
- 526FBCB10B4CAB100064E04C /* muxogm.c */,
- 526FBCB20B4CAB100064E04C /* ports.c */,
- 526FBCB30B4CAB100064E04C /* ports.h */,
- 526FBCB40B4CAB100064E04C /* reader.c */,
- 526FBCB50B4CAB100064E04C /* render.c */,
- 526FBCB60B4CAB100064E04C /* scan.c */,
- 526FBCB70B4CAB100064E04C /* sync.c */,
- 526FBCB80B4CAB100064E04C /* update.c */,
- 526FBCB90B4CAB100064E04C /* work.c */,
- );
- name = "libhb Sources";
- sourceTree = "<group>";
- };
- 526FBC920B4CAA120064E04C /* HBTest Sources */ = {
- isa = PBXGroup;
- children = (
- 526FBC760B4CA8F40064E04C /* test.c */,
- );
- name = "HBTest Sources";
- sourceTree = "<group>";
- };
- 526FBC930B4CAA260064E04C /* HandBrake Sources */ = {
- isa = PBXGroup;
- children = (
- 4DE09E62082038A400FB751F /* HandBrake.plist */,
- 4D1FD381073D19CE00E46515 /* PictureController.h */,
- 4D1FD382073D19CE00E46515 /* PictureController.mm */,
- 4DF3C8CB052889CD00A80101 /* Controller.h */,
- 4DF3C8CC052889CD00A80101 /* Controller.mm */,
- 4D86C74E07281F4E007BA979 /* ScanController.mm */,
- 4D86C74F07281F4E007BA979 /* ScanController.h */,
- 4D85758E052B78E300C39CA9 /* PictureGLView.mm */,
- 4D85758F052B78E300C39CA9 /* PictureGLView.h */,
- 4DD27BA507C0065C0023D231 /* QueueController.h */,
- 4DD27BA607C0065C0023D231 /* QueueController.mm */,
- 4DE93A3507F5A2C900F3C78F /* PrefsController.h */,
- 4DE93A3607F5A2C900F3C78F /* PrefsController.m */,
- 4D3ECC2509A4917000B2E45F /* WhiteBox.h */,
- 4D3ECC2609A4917000B2E45F /* WhiteBox.m */,
- 4D2AE78909CCB24C007E18F6 /* DriveDetector.m */,
- 4D2AE78A09CCB24C007E18F6 /* DriveDetector.h */,
- );
- name = "HandBrake Sources";
- sourceTree = "<group>";
- };
- 526FBC940B4CAA310064E04C /* Instant HandBrake Sources */ = {
- isa = PBXGroup;
- children = (
- 4D1EA31A0993B24700FDC1A2 /* ExpressController.h */,
- 4D1EA31B0993B24700FDC1A2 /* ExpressController.m */,
- 4D1EA2DC0993B01000FDC1A2 /* Express.plist */,
- );
- name = "Instant HandBrake Sources";
- sourceTree = "<group>";
- };
-/* End PBXGroup section */
-
-/* Begin PBXHeadersBuildPhase section */
- 4DD93F8E082036E8008E1322 /* Headers */ = {
- isa = PBXHeadersBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 4DD93F8F082036E8008E1322 /* Controller.h in Headers */,
- 4DD93F90082036E8008E1322 /* PictureGLView.h in Headers */,
- 4DD93F91082036E8008E1322 /* ScanController.h in Headers */,
- 4DD93F92082036E8008E1322 /* PictureController.h in Headers */,
- 4DD93F93082036E8008E1322 /* QueueController.h in Headers */,
- 4DD93F94082036E8008E1322 /* PrefsController.h in Headers */,
- 4D2AEA2A09CCB8FC007E18F6 /* DriveDetector.h in Headers */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXHeadersBuildPhase section */
-
-/* Begin PBXNativeTarget section */
- 4D1EA2D90993B01000FDC1A2 /* Instant HandBrake */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = 4D1EA2DD0993B01100FDC1A2 /* Build configuration list for PBXNativeTarget "Instant HandBrake" */;
- buildPhases = (
- 4D1EA2D60993B01000FDC1A2 /* Resources */,
- 4D1EA2D70993B01000FDC1A2 /* Sources */,
- 4D1EA2D80993B01000FDC1A2 /* Frameworks */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = "Instant HandBrake";
- productName = "Instant HandBrake";
- productReference = 4D1EA2DA0993B01000FDC1A2 /* Instant HandBrake.app */;
- productType = "com.apple.product-type.application";
- };
- 4DD93F8D082036E8008E1322 /* HandBrake */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = 4D4E7BC0087804870051572B /* Build configuration list for PBXNativeTarget "HandBrake" */;
- buildPhases = (
- 4DD93F8E082036E8008E1322 /* Headers */,
- 4DD93F95082036E8008E1322 /* Resources */,
- 4DD93F99082036E8008E1322 /* Sources */,
- 4DD93FA1082036E8008E1322 /* Frameworks */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = HandBrake;
- productName = HandBrake;
- productReference = 4DD93FA6082036E8008E1322 /* 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 "HandBrake" */;
- hasScannedForEncodings = 1;
- mainGroup = 29B97314FDCFA39411CA2CEA /* HandBrake */;
- projectDirPath = "";
- targets = (
- 4DD93F8D082036E8008E1322 /* HandBrake */,
- 4D1EA2D90993B01000FDC1A2 /* Instant HandBrake */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXResourcesBuildPhase section */
- 4D1EA2D60993B01000FDC1A2 /* Resources */ = {
- isa = PBXResourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 52AFF86B0B59BD14000DA7C4 /* Express.plist in Resources */,
- 52AFF86A0B59BD07000DA7C4 /* InfoPlist.strings in Resources */,
- 52AFF8690B59BCFB000DA7C4 /* HandBrake.icns in Resources */,
- 4D1EA3010993B13700FDC1A2 /* Express.nib in Resources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- 4DD93F95082036E8008E1322 /* Resources */ = {
- isa = PBXResourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 4DD93F96082036E8008E1322 /* MainMenu.nib in Resources */,
- 4DD93F97082036E8008E1322 /* InfoPlist.strings in Resources */,
- 4DD93F98082036E8008E1322 /* HandBrake.icns in Resources */,
- 4DE09E63082038A400FB751F /* HandBrake.plist in Resources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
- 4D1EA2D70993B01000FDC1A2 /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 4D1EA2EA0993B09A00FDC1A2 /* main.mm in Sources */,
- 4D1EA31C0993B24700FDC1A2 /* ExpressController.m in Sources */,
- 4D3ECC2709A4917000B2E45F /* WhiteBox.m in Sources */,
- 4D2AE78B09CCB24C007E18F6 /* DriveDetector.m in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- 4DD93F99082036E8008E1322 /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 4DD93F9A082036E8008E1322 /* main.mm in Sources */,
- 4DD93F9B082036E8008E1322 /* Controller.mm in Sources */,
- 4DD93F9C082036E8008E1322 /* PictureGLView.mm in Sources */,
- 4DD93F9D082036E8008E1322 /* ScanController.mm in Sources */,
- 4DD93F9E082036E8008E1322 /* PictureController.mm in Sources */,
- 4DD93F9F082036E8008E1322 /* QueueController.mm in Sources */,
- 4DD93FA0082036E8008E1322 /* PrefsController.m in Sources */,
- 4D2AEA2909CCB8F9007E18F6 /* DriveDetector.m in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXVariantGroup section */
- 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {
- isa = PBXVariantGroup;
- children = (
- 089C165DFE840E0CC02AAC07 /* English */,
- );
- name = InfoPlist.strings;
- sourceTree = "<group>";
- };
- 29B97318FDCFA39411CA2CEA /* MainMenu.nib */ = {
- isa = PBXVariantGroup;
- children = (
- 29B97319FDCFA39411CA2CEA /* English */,
- );
- name = MainMenu.nib;
- sourceTree = "<group>";
- };
-/* End PBXVariantGroup section */
-
-/* Begin XCBuildConfiguration section */
- 4D1EA2DE0993B01100FDC1A2 /* Development */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
- GCC_MODEL_TUNING = G5;
- GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PRECOMPILE_PREFIX_HEADER = YES;
- GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h";
- HEADER_SEARCH_PATHS = ../libhb;
- INFOPLIST_FILE = Express.plist;
- INSTALL_PATH = "$(HOME)/Applications";
- OTHER_LDFLAGS = (
- ../libhb/libhb.a,
- ../contrib/lib/liba52.a,
- ../contrib/lib/libavformat.a,
- ../contrib/lib/libavcodec.a,
- ../contrib/lib/libavutil.a,
- ../contrib/lib/libdvdread.a,
- ../contrib/lib/libdvdcss.a,
- ../contrib/lib/libfaac.a,
- ../contrib/lib/libmp3lame.a,
- ../contrib/lib/libmpeg2.a,
- ../contrib/lib/libvorbis.a,
- ../contrib/lib/libvorbisenc.a,
- ../contrib/lib/libogg.a,
- ../contrib/lib/libsamplerate.a,
- ../contrib/lib/libx264.a,
- ../contrib/lib/libxvidcore.a,
- );
- PREBINDING = NO;
- PRODUCT_NAME = "Instant HandBrake";
- WRAPPER_EXTENSION = app;
- ZERO_LINK = NO;
- };
- name = Development;
- };
- 4D1EA2DF0993B01100FDC1A2 /* Deployment */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = YES;
- GCC_ENABLE_FIX_AND_CONTINUE = NO;
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
- GCC_MODEL_TUNING = G5;
- GCC_PRECOMPILE_PREFIX_HEADER = YES;
- GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h";
- HEADER_SEARCH_PATHS = ../libhb;
- INFOPLIST_FILE = Express.plist;
- INSTALL_PATH = "$(HOME)/Applications";
- OTHER_LDFLAGS = (
- ../libhb/libhb.a,
- ../contrib/lib/liba52.a,
- ../contrib/lib/libavformat.a,
- ../contrib/lib/libavcodec.a,
- ../contrib/lib/libavutil.a,
- ../contrib/lib/libdvdread.a,
- ../contrib/lib/libdvdcss.a,
- ../contrib/lib/libfaac.a,
- ../contrib/lib/libmp3lame.a,
- ../contrib/lib/libmpeg2.a,
- ../contrib/lib/libvorbis.a,
- ../contrib/lib/libvorbisenc.a,
- ../contrib/lib/libogg.a,
- ../contrib/lib/libsamplerate.a,
- ../contrib/lib/libx264.a,
- ../contrib/lib/libxvidcore.a,
- );
- PREBINDING = NO;
- PRODUCT_NAME = "Instant HandBrake";
- WRAPPER_EXTENSION = app;
- ZERO_LINK = NO;
- };
- name = Deployment;
- };
- 4D1EA2E00993B01100FDC1A2 /* Default */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_MODEL_TUNING = G5;
- GCC_PRECOMPILE_PREFIX_HEADER = YES;
- GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h";
- HEADER_SEARCH_PATHS = ../libhb;
- INFOPLIST_FILE = Express.plist;
- INSTALL_PATH = "$(HOME)/Applications";
- OTHER_LDFLAGS = (
- ../libhb/libhb.a,
- ../contrib/lib/liba52.a,
- ../contrib/lib/libavformat.a,
- ../contrib/lib/libavcodec.a,
- ../contrib/lib/libavutil.a,
- ../contrib/lib/libdvdread.a,
- ../contrib/lib/libdvdcss.a,
- ../contrib/lib/libfaac.a,
- ../contrib/lib/libmp3lame.a,
- ../contrib/lib/libmpeg2.a,
- ../contrib/lib/libvorbis.a,
- ../contrib/lib/libvorbisenc.a,
- ../contrib/lib/libogg.a,
- ../contrib/lib/libsamplerate.a,
- ../contrib/lib/libx264.a,
- ../contrib/lib/libxvidcore.a,
- );
- PREBINDING = NO;
- PRODUCT_NAME = "Instant HandBrake";
- WRAPPER_EXTENSION = app;
- ZERO_LINK = NO;
- };
- name = Default;
- };
- 4D4E7BC1087804870051572B /* Development */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- CURRENT_PROJECT_VERSION = 0.7.1a2;
- FRAMEWORK_SEARCH_PATHS = "";
- GCC_DYNAMIC_NO_PIC = YES;
- GCC_ENABLE_FIX_AND_CONTINUE = NO;
- GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
- GCC_OPTIMIZATION_LEVEL = 3;
- GCC_TREAT_WARNINGS_AS_ERRORS = NO;
- HEADER_SEARCH_PATHS = ../libhb;
- INFOPLIST_FILE = HandBrake.plist;
- LIBRARY_SEARCH_PATHS = "";
- OTHER_CFLAGS = "";
- OTHER_LDFLAGS = (
- ../libhb/libhb.a,
- ../contrib/lib/liba52.a,
- ../contrib/lib/libavformat.a,
- ../contrib/lib/libavcodec.a,
- ../contrib/lib/libavutil.a,
- ../contrib/lib/libdvdread.a,
- ../contrib/lib/libdvdcss.a,
- ../contrib/lib/libfaac.a,
- ../contrib/lib/libmp3lame.a,
- ../contrib/lib/libmpeg2.a,
- ../contrib/lib/libvorbis.a,
- ../contrib/lib/libvorbisenc.a,
- ../contrib/lib/libogg.a,
- ../contrib/lib/libsamplerate.a,
- ../contrib/lib/libx264.a,
- ../contrib/lib/libxvidcore.a,
- );
- PRODUCT_NAME = HandBrake;
- SECTORDER_FLAGS = "";
- WARNING_CFLAGS = (
- "-Wmost",
- "-Wno-four-char-constants",
- "-Wno-unknown-pragmas",
- );
- WRAPPER_EXTENSION = app;
- ZERO_LINK = NO;
- };
- name = Development;
- };
- 4D4E7BC2087804870051572B /* Deployment */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = YES;
- FRAMEWORK_SEARCH_PATHS = "";
- GCC_ENABLE_FIX_AND_CONTINUE = NO;
- GCC_OPTIMIZATION_LEVEL = 3;
- GCC_TREAT_WARNINGS_AS_ERRORS = NO;
- HEADER_SEARCH_PATHS = ../libhb;
- INFOPLIST_FILE = HandBrake.plist;
- LIBRARY_SEARCH_PATHS = "";
- OTHER_CFLAGS = "";
- OTHER_LDFLAGS = (
- ../libhb/libhb.a,
- ../contrib/lib/liba52.a,
- ../contrib/lib/libavformat.a,
- ../contrib/lib/libavcodec.a,
- ../contrib/lib/libavutil.a,
- ../contrib/lib/libdvdread.a,
- ../contrib/lib/libdvdcss.a,
- ../contrib/lib/libfaac.a,
- ../contrib/lib/libmp3lame.a,
- ../contrib/lib/libmpeg2.a,
- ../contrib/lib/libvorbis.a,
- ../contrib/lib/libvorbisenc.a,
- ../contrib/lib/libogg.a,
- ../contrib/lib/libsamplerate.a,
- ../contrib/lib/libx264.a,
- ../contrib/lib/libxvidcore.a,
- );
- PRODUCT_NAME = HandBrake;
- SECTORDER_FLAGS = "";
- WARNING_CFLAGS = (
- "-Wmost",
- "-Wno-four-char-constants",
- "-Wno-unknown-pragmas",
- );
- WRAPPER_EXTENSION = app;
- ZERO_LINK = NO;
- };
- name = Deployment;
- };
- 4D4E7BC3087804870051572B /* Default */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- FRAMEWORK_SEARCH_PATHS = "";
- GCC_OPTIMIZATION_LEVEL = 3;
- GCC_TREAT_WARNINGS_AS_ERRORS = NO;
- HEADER_SEARCH_PATHS = ../libhb;
- INFOPLIST_FILE = HandBrake.plist;
- LIBRARY_SEARCH_PATHS = "";
- OTHER_CFLAGS = "";
- OTHER_LDFLAGS = (
- ../libhb/libhb.a,
- ../contrib/lib/liba52.a,
- ../contrib/lib/libavformat.a,
- ../contrib/lib/libavcodec.a,
- ../contrib/lib/libavutil.a,
- ../contrib/lib/libdvdread.a,
- ../contrib/lib/libdvdcss.a,
- ../contrib/lib/libfaac.a,
- ../contrib/lib/libmp3lame.a,
- ../contrib/lib/libmpeg2.a,
- ../contrib/lib/libvorbis.a,
- ../contrib/lib/libvorbisenc.a,
- ../contrib/lib/libogg.a,
- ../contrib/lib/libsamplerate.a,
- ../contrib/lib/libx264.a,
- ../contrib/lib/libxvidcore.a,
- );
- PRODUCT_NAME = HandBrake;
- SECTORDER_FLAGS = "";
- WARNING_CFLAGS = (
- "-Wmost",
- "-Wno-four-char-constants",
- "-Wno-unknown-pragmas",
- );
- WRAPPER_EXTENSION = app;
- };
- name = Default;
- };
- 4D4E7BC5087804870051572B /* Development */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- };
- name = Development;
- };
- 4D4E7BC6087804870051572B /* Deployment */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- };
- name = Deployment;
- };
- 4D4E7BC7087804870051572B /* Default */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- };
- name = Default;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- 4D1EA2DD0993B01100FDC1A2 /* Build configuration list for PBXNativeTarget "Instant HandBrake" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 4D1EA2DE0993B01100FDC1A2 /* Development */,
- 4D1EA2DF0993B01100FDC1A2 /* Deployment */,
- 4D1EA2E00993B01100FDC1A2 /* Default */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Default;
- };
- 4D4E7BC0087804870051572B /* Build configuration list for PBXNativeTarget "HandBrake" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 4D4E7BC1087804870051572B /* Development */,
- 4D4E7BC2087804870051572B /* Deployment */,
- 4D4E7BC3087804870051572B /* Default */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Default;
- };
- 4D4E7BC4087804870051572B /* Build configuration list for PBXProject "HandBrake" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 4D4E7BC5087804870051572B /* Development */,
- 4D4E7BC6087804870051572B /* Deployment */,
- 4D4E7BC7087804870051572B /* Default */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Default;
- };
-/* End XCConfigurationList section */
- };
- rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
-}
diff --git a/macosx/MediaFork.icns b/macosx/MediaFork.icns
new file mode 100644
index 000000000..aeadb7982
--- /dev/null
+++ b/macosx/MediaFork.icns
Binary files differ
diff --git a/macosx/HandBrake.plist b/macosx/MediaFork.plist
index 482e5a9bf..c9fa39748 100644
--- a/macosx/HandBrake.plist
+++ b/macosx/MediaFork.plist
@@ -5,29 +5,29 @@
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleDisplayName</key>
- <string>HandBrake</string>
+ <string>MediaFork</string>
<key>CFBundleExecutable</key>
- <string>HandBrake</string>
+ <string>MediaFork</string>
<key>CFBundleGetInfoString</key>
- <string>0.7.1a5</string>
+ <string>0.8.0b1</string>
<key>CFBundleIconFile</key>
- <string>HandBrake.icns</string>
+ <string>MediaFork</string>
<key>CFBundleIdentifier</key>
- <string>org.m0k.handbrake</string>
+ <string>org.mediafork.dynalias</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
- <string>HandBrake</string>
+ <string>MediaFork</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
- <string>0.7.1a5</string>
+ <string>0.8.0b1</string>
<key>CFBundleSignature</key>
<string>HB##</string>
<key>CFBundleVersion</key>
<string>2006022400</string>
<key>NSHumanReadableCopyright</key>
- <string>By Eric Petit &lt;[email protected]&gt;</string>
+ <string>MediaFork Devs</string>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSPrincipalClass</key>
diff --git a/macosx/MediaFork.xcodeproj/project.pbxproj b/macosx/MediaFork.xcodeproj/project.pbxproj
new file mode 100644
index 000000000..5fdc2bba4
--- /dev/null
+++ b/macosx/MediaFork.xcodeproj/project.pbxproj
@@ -0,0 +1,1654 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 42;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 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 */; };
+ 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 */; };
+ 4D1EA2EA0993B09A00FDC1A2 /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.mm */; };
+ 4D1EA2F60993B0CA00FDC1A2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
+ 4D1EA3010993B13700FDC1A2 /* Express.nib in Resources */ = {isa = PBXBuildFile; fileRef = 4D1EA3000993B13700FDC1A2 /* Express.nib */; };
+ 4D1EA31C0993B24700FDC1A2 /* ExpressController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4D1EA31B0993B24700FDC1A2 /* ExpressController.m */; };
+ 4D2AE78B09CCB24C007E18F6 /* DriveDetector.m in Sources */ = {isa = PBXBuildFile; fileRef = 4D2AE78909CCB24C007E18F6 /* DriveDetector.m */; };
+ 4D2AEA1A09CCB332007E18F6 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4DEB2024052B055F00C39CA9 /* IOKit.framework */; };
+ 4D2AEA2909CCB8F9007E18F6 /* DriveDetector.m in Sources */ = {isa = PBXBuildFile; fileRef = 4D2AE78909CCB24C007E18F6 /* DriveDetector.m */; };
+ 4D2AEA2A09CCB8FC007E18F6 /* DriveDetector.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D2AE78A09CCB24C007E18F6 /* DriveDetector.h */; };
+ 4D3ECC2709A4917000B2E45F /* WhiteBox.m in Sources */ = {isa = PBXBuildFile; fileRef = 4D3ECC2609A4917000B2E45F /* WhiteBox.m */; };
+ 4DD93F8F082036E8008E1322 /* Controller.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DF3C8CB052889CD00A80101 /* Controller.h */; };
+ 4DD93F90082036E8008E1322 /* PictureGLView.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D85758F052B78E300C39CA9 /* PictureGLView.h */; };
+ 4DD93F91082036E8008E1322 /* ScanController.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D86C74F07281F4E007BA979 /* ScanController.h */; };
+ 4DD93F92082036E8008E1322 /* PictureController.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D1FD381073D19CE00E46515 /* PictureController.h */; };
+ 4DD93F93082036E8008E1322 /* QueueController.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DD27BA507C0065C0023D231 /* QueueController.h */; };
+ 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 */; };
+ 4DD93F9D082036E8008E1322 /* ScanController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4D86C74E07281F4E007BA979 /* ScanController.mm */; };
+ 4DD93F9E082036E8008E1322 /* PictureController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4D1FD382073D19CE00E46515 /* PictureController.mm */; };
+ 4DD93F9F082036E8008E1322 /* QueueController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4DD27BA607C0065C0023D231 /* QueueController.mm */; };
+ 4DD93FA0082036E8008E1322 /* PrefsController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4DE93A3607F5A2C900F3C78F /* PrefsController.m */; };
+ 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 PBXContainerItemProxy section */
+ 0D6E35900B6BD5FA005AABB3 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 0DFF0B710B6BC6E600549488;
+ remoteInfo = libmediafork;
+ };
+ 0DFF0BF10B6BCCB400549488 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 0DFF0B710B6BC6E600549488;
+ remoteInfo = libmediafork;
+ };
+ 0DFF0BF30B6BCCB900549488 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 0DFF0B710B6BC6E600549488;
+ remoteInfo = libmediafork;
+ };
+/* End PBXContainerItemProxy 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; includeInIndex = 0; lastKnownFileType = wrapper.application; 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; };
+ 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; };
+ 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; };
+ 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>"; };
+ 4D1EA31B0993B24700FDC1A2 /* ExpressController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = ExpressController.m; sourceTree = "<group>"; };
+ 4D1FD381073D19CE00E46515 /* PictureController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PictureController.h; sourceTree = "<group>"; };
+ 4D1FD382073D19CE00E46515 /* PictureController.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = PictureController.mm; sourceTree = "<group>"; };
+ 4D2AE78909CCB24C007E18F6 /* DriveDetector.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = DriveDetector.m; sourceTree = "<group>"; };
+ 4D2AE78A09CCB24C007E18F6 /* DriveDetector.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DriveDetector.h; sourceTree = "<group>"; };
+ 4D3ECC2509A4917000B2E45F /* WhiteBox.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = WhiteBox.h; sourceTree = "<group>"; };
+ 4D3ECC2609A4917000B2E45F /* WhiteBox.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = WhiteBox.m; sourceTree = "<group>"; };
+ 4D85758E052B78E300C39CA9 /* PictureGLView.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = PictureGLView.mm; sourceTree = "<group>"; };
+ 4D85758F052B78E300C39CA9 /* PictureGLView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PictureGLView.h; sourceTree = "<group>"; };
+ 4D86C74E07281F4E007BA979 /* ScanController.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = ScanController.mm; sourceTree = "<group>"; };
+ 4D86C74F07281F4E007BA979 /* ScanController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ScanController.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; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 0D096DFD0B707D1200A845D4 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 0D096EA30B70884A00A845D4 /* libz.dylib in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 0DFF0B700B6BC6E600549488 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 0DFF0C080B6BCEC200549488 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 4D1EA2D80993B01000FDC1A2 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 4D1EA2F60993B0CA00FDC1A2 /* Cocoa.framework in Frameworks */,
+ 4D2AEA1A09CCB332007E18F6 /* IOKit.framework in Frameworks */,
+ 4D1125D909D72FD200E0657B /* libz.dylib in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 4DD93FA1082036E8008E1322 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 4DD93FA2082036E8008E1322 /* Cocoa.framework in Frameworks */,
+ 4DD93FA3082036E8008E1322 /* IOKit.framework in Frameworks */,
+ 4DD93FA4082036E8008E1322 /* OpenGL.framework in Frameworks */,
+ 4D1125D809D72FD200E0657B /* libz.dylib in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 19C28FACFE9D520D11CA2CBB /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 4D1EA2DA0993B01000FDC1A2 /* Instant MediaFork.app */,
+ 0DFF0B720B6BC6E600549488 /* libmediafork.a */,
+ 0DFF0C0A0B6BCEC200549488 /* MediaForkCLI */,
+ 0D6E35760B6BD4F0005AABB3 /* MediaFork.app */,
+ 0D096DFF0B707D1200A845D4 /* libmediafork.dylib */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 29B97314FDCFA39411CA2CEA /* HandBrake */ = {
+ isa = PBXGroup;
+ children = (
+ 526FBC940B4CAA310064E04C /* Instant MediaFork Sources */,
+ 526FBC930B4CAA260064E04C /* MediaFork Sources */,
+ 526FBC920B4CAA120064E04C /* MediaForkCLI Sources */,
+ 526FBC8D0B4CA9F90064E04C /* libmediafork Sources */,
+ 29B97315FDCFA39411CA2CEA /* Other Sources */,
+ 29B97317FDCFA39411CA2CEA /* Resources */,
+ 29B97323FDCFA39411CA2CEA /* Frameworks */,
+ 19C28FACFE9D520D11CA2CBB /* Products */,
+ );
+ name = HandBrake;
+ sourceTree = "<group>";
+ };
+ 29B97315FDCFA39411CA2CEA /* Other Sources */ = {
+ isa = PBXGroup;
+ children = (
+ 29B97316FDCFA39411CA2CEA /* main.mm */,
+ );
+ name = "Other Sources";
+ sourceTree = "<group>";
+ };
+ 29B97317FDCFA39411CA2CEA /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ 29B97318FDCFA39411CA2CEA /* MainMenu.nib */,
+ 4D118405053054CD00C39CA9 /* MediaFork.icns */,
+ 4D1EA3000993B13700FDC1A2 /* Express.nib */,
+ 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
+ );
+ name = Resources;
+ sourceTree = "<group>";
+ };
+ 29B97323FDCFA39411CA2CEA /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 4D1125D709D72FD200E0657B /* libz.dylib */,
+ 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
+ 4DEB2024052B055F00C39CA9 /* IOKit.framework */,
+ 4DDE9724052B7B2B00C39CA9 /* OpenGL.framework */,
+ 29B97325FDCFA39411CA2CEA /* Foundation.framework */,
+ 29B97324FDCFA39411CA2CEA /* AppKit.framework */,
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
+ 526FBC8D0B4CA9F90064E04C /* libmediafork Sources */ = {
+ isa = PBXGroup;
+ children = (
+ 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";
+ sourceTree = "<group>";
+ };
+ 526FBC920B4CAA120064E04C /* MediaForkCLI Sources */ = {
+ isa = PBXGroup;
+ children = (
+ 0DF377970B7BF99A00115CB0 /* fakexcode.cpp */,
+ 526FBC760B4CA8F40064E04C /* test.c */,
+ );
+ name = "MediaForkCLI Sources";
+ sourceTree = "<group>";
+ };
+ 526FBC930B4CAA260064E04C /* MediaFork Sources */ = {
+ isa = PBXGroup;
+ children = (
+ 4DE09E62082038A400FB751F /* MediaFork.plist */,
+ 4D1FD381073D19CE00E46515 /* PictureController.h */,
+ 4D1FD382073D19CE00E46515 /* PictureController.mm */,
+ 4DF3C8CB052889CD00A80101 /* Controller.h */,
+ 4DF3C8CC052889CD00A80101 /* Controller.mm */,
+ 4D86C74E07281F4E007BA979 /* ScanController.mm */,
+ 4D86C74F07281F4E007BA979 /* ScanController.h */,
+ 4D85758E052B78E300C39CA9 /* PictureGLView.mm */,
+ 4D85758F052B78E300C39CA9 /* PictureGLView.h */,
+ 4DD27BA507C0065C0023D231 /* QueueController.h */,
+ 4DD27BA607C0065C0023D231 /* QueueController.mm */,
+ 4DE93A3507F5A2C900F3C78F /* PrefsController.h */,
+ 4DE93A3607F5A2C900F3C78F /* PrefsController.m */,
+ 4D3ECC2509A4917000B2E45F /* WhiteBox.h */,
+ 4D3ECC2609A4917000B2E45F /* WhiteBox.m */,
+ 4D2AE78909CCB24C007E18F6 /* DriveDetector.m */,
+ 4D2AE78A09CCB24C007E18F6 /* DriveDetector.h */,
+ );
+ name = "MediaFork Sources";
+ sourceTree = "<group>";
+ };
+ 526FBC940B4CAA310064E04C /* Instant MediaFork Sources */ = {
+ isa = PBXGroup;
+ children = (
+ 4D1EA31A0993B24700FDC1A2 /* ExpressController.h */,
+ 4D1EA31B0993B24700FDC1A2 /* ExpressController.m */,
+ 4D1EA2DC0993B01000FDC1A2 /* Express.plist */,
+ );
+ name = "Instant MediaFork Sources";
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXHeadersBuildPhase section */
+ 0D096DFB0B707D1200A845D4 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 0DFF0B6E0B6BC6E600549488 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 4DD93F8E082036E8008E1322 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 4DD93F8F082036E8008E1322 /* Controller.h in Headers */,
+ 4DD93F90082036E8008E1322 /* PictureGLView.h in Headers */,
+ 4DD93F91082036E8008E1322 /* ScanController.h in Headers */,
+ 4DD93F92082036E8008E1322 /* PictureController.h in Headers */,
+ 4DD93F93082036E8008E1322 /* QueueController.h in Headers */,
+ 4DD93F94082036E8008E1322 /* PrefsController.h in Headers */,
+ 4D2AEA2A09CCB8FC007E18F6 /* DriveDetector.h in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXHeadersBuildPhase section */
+
+/* Begin PBXNativeTarget section */
+ 0D096DFE0B707D1200A845D4 /* libmediafork dlib */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 0D096E650B707D5800A845D4 /* Build configuration list for PBXNativeTarget "libmediafork dlib" */;
+ buildPhases = (
+ 0D096DFB0B707D1200A845D4 /* Headers */,
+ 0D096DFC0B707D1200A845D4 /* Sources */,
+ 0D096DFD0B707D1200A845D4 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = "libmediafork dlib";
+ productName = "libmediafork dlib";
+ productReference = 0D096DFF0B707D1200A845D4 /* libmediafork.dylib */;
+ productType = "com.apple.product-type.library.dynamic";
+ };
+ 0DFF0B710B6BC6E600549488 /* libmediafork */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 0DFF0B730B6BC70400549488 /* Build configuration list for PBXNativeTarget "libmediafork" */;
+ buildPhases = (
+ 0DFF0B6E0B6BC6E600549488 /* Headers */,
+ 0DFF0B6F0B6BC6E600549488 /* Sources */,
+ 0DFF0B700B6BC6E600549488 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = libmediafork;
+ productName = libmediafork;
+ productReference = 0DFF0B720B6BC6E600549488 /* libmediafork.a */;
+ productType = "com.apple.product-type.library.static";
+ };
+ 0DFF0C090B6BCEC200549488 /* MediaForkCLI */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 0DFF0C0C0B6BCEE000549488 /* Build configuration list for PBXNativeTarget "MediaForkCLI" */;
+ buildPhases = (
+ 0DFF0C070B6BCEC200549488 /* Sources */,
+ 0DFF0C080B6BCEC200549488 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 0D6E35910B6BD5FA005AABB3 /* PBXTargetDependency */,
+ );
+ name = MediaForkCLI;
+ productName = MediaForkCLI;
+ productReference = 0DFF0C0A0B6BCEC200549488 /* MediaForkCLI */;
+ productType = "com.apple.product-type.tool";
+ };
+ 4D1EA2D90993B01000FDC1A2 /* Instant MediaFork */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 4D1EA2DD0993B01100FDC1A2 /* Build configuration list for PBXNativeTarget "Instant MediaFork" */;
+ buildPhases = (
+ 4D1EA2D60993B01000FDC1A2 /* Resources */,
+ 4D1EA2D70993B01000FDC1A2 /* Sources */,
+ 4D1EA2D80993B01000FDC1A2 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 0DFF0BF20B6BCCB400549488 /* PBXTargetDependency */,
+ );
+ name = "Instant MediaFork";
+ productName = "Instant HandBrake";
+ productReference = 4D1EA2DA0993B01000FDC1A2 /* Instant MediaFork.app */;
+ productType = "com.apple.product-type.application";
+ };
+ 4DD93F8D082036E8008E1322 /* MediaFork */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 4D4E7BC0087804870051572B /* Build configuration list for PBXNativeTarget "MediaFork" */;
+ buildPhases = (
+ 4DD93F8E082036E8008E1322 /* Headers */,
+ 4DD93F95082036E8008E1322 /* Resources */,
+ 4DD93F99082036E8008E1322 /* Sources */,
+ 4DD93FA1082036E8008E1322 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 0DFF0BF40B6BCCB900549488 /* PBXTargetDependency */,
+ );
+ name = MediaFork;
+ productName = HandBrake;
+ productReference = 0D6E35760B6BD4F0005AABB3 /* MediaFork.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" */;
+ hasScannedForEncodings = 1;
+ mainGroup = 29B97314FDCFA39411CA2CEA /* HandBrake */;
+ projectDirPath = "";
+ targets = (
+ 4DD93F8D082036E8008E1322 /* MediaFork */,
+ 4D1EA2D90993B01000FDC1A2 /* Instant MediaFork */,
+ 0DFF0B710B6BC6E600549488 /* libmediafork */,
+ 0DFF0C090B6BCEC200549488 /* MediaForkCLI */,
+ 0D096DFE0B707D1200A845D4 /* libmediafork dlib */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 4D1EA2D60993B01000FDC1A2 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 0D75EDC00B6FF9DA0090EA86 /* MediaFork.icns in Resources */,
+ 52AFF86B0B59BD14000DA7C4 /* Express.plist in Resources */,
+ 52AFF86A0B59BD07000DA7C4 /* InfoPlist.strings in Resources */,
+ 4D1EA3010993B13700FDC1A2 /* Express.nib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 4DD93F95082036E8008E1322 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 4DD93F96082036E8008E1322 /* MainMenu.nib in Resources */,
+ 4DD93F97082036E8008E1322 /* InfoPlist.strings in Resources */,
+ 4DD93F98082036E8008E1322 /* MediaFork.icns in Resources */,
+ 4DE09E63082038A400FB751F /* MediaFork.plist in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 0D096DFC0B707D1200A845D4 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 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;
+ };
+ 0DFF0B6F0B6BC6E600549488 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 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;
+ };
+ 0DFF0C070B6BCEC200549488 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 0DFF0C100B6BCEE800549488 /* test.c in Sources */,
+ 0DF377980B7BF99A00115CB0 /* fakexcode.cpp in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 4D1EA2D70993B01000FDC1A2 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 4D1EA2EA0993B09A00FDC1A2 /* main.mm in Sources */,
+ 4D1EA31C0993B24700FDC1A2 /* ExpressController.m in Sources */,
+ 4D3ECC2709A4917000B2E45F /* WhiteBox.m in Sources */,
+ 4D2AE78B09CCB24C007E18F6 /* DriveDetector.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 4DD93F99082036E8008E1322 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 4DD93F9A082036E8008E1322 /* main.mm in Sources */,
+ 4DD93F9B082036E8008E1322 /* Controller.mm in Sources */,
+ 4DD93F9C082036E8008E1322 /* PictureGLView.mm in Sources */,
+ 4DD93F9D082036E8008E1322 /* ScanController.mm in Sources */,
+ 4DD93F9E082036E8008E1322 /* PictureController.mm in Sources */,
+ 4DD93F9F082036E8008E1322 /* QueueController.mm in Sources */,
+ 4DD93FA0082036E8008E1322 /* PrefsController.m in Sources */,
+ 4D2AEA2909CCB8F9007E18F6 /* DriveDetector.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+ 0D6E35910B6BD5FA005AABB3 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 0DFF0B710B6BC6E600549488 /* libmediafork */;
+ targetProxy = 0D6E35900B6BD5FA005AABB3 /* PBXContainerItemProxy */;
+ };
+ 0DFF0BF20B6BCCB400549488 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 0DFF0B710B6BC6E600549488 /* libmediafork */;
+ targetProxy = 0DFF0BF10B6BCCB400549488 /* PBXContainerItemProxy */;
+ };
+ 0DFF0BF40B6BCCB900549488 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 0DFF0B710B6BC6E600549488 /* libmediafork */;
+ targetProxy = 0DFF0BF30B6BCCB900549488 /* PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
+/* Begin PBXVariantGroup section */
+ 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 089C165DFE840E0CC02AAC07 /* English */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "<group>";
+ };
+ 29B97318FDCFA39411CA2CEA /* MainMenu.nib */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 29B97319FDCFA39411CA2CEA /* English */,
+ );
+ name = MainMenu.nib;
+ sourceTree = "<group>";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ 0D096E660B707D5800A845D4 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/../libmediafork";
+ COPY_PHASE_STRIP = NO;
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ EXECUTABLE_PREFIX = lib;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_MODEL_TUNING = G5;
+ GCC_OPTIMIZATION_LEVEL = s;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "";
+ HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/../contrib/include";
+ INSTALL_PATH = /usr/local/lib;
+ LIBRARY_SEARCH_PATHS = "";
+ MACOSX_DEPLOYMENT_TARGET = 10.4;
+ OTHER_CFLAGS = (
+ "-D__LIBMEDIAFORK__",
+ "-DSYS_DARWIN",
+ "$(OTHER_CFLAGS_QUOTED_1)",
+ "-DHB_BUILD=2006022400",
+ "-DUSE_PTHREAD",
+ );
+ OTHER_CFLAGS_QUOTED_1 = "-DHB_VERSION=\\\"0.7.1\\\"";
+ OTHER_LDFLAGS = (
+ ../contrib/lib/libmp4v2.a,
+ ../contrib/lib/liba52.a,
+ ../contrib/lib/libavformat.a,
+ ../contrib/lib/libavcodec.a,
+ ../contrib/lib/libavutil.a,
+ ../contrib/lib/libdvdread.a,
+ ../contrib/lib/libdvdcss.a,
+ ../contrib/lib/libfaac.a,
+ ../contrib/lib/libmp3lame.a,
+ ../contrib/lib/libmpeg2.a,
+ ../contrib/lib/libvorbis.a,
+ ../contrib/lib/libvorbisenc.a,
+ ../contrib/lib/libogg.a,
+ ../contrib/lib/libsamplerate.a,
+ ../contrib/lib/libx264.a,
+ ../contrib/lib/libxvidcore.a,
+ "-ldl",
+ "-flat_namespace",
+ "-read_only_relocs",
+ suppress,
+ );
+ PER_ARCH_CFLAGS_ppc = "-DWORDS_BIGENDIAN";
+ PREBINDING = NO;
+ PRODUCT_NAME = mediafork;
+ SEPARATE_STRIP = YES;
+ ZERO_LINK = NO;
+ };
+ name = Development;
+ };
+ 0D096E670B707D5800A845D4 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/../libmediafork";
+ COPY_PHASE_STRIP = YES;
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ EXECUTABLE_PREFIX = lib;
+ GCC_ENABLE_FIX_AND_CONTINUE = NO;
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_MODEL_TUNING = G5;
+ GCC_OPTIMIZATION_LEVEL = s;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "";
+ HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/../contrib/include";
+ INSTALL_PATH = /usr/local/lib;
+ LIBRARY_SEARCH_PATHS = "";
+ MACOSX_DEPLOYMENT_TARGET = 10.4;
+ OTHER_CFLAGS = (
+ "-D__LIBMEDIAFORK__",
+ "-DSYS_DARWIN",
+ "$(OTHER_CFLAGS_QUOTED_1)",
+ "-DHB_BUILD=2006022400",
+ "-DUSE_PTHREAD",
+ );
+ OTHER_CFLAGS_QUOTED_1 = "-DHB_VERSION=\\\"0.7.1\\\"";
+ OTHER_LDFLAGS = (
+ ../contrib/lib/libmp4v2.a,
+ ../contrib/lib/liba52.a,
+ ../contrib/lib/libavformat.a,
+ ../contrib/lib/libavcodec.a,
+ ../contrib/lib/libavutil.a,
+ ../contrib/lib/libdvdread.a,
+ ../contrib/lib/libdvdcss.a,
+ ../contrib/lib/libfaac.a,
+ ../contrib/lib/libmp3lame.a,
+ ../contrib/lib/libmpeg2.a,
+ ../contrib/lib/libvorbis.a,
+ ../contrib/lib/libvorbisenc.a,
+ ../contrib/lib/libogg.a,
+ ../contrib/lib/libsamplerate.a,
+ ../contrib/lib/libx264.a,
+ ../contrib/lib/libxvidcore.a,
+ "-ldl",
+ "-flat_namespace",
+ "-read_only_relocs",
+ suppress,
+ );
+ PER_ARCH_CFLAGS_ppc = "-DWORDS_BIGENDIAN";
+ PREBINDING = NO;
+ PRODUCT_NAME = mediafork;
+ SEPARATE_STRIP = YES;
+ ZERO_LINK = NO;
+ };
+ name = Deployment;
+ };
+ 0D096E680B707D5800A845D4 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/../libmediafork";
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ EXECUTABLE_PREFIX = lib;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_MODEL_TUNING = G5;
+ GCC_OPTIMIZATION_LEVEL = s;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "";
+ HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/../contrib/include";
+ INSTALL_PATH = /usr/local/lib;
+ LIBRARY_SEARCH_PATHS = "";
+ MACOSX_DEPLOYMENT_TARGET = 10.4;
+ OTHER_CFLAGS = (
+ "-D__LIBMEDIAFORK__",
+ "-DSYS_DARWIN",
+ "$(OTHER_CFLAGS_QUOTED_1)",
+ "-DHB_BUILD=2006022400",
+ "-DUSE_PTHREAD",
+ );
+ OTHER_CFLAGS_QUOTED_1 = "-DHB_VERSION=\\\"0.7.1\\\"";
+ OTHER_LDFLAGS = (
+ ../contrib/lib/libmp4v2.a,
+ ../contrib/lib/liba52.a,
+ ../contrib/lib/libavformat.a,
+ ../contrib/lib/libavcodec.a,
+ ../contrib/lib/libavutil.a,
+ ../contrib/lib/libdvdread.a,
+ ../contrib/lib/libdvdcss.a,
+ ../contrib/lib/libfaac.a,
+ ../contrib/lib/libmp3lame.a,
+ ../contrib/lib/libmpeg2.a,
+ ../contrib/lib/libvorbis.a,
+ ../contrib/lib/libvorbisenc.a,
+ ../contrib/lib/libogg.a,
+ ../contrib/lib/libsamplerate.a,
+ ../contrib/lib/libx264.a,
+ ../contrib/lib/libxvidcore.a,
+ "-ldl",
+ "-flat_namespace",
+ "-read_only_relocs",
+ suppress,
+ );
+ PER_ARCH_CFLAGS_ppc = "-DWORDS_BIGENDIAN";
+ PREBINDING = NO;
+ PRODUCT_NAME = mediafork;
+ SEPARATE_STRIP = YES;
+ ZERO_LINK = NO;
+ };
+ name = Default;
+ };
+ 0D096E690B707D5800A845D4 /* UB */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/../libmediafork";
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ EXECUTABLE_PREFIX = lib;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_MODEL_TUNING = G5;
+ GCC_OPTIMIZATION_LEVEL = s;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "";
+ HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/../contrib/include";
+ INSTALL_PATH = /usr/local/lib;
+ LIBRARY_SEARCH_PATHS = "";
+ MACOSX_DEPLOYMENT_TARGET = 10.4;
+ OTHER_CFLAGS = (
+ "-D__LIBMEDIAFORK__",
+ "-DSYS_DARWIN",
+ "$(OTHER_CFLAGS_QUOTED_1)",
+ "-DHB_BUILD=2006022400",
+ "-DUSE_PTHREAD",
+ );
+ OTHER_CFLAGS_QUOTED_1 = "-DHB_VERSION=\\\"0.7.1\\\"";
+ OTHER_LDFLAGS = (
+ ../contrib/lib/libmp4v2.a,
+ ../contrib/lib/liba52.a,
+ ../contrib/lib/libavformat.a,
+ ../contrib/lib/libavcodec.a,
+ ../contrib/lib/libavutil.a,
+ ../contrib/lib/libdvdread.a,
+ ../contrib/lib/libdvdcss.a,
+ ../contrib/lib/libfaac.a,
+ ../contrib/lib/libmp3lame.a,
+ ../contrib/lib/libmpeg2.a,
+ ../contrib/lib/libvorbis.a,
+ ../contrib/lib/libvorbisenc.a,
+ ../contrib/lib/libogg.a,
+ ../contrib/lib/libsamplerate.a,
+ ../contrib/lib/libx264.a,
+ ../contrib/lib/libxvidcore.a,
+ "-ldl",
+ "-flat_namespace",
+ "-read_only_relocs",
+ suppress,
+ );
+ PER_ARCH_CFLAGS_ppc = "-DWORDS_BIGENDIAN";
+ PREBINDING = NO;
+ PRODUCT_NAME = mediafork;
+ SEPARATE_STRIP = YES;
+ ZERO_LINK = NO;
+ };
+ name = UB;
+ };
+ 0D88F56B0B6CDCD400F81F26 /* UB */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/../libmediafork";
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+ GCC_MODEL_TUNING = G5;
+ GCC_OPTIMIZATION_LEVEL = s;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "";
+ HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/../contrib/include";
+ INSTALL_PATH = /usr/local/lib;
+ OTHER_CFLAGS = (
+ "-D__LIBMEDIAFORK__",
+ "-DSYS_DARWIN",
+ "$(OTHER_CFLAGS_QUOTED_1)",
+ "-DHB_BUILD=2006022400",
+ "-DUSE_PTHREAD",
+ );
+ OTHER_CFLAGS_QUOTED_1 = "-DHB_VERSION=\\\"0.7.1\\\"";
+ OTHER_LDFLAGS = "";
+ PER_ARCH_CFLAGS_ppc = "-DWORDS_BIGENDIAN";
+ PREBINDING = NO;
+ PRODUCT_NAME = mediafork;
+ SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+ ZERO_LINK = NO;
+ };
+ name = UB;
+ };
+ 0D88F56C0B6CDCD400F81F26 /* UB */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CONFIGURATION_BUILD_DIR = ..;
+ CURRENT_PROJECT_VERSION = 0.7.1a2;
+ FRAMEWORK_SEARCH_PATHS = "";
+ GCC_OPTIMIZATION_LEVEL = s;
+ GCC_TREAT_WARNINGS_AS_ERRORS = NO;
+ HEADER_SEARCH_PATHS = ../libmediafork;
+ INFOPLIST_FILE = MediaFork.plist;
+ LIBRARY_SEARCH_PATHS = "";
+ OTHER_CFLAGS = "";
+ OTHER_LDFLAGS = (
+ ../libmediafork/libmediafork.a,
+ ../contrib/lib/libmp4v2.a,
+ ../contrib/lib/liba52.a,
+ ../contrib/lib/libavformat.a,
+ ../contrib/lib/libavcodec.a,
+ ../contrib/lib/libavutil.a,
+ ../contrib/lib/libdvdread.a,
+ ../contrib/lib/libdvdcss.a,
+ ../contrib/lib/libfaac.a,
+ ../contrib/lib/libmp3lame.a,
+ ../contrib/lib/libmpeg2.a,
+ ../contrib/lib/libvorbis.a,
+ ../contrib/lib/libvorbisenc.a,
+ ../contrib/lib/libogg.a,
+ ../contrib/lib/libsamplerate.a,
+ ../contrib/lib/libx264.a,
+ ../contrib/lib/libxvidcore.a,
+ );
+ PRODUCT_NAME = MediaFork;
+ SECTORDER_FLAGS = "";
+ WARNING_CFLAGS = (
+ "-Wmost",
+ "-Wno-four-char-constants",
+ "-Wno-unknown-pragmas",
+ );
+ WRAPPER_EXTENSION = app;
+ };
+ name = UB;
+ };
+ 0D88F56D0B6CDCD400F81F26 /* UB */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CONFIGURATION_BUILD_DIR = ..;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_MODEL_TUNING = G5;
+ 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;
+ INFOPLIST_FILE = Express.plist;
+ INSTALL_PATH = "$(HOME)/Applications";
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
+ );
+ LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)\"";
+ OTHER_LDFLAGS = (
+ ../libmediafork/libmediafork.a,
+ ../contrib/lib/libmp4v2.a,
+ ../contrib/lib/liba52.a,
+ ../contrib/lib/libavformat.a,
+ ../contrib/lib/libavcodec.a,
+ ../contrib/lib/libavutil.a,
+ ../contrib/lib/libdvdread.a,
+ ../contrib/lib/libdvdcss.a,
+ ../contrib/lib/libfaac.a,
+ ../contrib/lib/libmp3lame.a,
+ ../contrib/lib/libmpeg2.a,
+ ../contrib/lib/libvorbis.a,
+ ../contrib/lib/libvorbisenc.a,
+ ../contrib/lib/libogg.a,
+ ../contrib/lib/libsamplerate.a,
+ ../contrib/lib/libx264.a,
+ ../contrib/lib/libxvidcore.a,
+ );
+ PREBINDING = NO;
+ PRODUCT_NAME = "Instant MediaFork";
+ SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+ WRAPPER_EXTENSION = app;
+ ZERO_LINK = NO;
+ };
+ name = UB;
+ };
+ 0D88F56E0B6CDCD400F81F26 /* UB */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CONFIGURATION_BUILD_DIR = ..;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_MODEL_TUNING = G5;
+ GCC_OPTIMIZATION_LEVEL = s;
+ HEADER_SEARCH_PATHS = ../libmediafork;
+ INSTALL_PATH = /usr/local/bin;
+ LIBRARY_SEARCH_PATHS = "";
+ OTHER_CFLAGS = "";
+ OTHER_LDFLAGS = (
+ ../libmediafork/libmediafork.a,
+ ../contrib/lib/libmp4v2.a,
+ ../contrib/lib/liba52.a,
+ ../contrib/lib/libavformat.a,
+ ../contrib/lib/libavcodec.a,
+ ../contrib/lib/libavutil.a,
+ ../contrib/lib/libdvdread.a,
+ ../contrib/lib/libdvdcss.a,
+ ../contrib/lib/libfaac.a,
+ ../contrib/lib/libmp3lame.a,
+ ../contrib/lib/libmpeg2.a,
+ ../contrib/lib/libvorbis.a,
+ ../contrib/lib/libvorbisenc.a,
+ ../contrib/lib/libogg.a,
+ ../contrib/lib/libsamplerate.a,
+ ../contrib/lib/libx264.a,
+ ../contrib/lib/libxvidcore.a,
+ "-lz",
+ );
+ PREBINDING = NO;
+ PRODUCT_NAME = MediaForkCLI;
+ SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+ ZERO_LINK = NO;
+ };
+ name = UB;
+ };
+ 0D88F56F0B6CDCD400F81F26 /* UB */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = (
+ ppc,
+ i386,
+ );
+ MACOSX_DEPLOYMENT_TARGET = 10.3;
+ SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+ };
+ name = UB;
+ };
+ 0DFF0B740B6BC70400549488 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/../libmediafork";
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+ GCC_MODEL_TUNING = G5;
+ GCC_OPTIMIZATION_LEVEL = s;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "";
+ HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/../contrib/include";
+ INSTALL_PATH = /usr/local/lib;
+ OTHER_CFLAGS = (
+ "-D__LIBMEDIAFORK__",
+ "-DSYS_DARWIN",
+ "$(OTHER_CFLAGS_QUOTED_1)",
+ "-DHB_BUILD=2006022400",
+ "-DUSE_PTHREAD",
+ );
+ OTHER_CFLAGS_QUOTED_1 = "-DHB_VERSION=\\\"0.7.1\\\"";
+ OTHER_LDFLAGS = "";
+ PER_ARCH_CFLAGS_ppc = "-DWORDS_BIGENDIAN";
+ PREBINDING = NO;
+ PRODUCT_NAME = mediafork;
+ SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+ ZERO_LINK = NO;
+ };
+ name = Development;
+ };
+ 0DFF0B750B6BC70400549488 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/../libmediafork";
+ COPY_PHASE_STRIP = YES;
+ GCC_ENABLE_FIX_AND_CONTINUE = NO;
+ GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+ GCC_MODEL_TUNING = G5;
+ GCC_OPTIMIZATION_LEVEL = s;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "";
+ HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/../contrib/include";
+ INSTALL_PATH = /usr/local/lib;
+ OTHER_CFLAGS = (
+ "-D__LIBMEDIAFORK__",
+ "-DSYS_DARWIN",
+ "$(OTHER_CFLAGS_QUOTED_1)",
+ "-DHB_BUILD=2006022400",
+ "-DUSE_PTHREAD",
+ );
+ OTHER_CFLAGS_QUOTED_1 = "-DHB_VERSION=\\\"0.7.1\\\"";
+ OTHER_LDFLAGS = "";
+ PER_ARCH_CFLAGS_ppc = "-DWORDS_BIGENDIAN";
+ PREBINDING = NO;
+ PRODUCT_NAME = mediafork;
+ SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+ ZERO_LINK = NO;
+ };
+ name = Deployment;
+ };
+ 0DFF0B760B6BC70400549488 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/../libmediafork";
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+ GCC_MODEL_TUNING = G5;
+ GCC_OPTIMIZATION_LEVEL = s;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "";
+ HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/../contrib/include";
+ INSTALL_PATH = /usr/local/lib;
+ OTHER_CFLAGS = (
+ "-D__LIBMEDIAFORK__",
+ "-DSYS_DARWIN",
+ "$(OTHER_CFLAGS_QUOTED_1)",
+ "-DHB_BUILD=2006022400",
+ "-DUSE_PTHREAD",
+ );
+ OTHER_CFLAGS_QUOTED_1 = "-DHB_VERSION=\\\"0.7.1\\\"";
+ OTHER_LDFLAGS = "";
+ PER_ARCH_CFLAGS_ppc = "-DWORDS_BIGENDIAN";
+ PREBINDING = NO;
+ PRODUCT_NAME = mediafork;
+ SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+ ZERO_LINK = NO;
+ };
+ name = Default;
+ };
+ 0DFF0C0D0B6BCEE000549488 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CONFIGURATION_BUILD_DIR = ..;
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+ GCC_MODEL_TUNING = G5;
+ GCC_OPTIMIZATION_LEVEL = s;
+ HEADER_SEARCH_PATHS = ../libmediafork;
+ INSTALL_PATH = /usr/local/bin;
+ LIBRARY_SEARCH_PATHS = "";
+ OTHER_CFLAGS = "";
+ OTHER_LDFLAGS = (
+ ../libmediafork/libmediafork.a,
+ ../contrib/lib/libmp4v2.a,
+ ../contrib/lib/liba52.a,
+ ../contrib/lib/libavformat.a,
+ ../contrib/lib/libavcodec.a,
+ ../contrib/lib/libavutil.a,
+ ../contrib/lib/libdvdread.a,
+ ../contrib/lib/libdvdcss.a,
+ ../contrib/lib/libfaac.a,
+ ../contrib/lib/libmp3lame.a,
+ ../contrib/lib/libmpeg2.a,
+ ../contrib/lib/libvorbis.a,
+ ../contrib/lib/libvorbisenc.a,
+ ../contrib/lib/libogg.a,
+ ../contrib/lib/libsamplerate.a,
+ ../contrib/lib/libx264.a,
+ ../contrib/lib/libxvidcore.a,
+ "-lz",
+ );
+ PREBINDING = NO;
+ PRODUCT_NAME = MediaForkCLI;
+ SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+ ZERO_LINK = NO;
+ };
+ name = Development;
+ };
+ 0DFF0C0E0B6BCEE000549488 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CONFIGURATION_BUILD_DIR = ..;
+ COPY_PHASE_STRIP = YES;
+ GCC_ENABLE_FIX_AND_CONTINUE = NO;
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+ GCC_MODEL_TUNING = G5;
+ GCC_OPTIMIZATION_LEVEL = s;
+ HEADER_SEARCH_PATHS = ../libmediafork;
+ INSTALL_PATH = /usr/local/bin;
+ LIBRARY_SEARCH_PATHS = "";
+ OTHER_CFLAGS = "";
+ OTHER_LDFLAGS = (
+ ../libmediafork/libmediafork.a,
+ ../contrib/lib/libmp4v2.a,
+ ../contrib/lib/liba52.a,
+ ../contrib/lib/libavformat.a,
+ ../contrib/lib/libavcodec.a,
+ ../contrib/lib/libavutil.a,
+ ../contrib/lib/libdvdread.a,
+ ../contrib/lib/libdvdcss.a,
+ ../contrib/lib/libfaac.a,
+ ../contrib/lib/libmp3lame.a,
+ ../contrib/lib/libmpeg2.a,
+ ../contrib/lib/libvorbis.a,
+ ../contrib/lib/libvorbisenc.a,
+ ../contrib/lib/libogg.a,
+ ../contrib/lib/libsamplerate.a,
+ ../contrib/lib/libx264.a,
+ ../contrib/lib/libxvidcore.a,
+ "-lz",
+ );
+ PREBINDING = NO;
+ PRODUCT_NAME = MediaForkCLI;
+ SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+ ZERO_LINK = NO;
+ };
+ name = Deployment;
+ };
+ 0DFF0C0F0B6BCEE000549488 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CONFIGURATION_BUILD_DIR = ..;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_MODEL_TUNING = G5;
+ GCC_OPTIMIZATION_LEVEL = s;
+ HEADER_SEARCH_PATHS = ../libmediafork;
+ INSTALL_PATH = /usr/local/bin;
+ LIBRARY_SEARCH_PATHS = "";
+ OTHER_CFLAGS = "";
+ OTHER_LDFLAGS = (
+ ../libmediafork/libmediafork.a,
+ ../contrib/lib/libmp4v2.a,
+ ../contrib/lib/liba52.a,
+ ../contrib/lib/libavformat.a,
+ ../contrib/lib/libavcodec.a,
+ ../contrib/lib/libavutil.a,
+ ../contrib/lib/libdvdread.a,
+ ../contrib/lib/libdvdcss.a,
+ ../contrib/lib/libfaac.a,
+ ../contrib/lib/libmp3lame.a,
+ ../contrib/lib/libmpeg2.a,
+ ../contrib/lib/libvorbis.a,
+ ../contrib/lib/libvorbisenc.a,
+ ../contrib/lib/libogg.a,
+ ../contrib/lib/libsamplerate.a,
+ ../contrib/lib/libx264.a,
+ ../contrib/lib/libxvidcore.a,
+ "-lz",
+ );
+ PREBINDING = NO;
+ PRODUCT_NAME = MediaForkCLI;
+ SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+ ZERO_LINK = NO;
+ };
+ name = Default;
+ };
+ 4D1EA2DE0993B01100FDC1A2 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+ GCC_MODEL_TUNING = G5;
+ 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;
+ INFOPLIST_FILE = Express.plist;
+ INSTALL_PATH = "$(HOME)/Applications";
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
+ );
+ LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)\"";
+ OTHER_LDFLAGS = (
+ ../libmediafork/libmediafork.a,
+ ../contrib/lib/libmp4v2.a,
+ ../contrib/lib/liba52.a,
+ ../contrib/lib/libavformat.a,
+ ../contrib/lib/libavcodec.a,
+ ../contrib/lib/libavutil.a,
+ ../contrib/lib/libdvdread.a,
+ ../contrib/lib/libdvdcss.a,
+ ../contrib/lib/libfaac.a,
+ ../contrib/lib/libmp3lame.a,
+ ../contrib/lib/libmpeg2.a,
+ ../contrib/lib/libvorbis.a,
+ ../contrib/lib/libvorbisenc.a,
+ ../contrib/lib/libogg.a,
+ ../contrib/lib/libsamplerate.a,
+ ../contrib/lib/libx264.a,
+ ../contrib/lib/libxvidcore.a,
+ );
+ PREBINDING = NO;
+ PRODUCT_NAME = "Instant MediaFork";
+ SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+ WRAPPER_EXTENSION = app;
+ ZERO_LINK = NO;
+ };
+ name = Development;
+ };
+ 4D1EA2DF0993B01100FDC1A2 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = YES;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+ GCC_MODEL_TUNING = G5;
+ 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;
+ INFOPLIST_FILE = Express.plist;
+ INSTALL_PATH = "$(HOME)/Applications";
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
+ );
+ LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)\"";
+ OTHER_LDFLAGS = (
+ ../libmediafork/libmediafork.a,
+ ../contrib/lib/libmp4v2.a,
+ ../contrib/lib/liba52.a,
+ ../contrib/lib/libavformat.a,
+ ../contrib/lib/libavcodec.a,
+ ../contrib/lib/libavutil.a,
+ ../contrib/lib/libdvdread.a,
+ ../contrib/lib/libdvdcss.a,
+ ../contrib/lib/libfaac.a,
+ ../contrib/lib/libmp3lame.a,
+ ../contrib/lib/libmpeg2.a,
+ ../contrib/lib/libvorbis.a,
+ ../contrib/lib/libvorbisenc.a,
+ ../contrib/lib/libogg.a,
+ ../contrib/lib/libsamplerate.a,
+ ../contrib/lib/libx264.a,
+ ../contrib/lib/libxvidcore.a,
+ );
+ PREBINDING = NO;
+ PRODUCT_NAME = "Instant MediaFork";
+ SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+ WRAPPER_EXTENSION = app;
+ ZERO_LINK = NO;
+ };
+ name = Deployment;
+ };
+ 4D1EA2E00993B01100FDC1A2 /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_MODEL_TUNING = G5;
+ 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;
+ INFOPLIST_FILE = Express.plist;
+ INSTALL_PATH = "$(HOME)/Applications";
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
+ );
+ LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)\"";
+ OTHER_LDFLAGS = (
+ ../libmediafork/libmediafork.a,
+ ../contrib/lib/libmp4v2.a,
+ ../contrib/lib/liba52.a,
+ ../contrib/lib/libavformat.a,
+ ../contrib/lib/libavcodec.a,
+ ../contrib/lib/libavutil.a,
+ ../contrib/lib/libdvdread.a,
+ ../contrib/lib/libdvdcss.a,
+ ../contrib/lib/libfaac.a,
+ ../contrib/lib/libmp3lame.a,
+ ../contrib/lib/libmpeg2.a,
+ ../contrib/lib/libvorbis.a,
+ ../contrib/lib/libvorbisenc.a,
+ ../contrib/lib/libogg.a,
+ ../contrib/lib/libsamplerate.a,
+ ../contrib/lib/libx264.a,
+ ../contrib/lib/libxvidcore.a,
+ );
+ PREBINDING = NO;
+ PRODUCT_NAME = "Instant MediaFork";
+ SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+ WRAPPER_EXTENSION = app;
+ ZERO_LINK = NO;
+ };
+ name = Default;
+ };
+ 4D4E7BC1087804870051572B /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = NO;
+ CURRENT_PROJECT_VERSION = 0.7.1a2;
+ 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;
+ LIBRARY_SEARCH_PATHS = "";
+ OTHER_CFLAGS = "";
+ OTHER_LDFLAGS = (
+ ../libmediafork/libmediafork.a,
+ ../contrib/lib/libmp4v2.a,
+ ../contrib/lib/liba52.a,
+ ../contrib/lib/libavformat.a,
+ ../contrib/lib/libavcodec.a,
+ ../contrib/lib/libavutil.a,
+ ../contrib/lib/libdvdread.a,
+ ../contrib/lib/libdvdcss.a,
+ ../contrib/lib/libfaac.a,
+ ../contrib/lib/libmp3lame.a,
+ ../contrib/lib/libmpeg2.a,
+ ../contrib/lib/libvorbis.a,
+ ../contrib/lib/libvorbisenc.a,
+ ../contrib/lib/libogg.a,
+ ../contrib/lib/libsamplerate.a,
+ ../contrib/lib/libx264.a,
+ ../contrib/lib/libxvidcore.a,
+ );
+ PRODUCT_NAME = MediaFork;
+ SECTORDER_FLAGS = "";
+ WARNING_CFLAGS = (
+ "-Wmost",
+ "-Wno-four-char-constants",
+ "-Wno-unknown-pragmas",
+ );
+ WRAPPER_EXTENSION = app;
+ ZERO_LINK = NO;
+ };
+ name = Development;
+ };
+ 4D4E7BC2087804870051572B /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = YES;
+ CURRENT_PROJECT_VERSION = 0.7.1a2;
+ 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;
+ LIBRARY_SEARCH_PATHS = "";
+ OTHER_CFLAGS = "";
+ OTHER_LDFLAGS = (
+ ../libmediafork/libmediafork.a,
+ ../contrib/lib/libmp4v2.a,
+ ../contrib/lib/liba52.a,
+ ../contrib/lib/libavformat.a,
+ ../contrib/lib/libavcodec.a,
+ ../contrib/lib/libavutil.a,
+ ../contrib/lib/libdvdread.a,
+ ../contrib/lib/libdvdcss.a,
+ ../contrib/lib/libfaac.a,
+ ../contrib/lib/libmp3lame.a,
+ ../contrib/lib/libmpeg2.a,
+ ../contrib/lib/libvorbis.a,
+ ../contrib/lib/libvorbisenc.a,
+ ../contrib/lib/libogg.a,
+ ../contrib/lib/libsamplerate.a,
+ ../contrib/lib/libx264.a,
+ ../contrib/lib/libxvidcore.a,
+ );
+ PRODUCT_NAME = MediaFork;
+ SECTORDER_FLAGS = "";
+ WARNING_CFLAGS = (
+ "-Wmost",
+ "-Wno-four-char-constants",
+ "-Wno-unknown-pragmas",
+ );
+ WRAPPER_EXTENSION = app;
+ ZERO_LINK = NO;
+ };
+ name = Deployment;
+ };
+ 4D4E7BC3087804870051572B /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CURRENT_PROJECT_VERSION = 0.7.1a2;
+ FRAMEWORK_SEARCH_PATHS = "";
+ GCC_OPTIMIZATION_LEVEL = s;
+ GCC_TREAT_WARNINGS_AS_ERRORS = NO;
+ HEADER_SEARCH_PATHS = ../libmediafork;
+ INFOPLIST_FILE = MediaFork.plist;
+ LIBRARY_SEARCH_PATHS = "";
+ OTHER_CFLAGS = "";
+ OTHER_LDFLAGS = (
+ ../libmediafork/libmediafork.a,
+ ../contrib/lib/libmp4v2.a,
+ ../contrib/lib/liba52.a,
+ ../contrib/lib/libavformat.a,
+ ../contrib/lib/libavcodec.a,
+ ../contrib/lib/libavutil.a,
+ ../contrib/lib/libdvdread.a,
+ ../contrib/lib/libdvdcss.a,
+ ../contrib/lib/libfaac.a,
+ ../contrib/lib/libmp3lame.a,
+ ../contrib/lib/libmpeg2.a,
+ ../contrib/lib/libvorbis.a,
+ ../contrib/lib/libvorbisenc.a,
+ ../contrib/lib/libogg.a,
+ ../contrib/lib/libsamplerate.a,
+ ../contrib/lib/libx264.a,
+ ../contrib/lib/libxvidcore.a,
+ );
+ PRODUCT_NAME = MediaFork;
+ SECTORDER_FLAGS = "";
+ WARNING_CFLAGS = (
+ "-Wmost",
+ "-Wno-four-char-constants",
+ "-Wno-unknown-pragmas",
+ );
+ WRAPPER_EXTENSION = app;
+ };
+ name = Default;
+ };
+ 4D4E7BC5087804870051572B /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ MACOSX_DEPLOYMENT_TARGET = 10.3;
+ SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+ };
+ name = Development;
+ };
+ 4D4E7BC6087804870051572B /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ MACOSX_DEPLOYMENT_TARGET = 10.3;
+ SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+ };
+ name = Deployment;
+ };
+ 4D4E7BC7087804870051572B /* Default */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ MACOSX_DEPLOYMENT_TARGET = 10.3;
+ SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+ };
+ name = Default;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 0D096E650B707D5800A845D4 /* Build configuration list for PBXNativeTarget "libmediafork dlib" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 0D096E660B707D5800A845D4 /* Development */,
+ 0D096E670B707D5800A845D4 /* Deployment */,
+ 0D096E680B707D5800A845D4 /* Default */,
+ 0D096E690B707D5800A845D4 /* UB */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 0DFF0B730B6BC70400549488 /* Build configuration list for PBXNativeTarget "libmediafork" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 0DFF0B740B6BC70400549488 /* Development */,
+ 0DFF0B750B6BC70400549488 /* Deployment */,
+ 0DFF0B760B6BC70400549488 /* Default */,
+ 0D88F56B0B6CDCD400F81F26 /* UB */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 0DFF0C0C0B6BCEE000549488 /* Build configuration list for PBXNativeTarget "MediaForkCLI" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 0DFF0C0D0B6BCEE000549488 /* Development */,
+ 0DFF0C0E0B6BCEE000549488 /* Deployment */,
+ 0DFF0C0F0B6BCEE000549488 /* Default */,
+ 0D88F56E0B6CDCD400F81F26 /* UB */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 4D1EA2DD0993B01100FDC1A2 /* Build configuration list for PBXNativeTarget "Instant MediaFork" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 4D1EA2DE0993B01100FDC1A2 /* Development */,
+ 4D1EA2DF0993B01100FDC1A2 /* Deployment */,
+ 4D1EA2E00993B01100FDC1A2 /* Default */,
+ 0D88F56D0B6CDCD400F81F26 /* UB */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 4D4E7BC0087804870051572B /* Build configuration list for PBXNativeTarget "MediaFork" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 4D4E7BC1087804870051572B /* Development */,
+ 4D4E7BC2087804870051572B /* Deployment */,
+ 4D4E7BC3087804870051572B /* Default */,
+ 0D88F56C0B6CDCD400F81F26 /* UB */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+ 4D4E7BC4087804870051572B /* Build configuration list for PBXProject "MediaFork" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 4D4E7BC5087804870051572B /* Development */,
+ 4D4E7BC6087804870051572B /* Deployment */,
+ 4D4E7BC7087804870051572B /* Default */,
+ 0D88F56F0B6CDCD400F81F26 /* UB */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Default;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
+}
diff --git a/macosx/PictureController.h b/macosx/PictureController.h
index 3a279e133..7f750f031 100644
--- a/macosx/PictureController.h
+++ b/macosx/PictureController.h
@@ -6,7 +6,7 @@
#include <Cocoa/Cocoa.h>
-#include "hb.h"
+#include "mediafork.h"
#include "PictureGLView.h"
@interface PictureController : NSObject
@@ -37,10 +37,15 @@
IBOutlet NSTextField * fCropRightField;
IBOutlet NSStepper * fCropRightStepper;
IBOutlet NSButton * fDeinterlaceCheck;
+ IBOutlet NSButton * fPARCheck;
IBOutlet NSButton * fEffectsCheck;
IBOutlet NSButton * fPrevButton;
IBOutlet NSButton * fNextButton;
IBOutlet NSTextField * fInfoField;
+
+ int MaxOutputWidth;
+ int MaxOutputHeight;
+
}
- (void) SetHandle: (hb_handle_t *) handle;
diff --git a/macosx/PictureController.mm b/macosx/PictureController.mm
index f4e9d51d9..2ed27ab54 100644
--- a/macosx/PictureController.mm
+++ b/macosx/PictureController.mm
@@ -73,6 +73,7 @@ static int GetAlignedSize( int size )
fTexBuf[1] = (uint8_t *) realloc( fTexBuf[1], fTexBufSize );
}
+
[fWidthStepper setMaxValue: title->width];
[fWidthStepper setIntValue: job->width];
[fWidthField setIntValue: job->width];
@@ -85,7 +86,10 @@ static int GetAlignedSize( int size )
[fCropLeftStepper setMaxValue: title->width/2-2];
[fCropRightStepper setMaxValue: title->width/2-2];
[fDeinterlaceCheck setState: job->deinterlace ? NSOnState : NSOffState];
+ [fPARCheck setState: job->pixel_ratio ? NSOnState : NSOffState];
+ MaxOutputWidth = title->width;
+ MaxOutputHeight = title->height;
fPicture = 0;
[self SettingsChanged: nil];
}
@@ -127,10 +131,28 @@ static int GetAlignedSize( int size )
[fPictureGLView Display: anim buffer1: fTexBuf[0]
buffer2: fTexBuf[1] width: ( fTitle->width + 2 )
height: ( fTitle->height + 2 )];
-
- [fInfoField setStringValue: [NSString stringWithFormat:
- @"Source %dx%d, output %dx%d", fTitle->width, fTitle->height,
- fTitle->job->width, fTitle->job->height]];
+
+ /* Set the Output Display below the Preview Picture*/
+ if (fTitle->job->pixel_ratio == 1)
+ {
+ int titlewidth = fTitle->width-fTitle->job->crop[2]-fTitle->job->crop[3];
+ int arpwidth = fTitle->job->pixel_aspect_width;
+ int arpheight = fTitle->job->pixel_aspect_height;
+ int displayparwidth = titlewidth * arpwidth / arpheight;
+ int displayparheight = fTitle->height-fTitle->job->crop[0]-fTitle->job->crop[1];
+ [fInfoField setStringValue: [NSString stringWithFormat:
+ @"Source: %dx%d, Output: %dx%d, Anamorphic: %dx%d", fTitle->width, fTitle->height,
+ titlewidth, fTitle->height-fTitle->job->crop[0]-fTitle->job->crop[1], displayparwidth,
+ fTitle->height-fTitle->job->crop[0]-fTitle->job->crop[1]]];
+
+
+ }
+ else
+ {
+ [fInfoField setStringValue: [NSString stringWithFormat:
+ @"Source: %dx%d, Output: %dx%d", fTitle->width, fTitle->height,
+ fTitle->job->width, fTitle->job->height]];
+ }
[fPrevButton setEnabled: ( fPicture > 0 )];
[fNextButton setEnabled: ( fPicture < 9 )];
@@ -139,11 +161,42 @@ static int GetAlignedSize( int size )
- (IBAction) SettingsChanged: (id) sender
{
hb_job_t * job = fTitle->job;
+
+ if ([fPARCheck state] == 1 )
+ {
+ [fWidthStepper setIntValue: MaxOutputWidth];
+ [fWidthField setIntValue: MaxOutputWidth];
+
+ [fHeightStepper setIntValue: fTitle->height-fTitle->job->crop[0]-fTitle->job->crop[1]];
+ [fHeightField setIntValue: fTitle->height-fTitle->job->crop[0]-fTitle->job->crop[1]];
+ [fRatioCheck setState: 0];
+ [fWidthStepper setEnabled: NO];
+ [fWidthField setEnabled: NO];
+ [fHeightStepper setEnabled: NO];
+ [fHeightField setEnabled: NO];
+ [fRatioCheck setEnabled: NO];
+
+
+ }
+ else
+ {
+ [fWidthStepper setEnabled: YES];
+ [fWidthField setEnabled: YES];
+ [fHeightStepper setEnabled: YES];
+ [fHeightField setEnabled: YES];
+ [fRatioCheck setEnabled: YES];
+ }
+
+
+
job->width = [fWidthStepper intValue];
job->height = [fHeightStepper intValue];
job->keep_ratio = ( [fRatioCheck state] == NSOnState );
job->deinterlace = ( [fDeinterlaceCheck state] == NSOnState );
+ job->pixel_ratio = ( [fPARCheck state] == NSOnState );
+
+
bool autocrop = ( [fCropMatrix selectedRow] == 0 );
[fCropTopStepper setEnabled: !autocrop];
@@ -222,7 +275,8 @@ static int GetAlignedSize( int size )
- (IBAction) ClosePanel: (id) sender
{
- [NSApp stopModal];
+
+ [NSApp stopModal];
}
@end
diff --git a/macosx/PictureGLView.h b/macosx/PictureGLView.h
index 229d822ac..518ba1268 100644
--- a/macosx/PictureGLView.h
+++ b/macosx/PictureGLView.h
@@ -6,7 +6,7 @@
#include <Cocoa/Cocoa.h>
-#include "hb.h"
+#include "mediafork.h"
#define HB_ANIMATE_NONE 1
#define HB_ANIMATE_BACKWARD 2
diff --git a/macosx/PrefsController.h b/macosx/PrefsController.h
index 46ff48b3b..a9c198c55 100644
--- a/macosx/PrefsController.h
+++ b/macosx/PrefsController.h
@@ -7,6 +7,13 @@
IBOutlet NSPanel * fPanel;
IBOutlet NSButton * fUpdateCheck;
IBOutlet NSComboBox * fdefaultlanguage;
+ IBOutlet NSButton * fFileExtItunes;
+ IBOutlet NSButton * fDefCrf;
+ IBOutlet NSButton * fDefDeinterlace;
+ IBOutlet NSButton * fDefPicSizeAutoSetipod;
+ IBOutlet NSButton * fDefPixelRatio;
+
+
}
- (IBAction) OpenPanel: (id) sender;
diff --git a/macosx/PrefsController.m b/macosx/PrefsController.m
index a4622ae51..6f98400e5 100644
--- a/macosx/PrefsController.m
+++ b/macosx/PrefsController.m
@@ -8,17 +8,32 @@
NSDictionary * appDefaults;
/* Unless the user specified otherwise, default is to check
- for update */
+ for update fDefPicSizeAutoSetipod*/
defaults = [NSUserDefaults standardUserDefaults];
appDefaults = [NSDictionary dictionaryWithObject:@"YES"
forKey:@"CheckForUpdates"];
appDefaults = [NSDictionary dictionaryWithObject:@"English"
forKey:@"DefaultLanguage"];
+ appDefaults = [NSDictionary dictionaryWithObject:@"NO"
+ forKey:@"DefaultMpegName"];
+ appDefaults = [NSDictionary dictionaryWithObject:@"NO"
+ forKey:@"DefaultCrf"];
+ appDefaults = [NSDictionary dictionaryWithObject:@"NO"
+ forKey:@"DefaultDeinterlaceOn"];
+ appDefaults = [NSDictionary dictionaryWithObject:@"YES"
+ forKey:@"DefaultPicSizeAutoiPod"];
+ appDefaults = [NSDictionary dictionaryWithObject:@"NO"
+ forKey:@"PixelRatio"];
+
+
[defaults registerDefaults: appDefaults];
- /* Check or uncheck according to the preferences */
+ /* fUpdateCheck Check or uncheck according to the preferences */
[fUpdateCheck setState: [defaults boolForKey:@"CheckForUpdates"] ?
NSOnState : NSOffState];
+
+
+
// Fill the languages combobox
[fdefaultlanguage removeAllItems];
[fdefaultlanguage addItemWithObjectValue: @"Afar"];
@@ -185,10 +200,37 @@
[fdefaultlanguage addItemWithObjectValue: @"Yoruba"];
[fdefaultlanguage addItemWithObjectValue: @"Zhuang"];
[fdefaultlanguage addItemWithObjectValue: @"Zulu"];
+ [fdefaultlanguage setStringValue:@"English"];
+
+ /* If a Default Language is selected then write it otherwise let English as default */
- [fdefaultlanguage setStringValue:[defaults stringForKey:@"DefaultLanguage"]];
- [fdefaultlanguage selectItemWithObjectValue:[defaults stringForKey:@"DefaultLanguage"]];
+ if ([defaults stringForKey:@"DefaultLanguage"]!=NULL)
+ {
+ [fdefaultlanguage setStringValue:[defaults stringForKey:@"DefaultLanguage"]];
+ }
+ [fdefaultlanguage selectItemWithObjectValue:[defaults stringForKey:@"DefaultLanguage"]];
+
+
+
+
+ /* fFileExtItunes Check or uncheck according to the preferences */
+ [fFileExtItunes setState: [defaults boolForKey:@"DefaultMpegName"] ?
+ NSOnState : NSOffState];
+
+ /* fDefCrf Check or uncheck according to the preferences*/
+ [fDefCrf setState: [defaults boolForKey:@"DefaultCrf"] ?
+ 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*/
+ [fDefPicSizeAutoSetipod setState: [defaults boolForKey:@"DefaultPicSizeAutoiPod"] ?
+ NSOnState : NSOffState];
+ /* fDefPixelRatio */
+ [fDefPixelRatio setState: [defaults boolForKey:@"PixelRatio"] ?
+ NSOnState : NSOffState];
}
@@ -207,7 +249,8 @@
{
NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
- if( [fUpdateCheck state] == NSOnState )
+ /* Check Update CheckForUpdates Set */
+ if( [fUpdateCheck state] == NSOnState )
{
[defaults setObject:@"YES" forKey:@"CheckForUpdates"];
}
@@ -216,8 +259,68 @@
[defaults setObject:@"NO" forKey:@"CheckForUpdates"];
}
+ /* Preferred Language Combobox Set */
+
[defaults setObject:[fdefaultlanguage objectValueOfSelectedItem] forKey:@"DefaultLanguage"];
+
+ /* File Extension Itunes Set */
+
+ if( [fFileExtItunes state] == NSOnState )
+ {
+ [defaults setObject:@"YES" forKey:@"DefaultMpegName"];
+ }
+ else
+ {
+ [defaults setObject:@"NO" forKey:@"DefaultMpegName"];
+ }
+
+ /* Use CRF for constant mode */
+
+ if( [fDefCrf state] == NSOnState )
+ {
+ [defaults setObject:@"YES" forKey:@"DefaultCrf"];
+ }
+ else
+ {
+ [defaults setObject:@"NO" forKey:@"DefaultCrf"];
+ }
+
+ /* Use Deinterlace on as a default*/
+
+ if( [fDefDeinterlace state] == NSOnState )
+ {
+ [defaults setObject:@"YES" forKey:@"DefaultDeinterlaceOn"];
+ }
+ else
+ {
+ [defaults setObject:@"NO" forKey:@"DefaultDeinterlaceOn"];
+ }
+
+ /* Use Picture size set to 640 upon x264 (iPod) Selection as a default*/
+
+ if( [fDefPicSizeAutoSetipod state] == NSOnState )
+ {
+ [defaults setObject:@"YES" forKey:@"DefaultPicSizeAutoiPod"];
+ }
+ else
+ {
+ [defaults setObject:@"NO" forKey:@"DefaultPicSizeAutoiPod"];
+ }
+
+ /* Use Pixel Ratio*/
+
+ if( [fDefPixelRatio state] == NSOnState )
+ {
+ [defaults setObject:@"YES" forKey:@"PixelRatio"];
+ }
+ else
+ {
+ [defaults setObject:@"NO" forKey:@"PixelRatio"];
+ }
+
+
+
}
@end
diff --git a/macosx/QueueController.h b/macosx/QueueController.h
index 635adc7b8..94feab4fb 100644
--- a/macosx/QueueController.h
+++ b/macosx/QueueController.h
@@ -2,7 +2,7 @@
#include <Cocoa/Cocoa.h>
-#include "hb.h"
+#include "mediafork.h"
@interface QueueController : NSObject
{
diff --git a/macosx/ScanController.h b/macosx/ScanController.h
index 47a7f6132..63c50b65c 100644
--- a/macosx/ScanController.h
+++ b/macosx/ScanController.h
@@ -1,4 +1,4 @@
-/* $Id: ScanController.h,v 1.4 2005/03/21 12:37:32 titer Exp $
+/* $Id: ScanController.h,v 1.4 2005/03/21 12:37:32 titer Exp $
This file is part of the HandBrake source code.
Homepage: <http://handbrake.m0k.org/>.
@@ -6,7 +6,7 @@
#include <Cocoa/Cocoa.h>
-#include "hb.h"
+#include "mediafork.h"
@class DriveDetector;
@interface ScanController : NSObject
{
diff --git a/macosx/ScanController.mm b/macosx/ScanController.mm
index b38d2b999..9ce44f8fe 100644
--- a/macosx/ScanController.mm
+++ b/macosx/ScanController.mm
@@ -1,4 +1,4 @@
-/* $Id: ScanController.mm,v 1.10 2005/04/27 21:05:24 titer Exp $
+/* $Id: ScanController.mm,v 1.10 2005/04/27 21:05:24 titer Exp $
This file is part of the HandBrake source code.
Homepage: <http://handbrake.m0k.org/>.
@@ -80,8 +80,8 @@
[fFolderField setEnabled: 1];
[fBrowseButton setEnabled: 1];
[fOpenButton setEnabled: 0];
- [fBrowseButton setEnabled: 0];
- //fOpenButton
+ [fBrowseButton setEnabled: 1];
+ [fMatrix selectCell: fFolderCell];
}
@@ -163,8 +163,9 @@
}
else
{
- [fMatrix selectCell: fFolderCell];
+ [fMatrix selectCell: fFolderCell];
[fDetectedCell setEnabled: NO];
+ [fMatrix selectCellAtRow:1 column:0];
}
/* Enable controls related to the current choice */
diff --git a/macosx/i18n/Localizable.strings b/macosx/i18n/Localizable.strings
index d2415f302..ed2dec69b 100644
--- a/macosx/i18n/Localizable.strings
+++ b/macosx/i18n/Localizable.strings
Binary files differ
diff --git a/macosx/i18n/de.strings b/macosx/i18n/de.strings
index c00468936..2066572a0 100644
--- a/macosx/i18n/de.strings
+++ b/macosx/i18n/de.strings
Binary files differ
diff --git a/macosx/i18n/es.strings b/macosx/i18n/es.strings
index 1bbce67e8..94c6cbe74 100644
--- a/macosx/i18n/es.strings
+++ b/macosx/i18n/es.strings
Binary files differ
diff --git a/macosx/i18n/fr.strings b/macosx/i18n/fr.strings
index a2841c40e..198638e51 100644
--- a/macosx/i18n/fr.strings
+++ b/macosx/i18n/fr.strings
Binary files differ
diff --git a/macosx/i18n/it.strings b/macosx/i18n/it.strings
index 115eab928..de3dbf736 100644
--- a/macosx/i18n/it.strings
+++ b/macosx/i18n/it.strings
Binary files differ
diff --git a/macosx/i18n/ja.strings b/macosx/i18n/ja.strings
index fc457a7a6..e5162f58d 100644
--- a/macosx/i18n/ja.strings
+++ b/macosx/i18n/ja.strings
Binary files differ
diff --git a/macosx/i18n/nl.strings b/macosx/i18n/nl.strings
index 71ad84e66..7d5575526 100644
--- a/macosx/i18n/nl.strings
+++ b/macosx/i18n/nl.strings
Binary files differ
diff --git a/macosx/i18n/pl.strings b/macosx/i18n/pl.strings
index 8713a365a..f022f65d1 100644
--- a/macosx/i18n/pl.strings
+++ b/macosx/i18n/pl.strings
Binary files differ
diff --git a/macosx/i18n/pt.strings b/macosx/i18n/pt.strings
index a9048acdf..6c9e4ef95 100644
--- a/macosx/i18n/pt.strings
+++ b/macosx/i18n/pt.strings
@@ -173,7 +173,7 @@
"Video bitrate is too low." = "Video bitrate e muito baixo.";
/* No comment provided by engineer. */
-"Welcome to HandBrake" = "Bemvindo ao HandBrake";
+"Welcome to MediaFork" = "Bemvindo ao MediaFork";
/* No comment provided by engineer. */
"Yes" = "Sim";
diff --git a/macosx/i18n/ru.strings b/macosx/i18n/ru.strings
index cc6080f7c..118746733 100644
--- a/macosx/i18n/ru.strings
+++ b/macosx/i18n/ru.strings
Binary files differ
diff --git a/macosx/localize.sh b/macosx/localize.sh
new file mode 100755
index 000000000..27c423caa
--- /dev/null
+++ b/macosx/localize.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+# This script localize the built application
+ cd macosx/i18n/
+export LNG=`ls *strings | sed 's/.strings//g' | sed 's/Localizable//g'`
+cd ../../$1/Contents/Resources
+for l in $LNG
+do
+ cp -r English.lproj $l.lproj
+ cp ../../../macosx/i18n/$l.strings $l.lproj/Localizable.strings
+done
diff --git a/test/BUILDSHARED b/test/BUILDSHARED
new file mode 100644
index 000000000..a2f015555
--- /dev/null
+++ b/test/BUILDSHARED
@@ -0,0 +1,36 @@
+To test the MediaFork 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
+
+Validate that the test Binary is really using the shared library
+
+otool -L test
+
+------------------------------------------------------------------------
+
+To test the Mediafork .so on Linux issue the following commands:
+================================================================
+
+cp ../libmediafork/libmediafork.so .
+gcc -I../libmediafork -L. -lmediafork test.c -o test -lz -lpthread
+
+Validate that the test Binary is really using the shared library
+
+ldd test
+
+------------------------------------------------------------------------
+
+To test the MediaFork .dll on cygwin issue the following commands:
+==================================================================
+
+cp ../libmediafork/libmediafork.dll .
+gcc -I../libmediafork -L. -lmediafork test.c -o test -lz -lpthread
+
+The resulting binary test should depend on the cygwin dll and the mediafork dll.
+
+I works like that but wasn't tested yet outside of cygwin.
+
+------------------------------------------------------------------------
diff --git a/test/Makefile b/test/Makefile
new file mode 100644
index 000000000..3e7a65971
--- /dev/null
+++ b/test/Makefile
@@ -0,0 +1,29 @@
+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
+else
+ LIBS = a52 avformat avcodec avutil dvdread dvdcss faac mp3lame mpeg2 vorbis vorbisenc ogg samplerate x264 xvidcore mp4v2
+endif
+
+all: ../MediaForkCLI
+
+CFLAGS += -I../libmediafork
+CXXFLAGS += -I../libmediafork
+LIBS2 = ../libmediafork/libmediafork.a $(LIBS:%=../contrib/lib/lib%.a)
+LDFLAGS += $(LIBS2)
+
+../MediaForkCLI: 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 "Compile line for $@ was:"; echo $$CMD; false )
+
+
+clean:
+ @echo "Clean MediaForkCLI"
+ @$(RM) ../MediaForkCLI
+ @$(RM) ../MediaForkCLI.exe
+ @$(RM) *.o
+
diff --git a/test/fakexcode.cpp b/test/fakexcode.cpp
new file mode 100644
index 000000000..d3782be7a
--- /dev/null
+++ b/test/fakexcode.cpp
@@ -0,0 +1,3 @@
+/*
+ * Force Xcode to use g++
+ */
diff --git a/test/test.c b/test/test.c
index dc66aa6f4..1d9781c49 100644
--- a/test/test.c
+++ b/test/test.c
@@ -10,7 +10,7 @@
#include <time.h>
#include <unistd.h>
-#include "hb.h"
+#include "mediafork.h"
/* Options */
static int debug = HB_DEBUG_NONE;
@@ -39,6 +39,7 @@ static int size = 0;
static int abitrate = 0;
static int mux = 0;
static int acodec = 0;
+static int pixelratio = 0;
static int chapter_start = 0;
static int chapter_end = 0;
static int crf = 0;
@@ -71,7 +72,7 @@ int main( int argc, char ** argv )
h = hb_init( debug, update );
/* Show version */
- fprintf( stderr, "HandBrake %s (%d) - http://handbrake.m0k.org/\n",
+ fprintf( stderr, "MediaFork %s (%d) - http://mediafork.dynalias.com/\n",
hb_get_version( h ), hb_get_build( h ) );
/* Check for update */
@@ -80,12 +81,12 @@ int main( int argc, char ** argv )
if( ( build = hb_check_update( h, &version ) ) > -1 )
{
fprintf( stderr, "You are using an old version of "
- "HandBrake.\nLatest is %s (build %d).\n", version,
+ "MediaFork.\nLatest is %s (build %d).\n", version,
build );
}
else
{
- fprintf( stderr, "Your version of HandBrake is up to "
+ fprintf( stderr, "Your version of MediaFork is up to "
"date.\n" );
}
hb_close( &h );
@@ -173,7 +174,7 @@ int main( int argc, char ** argv )
if( format ) free( format );
if( audios ) free( audios );
- fprintf( stderr, "HandBrake has exited.\n" );
+ fprintf( stderr, "MediaFork has exited.\n" );
return 0;
}
@@ -182,7 +183,7 @@ static void ShowCommands()
{
fprintf( stderr, "Commands:\n" );
fprintf( stderr, " [h]elp Show this message\n" );
- fprintf( stderr, " [q]uit Exit HBTest\n" );
+ fprintf( stderr, " [q]uit Exit MediaForkCLI\n" );
fprintf( stderr, " [p]ause Pause encoding\n" );
fprintf( stderr, " [r]esume Resume encoding\n" );
}
@@ -310,6 +311,7 @@ static int HandleEvents( hb_handle_t * h )
job->deinterlace = deinterlace;
job->grayscale = grayscale;
+ job->pixel_ratio = pixelratio;
if( width && height )
{
@@ -326,7 +328,7 @@ static int HandleEvents( hb_handle_t * h )
job->height = height;
hb_fix_aspect( job, HB_KEEP_HEIGHT );
}
- else
+ else if( !pixelratio )
{
hb_fix_aspect( job, HB_KEEP_WIDTH );
}
@@ -402,7 +404,7 @@ static int HandleEvents( hb_handle_t * h )
fprintf( stderr, "Calculated bitrate: %d kbps\n",
job->vbitrate );
}
-
+
if( sub )
{
job->subtitle = sub - 1;
@@ -506,7 +508,7 @@ static void ShowHelp()
int i;
fprintf( stderr,
- "Syntax: HBTest [options] -i <device> -o <file>\n"
+ "Syntax: MediaForkCLI [options] -i <device> -o <file>\n"
"\n"
" -h, --help Print help\n"
" -u, --update Check for updates and exit\n"
@@ -534,6 +536,7 @@ static void ShowHelp()
" -2, --two-pass Use two-pass mode\n"
" -d, --deinterlace Deinterlace video\n"
" -g, --grayscale Grayscale encoding\n"
+ " -p, --pixelratio Store pixel aspect ratio in video stream\n"
"\n"
" -r, --rate Set video framerate (" );
for( i = 0; i < hb_video_rates_count; i++ )
@@ -589,6 +592,7 @@ static int ParseOptions( int argc, char ** argv )
{ "two-pass", no_argument, NULL, '2' },
{ "deinterlace", no_argument, NULL, 'd' },
{ "grayscale", no_argument, NULL, 'g' },
+ { "pixelratio", no_argument, NULL, 'p' },
{ "width", required_argument, NULL, 'w' },
{ "height", required_argument, NULL, 'l' },
{ "crop", required_argument, NULL, 'n' },
@@ -608,7 +612,7 @@ static int ParseOptions( int argc, char ** argv )
int c;
c = getopt_long( argc, argv,
- "hvuC:f:i:o:t:c:a:s:e:E:2dgw: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:Q",
long_options, &option_index );
if( c < 0 )
{
@@ -680,6 +684,9 @@ static int ParseOptions( int argc, char ** argv )
case 'g':
grayscale = 1;
break;
+ case 'p':
+ pixelratio = 1;
+ break;
case 'e':
if( !strcasecmp( optarg, "ffmpeg" ) )
{