]> granicus.if.org Git - handbrake/commitdiff
HandBrake 0.6.1
authorhandbrake <no-reply@handbrake.fr>
Sat, 14 Jan 2006 13:32:26 +0000 (13:32 +0000)
committerhandbrake <no-reply@handbrake.fr>
Sat, 14 Jan 2006 13:32:26 +0000 (13:32 +0000)
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@14 b64f7644-9d1e-0410-96f1-a4d463321fa5

BUILD
Jamfile
Jamrules
NEWS
core/Jamfile
core/LpcmDec.c
macosx/English.lproj/InfoPlist.strings
macosx/HandBrake.xcode/project.pbxproj

diff --git a/BUILD b/BUILD
index 056eb929aefa7f1734c24c126abc7cf18dd59799..6eb184e862c7ede0a3d7b2910d1ef4452c90226e 100644 (file)
--- a/BUILD
+++ b/BUILD
@@ -1,10 +1,13 @@
-$Id: BUILD,v 1.4 2004/03/16 15:57:03 titer Exp $
+$Id: BUILD,v 1.5 2004/03/29 00:28:39 titer Exp $
 
 BUILD file for HandBrake <http://handbrake.m0k.org/>
 
 Building HandBrake
 ==================
 
+You can build HandBrake on BeOS, MacOS X and Linux. If you'd like to
+port it to another OS, email me (titer@m0k.org).
+
 Step 1: get jam
 ===============
 
@@ -23,12 +26,14 @@ Step 2 (optional): set custom compiler flags
 
 If you want to optimize the build for a specific CPU, edit the Jamrules
 file and modify the "OPTIM = ..." line by adding the needed flags.
-In case you modify this line later, make sure you run `jam -a' in order
-to force jam to rebuild everything with the new flags.
+
+In case you modify this line later: `jam clean' does not remove the
+compiled contrib librairies. Therefore, make sure you run
+`jam clean-all; jam' or `jam -a' in order to force jam to rebuild
+everything with the new flags.
 
 Step 3: build
 =============
 
 Run `jam'. This will build every library HandBrake requires, then
 HandBrake itself.
-
diff --git a/Jamfile b/Jamfile
index 7691d8ec955a0912834795d6c4509206090672c8..026b3441f0e5207205ccff14841a2b394f085029 100644 (file)
--- a/Jamfile
+++ b/Jamfile
@@ -1,4 +1,4 @@
-# $Id: Jamfile,v 1.41 2004/03/15 17:08:37 titer Exp $
+# $Id: Jamfile,v 1.42 2004/03/29 00:28:39 titer Exp $
 #
 # This file is part of the HandBrake source code.
 # Homepage: <http://handbrake.m0k.org/>.
@@ -6,56 +6,65 @@
 
 SubDir TOP ;
 
-HB_PACKAGES = ;
-HB_LIBS     =  libhb.a liba52.a libavcodec.a libdvdplay.a libdvdread.a
-               libdvdcss.a libfaac.a libmp3lame.a libmp4v2.a libmpeg2.a
-              libvorbis.a libvorbisenc.a libogg.a libx264.a
-              libxvidcore.a ;
+# libhb + contrib libraries
+HB_LIBS = libhb.a liba52.a libavcodec.a libdvdplay.a libdvdread.a
+          libdvdcss.a libfaac.a libmp3lame.a libmp4v2.a libmpeg2.a
+          libvorbis.a libvorbisenc.a libogg.a libx264.a libxvidcore.a ;
+
+# Interfaces
+TEST_BIN = HBTest ;
+TEST_SRC = test/test.c ;
+BEOS_BIN = HandBrake ;
+BEOS_SRC = beos/HBApp.cpp beos/HBWindow.cpp ;
+GTK2_BIN = gtk2HB ;
+GTK2_SRC = gtk2/main.c gtk2/callbacks.c gtk2/interface.c gtk2/support.c ;
+GUI_BIN  = $(TEST_BIN) $(BEOS_BIN) $(GTK2_BIN) ;
+GUI_SRC  = $(TEST_SRC) $(BEOS_SRC) $(GTK2_SRC) ;
 
 # CLI app
-ObjectCcFlags test/test.c : -I$(TOP)/core -g -Wall ;
-LinkLibraries HBTest : $(HB_LIBS) ;
-Main HBTest : test/test.c ;
+Main $(TEST_BIN) : $(TEST_SRC) ;
 
-# BeOS
 if $(OS) = BEOS
 {
-    SOURCES_BEOS = beos/HBApp.cpp beos/HBWindow.cpp ;
-    ObjectC++Flags $(SOURCES_BEOS) :
-        -I$(TOP)/core -I$(TOP)/beos/liblayout -g -Wall ;
-    LINKLIBS on HandBrake = $(LINKLIBS) -L$(TOP)/lib -llayout -lbe ;
-    LinkLibraries HandBrake : $(HB_LIBS) ;
-#    Main HandBrake : $(SOURCES_BEOS) ;
+    # Avoid multichar warnings caused by BeOS system headers
+    CCFLAGS  = -Wno-multichar ;
+    C++FLAGS = -Wno-multichar ;
+
+    SystemLibraries HandBrake : -lbe ;
+    # BeOS GUI is broken at the moment
+    # Main            HandBrake : $(SRC_BEOS) ;
 }
 
-# OS X
 if $(OS) = MACOSX
 {
-    # Build the app
-    OSXApp HandBrake.app ;
-    Depends HandBrake.app : $(HB_LIBS) macosx/Controller.h
-        macosx/Controller.mm macosx/PictureGLView.h
-       macosx/PictureGLView.mm ;
-    Depends all : HandBrake.app ;
+    # Needed to clean HandBrake.app
+    RM = rm -rf ;
+
+    OSX_SRC = macosx/Controller.h macosx/Controller.mm
+              macosx/PictureGLView.h macosx/PictureGLView.mm
+              macosx/TargetSizeField.h macosx/TargetSizeField.mm
+              macosx/main.mm ;
+
+    OSXApp HandBrake.app : $(OSX_SRC) $(HB_LIBS) ;
     
     # Package
-    OSXPackage HandBrake-$(HB_VERSION)-OSX.zip ;
-    Depends HandBrake-$(HB_VERSION)-OSX.zip : HandBrake.app ;
-    HB_PACKAGES += HandBrake-$(HB_VERSION)-OSX.zip ;
+    OSXPackage HandBrake-$(HB_VERSION)-OSX.zip : HandBrake.app ;
+    PACKAGES += HandBrake-$(HB_VERSION)-OSX.zip ;
 }
 
-# GTK2
 if $(OS) = LINUX
 {
-    SOURCES_GTK2 = gtk2/main.c gtk2/callbacks.c gtk2/interface.c
-                   gtk2/support.c ;
-    ObjectCcFlags $(SOURCES_GTK2) :
-        -I$(TOP)/core `pkg-config gtk+-2.0 --cflags` ;
-    LINKLIBS on gtk2HB = $(LINKLIBS) `pkg-config gtk+-2.0 --libs` ;
-    LinkLibraries gtk2HB : $(HB_LIBS) ;
-    Main gtk2HB : $(SOURCES_GTK2) ;
+    SystemLibraries $(TEST_BIN) : -lpthread ;
+    SystemLibraries $(GTK2_BIN) : -lpthread `pkg-config gtk+-2.0 --libs` ;
+    ObjectCcFlags   $(GTK2_SRC) : `pkg-config gtk+-2.0 --cflags` ;
+    Main            $(GTK2_BIN) : $(GTK2_SRC) ;
 }
 
+ObjectHdrs     $(GUI_SRC) : $(TOP)/core ;
+ObjectCcFlags  $(GUI_SRC) : -g -Wall ;
+ObjectC++Flags $(GUI_SRC) : -g -Wall ;
+LinkLibraries  $(GUI_BIN) : $(HB_LIBS) ;
+
 # Packages
 NotFile package ;
 Depends package : $(HB_PACKAGES) ;
index 4debdea9e7c0b3f6e4fdce8a5635560eeed1235a..a82ee7a7aadf1ae258c3bcaa0c9b06be83043ea6 100644 (file)
--- a/Jamrules
+++ b/Jamrules
@@ -1,41 +1,23 @@
 # Compilers & flags
-CC       = gcc ;
-C++      = g++ ;
-CCFLAGS  = $(CFLAGS) ;
-C++FLAGS = $(CFLAGS) ;
-AS       = nasm -f elf ;
-LINK     = g++ ;
-OPTIM    = -O3 -funroll-loops ;
+CC    = gcc ;
+C++   = g++ ;
+AS    = nasm -f elf ;
+LINK  = g++ ;
+OPTIM = -O3 -funroll-loops ;
 
-# HandBrake defines
-HB_VERSION = 0.6.0 ;
+HB_VERSION = 0.6.1 ;
 DEFINES    = HB_$(OS) HB_VERSION=\\\"$(HB_VERSION)\\\" ;
-#DEFINES   += HB_NOMMX ;
+LANGUAGES  = fr de it pl ru nl es pt ;
 
-LANGUAGES = fr de it pl ru nl es pt ;
+NotFile clean-contrib clean-all ;
+Always  clean-contrib ;
+Depends clean-all : clean clean-contrib ;
 
-# OS-specific
-if $(OS) = BEOS
-{
-    CCFLAGS  += -Wno-multichar ;
-    C++FLAGS += -Wno-multichar ;
-}
-else if $(OS) = LINUX
-{
-    LINKLIBS = -lpthread ;
-}
-else if $(OS) = MACOSX
-{
-    # To clean HandBrake.app
-    RM = rm -rf ;
-}
-
-# Contrib* rules: mostly the same than Jambase rules, except
-#  * Targets aren't cleaned by jam clean (to prevent from deleting
+# _Object: same as Jambase's Object, except
+#  * those aren't cleaned by 'jam clean' (to prevent from deleting
 #    every contrib library by accident)
-#  * ContribObject handles *.asm files
-#  * Temporary *.o files aren't removed
-rule ContribObject
+#  * it handles *.asm files
+rule _Object
 {
     MakeLocate $(<) : $(LOCATE_TARGET) ;
     SEARCH on $(>) = $(SEARCH_SOURCE) ;
@@ -51,33 +33,28 @@ rule ContribObject
         case .asm : As $(<) : $(>) ;
         case .nas : As $(<) : $(>) ;
         case .c :   Cc $(<) : $(>) ;
-        case .C :   C++ $(<) : $(>) ;
-        case .cc :  C++ $(<) : $(>) ;
         case .cpp : C++ $(<) : $(>) ;
-        case .f :   Fortran $(<) : $(>) ;
-        case .l :   Cc $(<) : $(<:S=.c) ;
-                    Lex $(<:S=.c) : $(>) ;
-        case .s :   As $(<) : $(>) ;
-        case .y :   Cc $(<) : $(<:S=$(YACCGEN)) ; 
-                    Yacc $(<:S=$(YACCGEN)) : $(>) ;
-        case * :    UserObject $(<) : $(>) ;
     }
 }
-rule ContribObjects
+# _Objects: use _Object
+rule _Objects
 {
     local _i ;
     for _i in [ FGristFiles $(<) ]
     {
-        ContribObject $(_i:S=$(SUFOBJ)) : $(_i) ;
+        _Object $(_i:S=$(SUFOBJ)) : $(_i) ;
         Depends obj : $(_i:S=$(SUFOBJ)) ;
     }
 }
-rule ContribLibrary
+
+# Simplified LibraryFromObjects which doesn't clean the target library
+# nor the temporary .o files
+rule _Library
 {
     local _l _s ;
     _s = [ FGristFiles $(>:S=$(SUFOBJ)) ] ;
     _l = $(<:S=$(SUFLIB)) ;
-    ContribObjects $(>) ;
+    _Objects $(>) ;
     Depends obj : $(_s) ;
     MakeLocate $(_l) $(_l)($(_s:BS)) : $(LOCATE_TARGET) ;
     Depends $(_l) : $(_s) ;
@@ -86,40 +63,50 @@ rule ContribLibrary
     Depends lib : $(_l) ;
 }
 
-# Custom Library rule: same as ContribLibrary, except 'jam clean'
-# removes built objects
+# ContribLibrary: library cleaned by 'jam clean-contrib'
+rule ContribLibrary
+{
+    _Library $(<) : $(>) ;
+    Clean clean-contrib : [ FGristFiles $(>:S=$(SUFOBJ)) ] ;
+    Clean clean-contrib : $(<:S=$(SUFLIB)) ;
+}
+
+# Library: library cleaned by 'jam clean'
 rule Library
 {
-    ContribLibrary $(<) : $(>) ;
+    _Library $(<) : $(>) ;
     Clean clean : [ FGristFiles $(>:S=$(SUFOBJ)) ] ;
     Clean clean : $(<:S=$(SUFLIB)) ;
 }
 
 # Build HandBrake.app using Xcode
 rule OSXApp
-{   
-    Clean clean : $(1) macosx/build ;
-    BuildOSXApp $(1) ;
+{
+    Depends     exe   : $(<) ;
+    Depends     $(<)  : $(>) ;
+    Clean       clean : $(1) macosx/build ;
+    BuildOSXApp $(<) ;
 }
 actions BuildOSXApp
 {
-    $(RM) $(1) && \
+    $(RM) $(<) && \
       ( cd macosx && xcodebuild ) && \
-      cp -r macosx/build/HandBrake.app $(1) && \
+      cp -r macosx/build/HandBrake.app $(<) && \
       for i in $(LANGUAGES) ; do \
-        ( cd $(1)/Contents/Resources && \
+        ( cd $(<)/Contents/Resources && \
           cp -r English.lproj $i.lproj && \
           cp ../../../macosx/i18n/$i.strings \
             $i.lproj/Localizable.strings ) \
       done ;
 }
 rule OSXPackage 
-{   
-    BuildOSXPackage $(1) ;
+{
+    Depends         $(<) : $(>) ;
+    BuildOSXPackage $(<) ;
 }   
 actions BuildOSXPackage
 {                 
-    rm -rf $(1) "HandBrake $(HB_VERSION)" && \
+    rm -rf $(<) "HandBrake $(HB_VERSION)" && \
       mkdir "HandBrake $(HB_VERSION)" && \
       cp AUTHORS "HandBrake $(HB_VERSION)/AUTHORS.txt" && \
       cp COPYING "HandBrake $(HB_VERSION)/COPYING.txt" && \
@@ -128,7 +115,23 @@ actions BuildOSXPackage
       ( cd doc && ./genhtml.sh ) && \
       cp doc/faq.html "HandBrake $(HB_VERSION)/FAQ.html" && \
       cp -r HandBrake.app "HandBrake $(HB_VERSION)" && \
-      zip -9 -r $(1) "HandBrake $(HB_VERSION)" && \
+      zip -9 -r $(<) "HandBrake $(HB_VERSION)" && \
       rm -rf "HandBrake $(HB_VERSION)"
 }
 
+rule SystemLibraries
+{
+    LINKLIBS on [ FAppendSuffix $(<) : $(SUFEXE) ] +=  $(>) ;
+}
+
+# Jambase's ObjectHdrs doesn't seem to work when ObjectHdrs is called
+# several times on a file, and it doesn't works for asm files. Fixed
+# here.
+rule ObjectHdrs
+{
+    local s = [ FGristFiles $(<:S=$(SUFOBJ)) ] ;
+    HDRS   on $(s) += $(>) ;
+    ASHDRS on $(s) += [ FIncludes $(>) ] ;
+    CCHDRS on $(s) += [ FIncludes $(>) ] ;
+}
+
diff --git a/NEWS b/NEWS
index 5c4fd6232ed1c49b7f6d4271964986768297254e..0930a1eda4d614bacf701c60a497a5542c0a02ec 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,7 +1,10 @@
-$Id: NEWS,v 1.12 2004/03/08 11:32:48 titer Exp $
+$Id: NEWS,v 1.13 2004/03/29 00:28:39 titer Exp $
 
 NEWS file for HandBrake <http://handbrake.m0k.org/>
 
+Changes between 0.6.0 and 0.6.1
+ + Fixed LPCM endianness issue
+
 Changes between 0.5.2 and 0.6.0
  + MP4 and OGM output
  + AAC and Vorbis encoding
index 949e2438843c5754244f51a2b0e4e87507068d2c..992dc5cf8eed5c54b818510df48a4cdff502e319 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Jamfile,v 1.6 2004/03/08 11:32:48 titer Exp $
+# $Id: Jamfile,v 1.7 2004/03/29 00:28:42 titer Exp $
 #
 # This file is part of the HandBrake source code.
 # Homepage: <http://handbrake.m0k.org/>.
@@ -6,43 +6,33 @@
 
 SubDir TOP core ;
 
-SOURCES_HBCORE =
-Ac3Dec.c
-AviMux.c
-DVDRead.c
-FaacEnc.c
-FfmpegEnc.c
-Fifo.c
-HandBrake.c
-LpcmDec.c
-MadDec.c
-Mp3Enc.c
-Mp4Mux.c
-Mpeg2Dec.c
-OgmMux.c
-Scale.c
-Scan.c
-Thread.c
-Utils.c
-VorbisEnc.c
-Work.c
-X264Enc.c
-XvidEnc.c ;
+LIBHB_SRC =
+    Ac3Dec.c AviMux.c DVDRead.c FaacEnc.c FfmpegEnc.c Fifo.c HandBrake.c
+    LpcmDec.c MadDec.c Mp3Enc.c Mp4Mux.c Mpeg2Dec.c OgmMux.c Scale.c
+    Scan.c Thread.c Utils.c VorbisEnc.c Work.c X264Enc.c XvidEnc.c ;
 
-ObjectCcFlags $(SOURCES_HBCORE) : 
-    -I$(TOP)/contrib/liba52
-    -I$(TOP)/contrib/libavcodec
-    -I$(TOP)/contrib/libdvdplay
-    -I$(TOP)/contrib/libdvdread
-    -I$(TOP)/contrib/libfaac
-    -I$(TOP)/contrib/libmp3lame
-    -I$(TOP)/contrib/libmp4v2
-    -I$(TOP)/contrib/libmpeg2
-    -I$(TOP)/contrib/libogg
-    -I$(TOP)/contrib/libvorbis
-    -I$(TOP)/contrib/libx264
-    -I$(TOP)/contrib/libxvidcore
-    -g -Wall ;
+Library libhb : $(LIBHB_SRC) ;
 
-Library libhb.a : $(SOURCES_HBCORE) ;
+# Sadly, we might want to debug our code
+ObjectCcFlags $(LIBHB_SRC) : -g -Wall ;
+
+# Needed includes
+ObjectHdrs Ac3Dec.c    : $(TOP)/contrib/liba52 ;
+ObjectHdrs FfmpegEnc.c
+           HandBrake.c
+          Scale.c     : $(TOP)/contrib/libavcodec ;
+ObjectHdrs DVDRead.c
+           Scan.c      : $(TOP)/contrib/libdvdplay ;
+ObjectHdrs DVDRead.c
+           Scan.c      : $(TOP)/contrib/libdvdread ;
+ObjectHdrs FaacEnc.c   : $(TOP)/contrib/libfaac ;
+ObjectHdrs Mp3Enc.c    : $(TOP)/contrib/libmp3lame ;
+ObjectHdrs Mp4Mux.c    : $(TOP)/contrib/libmp4v2 ;
+ObjectHdrs Mpeg2Dec.c
+           Scan.c      : $(TOP)/contrib/libmpeg2 ;
+ObjectHdrs OgmMux.c
+           VorbisEnc.c : $(TOP)/contrib/libogg ;
+ObjectHdrs VorbisEnc.c : $(TOP)/contrib/libvorbis ;
+ObjectHdrs X264Enc.c   : $(TOP)/contrib/libx264 ;
+ObjectHdrs XvidEnc.c   : $(TOP)/contrib/libxvidcore ;
 
index e39db3ade38fff0f5946de2a8ac204cbebf548de..519b4868a0dfd987f212ccb10f11f4e3854238b9 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: LpcmDec.c,v 1.2 2004/03/08 15:04:40 fenrir Exp $
+/* $Id: LpcmDec.c,v 1.3 2004/03/29 00:29:41 titer Exp $
 
    This file is part of the HandBrake source code.
    Homepage: <http://handbrake.m0k.org/>.
@@ -66,6 +66,7 @@ void HBLpcmDecClose( HBWork ** _l )
     *_l = NULL;
 }
 
+#ifndef HB_MACOSX
 static int16_t Swap16( int16_t * p )
 {
     uint8_t tmp[2];
@@ -75,6 +76,7 @@ static int16_t Swap16( int16_t * p )
 
     return *(int16_t*)tmp;
 }
+#endif
 
 static int LpcmDecWork( HBWork * w )
 {
@@ -147,7 +149,7 @@ static int LpcmDecWork( HBWork * w )
 
     for( i = 0; i < samples; i++ )
     {
-#ifdef SYS_MACOSX
+#ifdef HB_MACOSX
         l->rawBuffer->left[i]  = (float) int16data[2*i]   * l->sampleLevel;
         l->rawBuffer->right[i] = (float) int16data[2*i+1] * l->sampleLevel;
 #else
index 0807e3bbca275a57c33515129b26a4f80d031ebb..f1eb09da33905abc9e2a63df0e0b53de38dfd0a2 100644 (file)
Binary files a/macosx/English.lproj/InfoPlist.strings and b/macosx/English.lproj/InfoPlist.strings differ
index 41b955ca138dc84eb560cfff7dfdada7ceae06c1..4b5a9117cc1578b65303db9420107eac92f33614 100644 (file)
 <dict>
        <key>CFBundleDevelopmentRegion</key>
        <string>English</string>
+       <key>CFBundleDisplayName</key>
+       <string>HandBrake</string>
        <key>CFBundleExecutable</key>
        <string>HandBrake</string>
-       <key>CFBundleGetInfoString</key>
-       <string>HandBrake 0.6.0 - By Eric Petit &lt;titer@m0k.org&gt;</string>
        <key>CFBundleIconFile</key>
        <string>HandBrake.icns</string>
        <key>CFBundleIdentifier</key>
        <key>CFBundlePackageType</key>
        <string>APPL</string>
        <key>CFBundleShortVersionString</key>
-       <string>0.6.0</string>
+       <string>0.6.1</string>
        <key>CFBundleSignature</key>
        <string>HB##</string>
        <key>CFBundleVersion</key>
-       <string>0.6.0</string>
+       <string>0.6.1</string>
+       <key>NSHumanReadableCopyright</key>
+       <string>By Eric Petit &lt;titer@m0k.org&gt;</string>
        <key>NSMainNibFile</key>
        <string>MainMenu</string>
        <key>NSPrincipalClass</key>
                        );
                        buildSettings = {
                                COPY_PHASE_STRIP = NO;
+                               CURRENT_PROJECT_VERSION = "0.6.1";
                                GCC_DYNAMIC_NO_PIC = YES;
                                GCC_ENABLE_FIX_AND_CONTINUE = NO;
                                GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
                                GCC_OPTIMIZATION_LEVEL = 3;
-                               LIBRARY_SEARCH_PATHS = "../core ../contrib/lib";
-                               OPTIMIZATION_CFLAGS = "-O3";
-                               ZERO_LINK = YES;
+                               LIBRARY_SEARCH_PATHS = ../core;
+                               OPTIMIZATION_CFLAGS = "-O0";
+                               ZERO_LINK = NO;
                        };
                        isa = PBXBuildStyle;
                        name = Development;