OSDN Git Service

added Doxyfile, config file for doxygen
authorjohnallen <johnallen@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Sat, 6 Jan 2007 20:00:53 +0000 (20:00 +0000)
committerjohnallen <johnallen@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Sat, 6 Jan 2007 20:00:53 +0000 (20:00 +0000)
git-svn-id: svn://localhost/HandBrake/trunk@93 b64f7644-9d1e-0410-96f1-a4d463321fa5

Doxyfile [new file with mode: 0644]
libhb/hb.c
libhb/muxcommon.c
libhb/muxmp4.c
libhb/work.c
macosx/ExpressController.m
macosx/HandBrake.xcodeproj/project.pbxproj

diff --git a/Doxyfile b/Doxyfile
new file mode 100644 (file)
index 0000000..36f8cfe
--- /dev/null
+++ b/Doxyfile
@@ -0,0 +1,275 @@
+# Doxyfile 1.5.1
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+PROJECT_NAME           = libhb
+PROJECT_NUMBER         = 
+OUTPUT_DIRECTORY       = ./documentation
+CREATE_SUBDIRS         = NO
+OUTPUT_LANGUAGE        = English
+USE_WINDOWS_ENCODING   = NO
+BRIEF_MEMBER_DESC      = YES
+REPEAT_BRIEF           = YES
+ABBREVIATE_BRIEF       = "The $name class" \
+                         "The $name widget" \
+                         "The $name file" \
+                         is \
+                         provides \
+                         specifies \
+                         contains \
+                         represents \
+                         a \
+                         an \
+                         the
+ALWAYS_DETAILED_SEC    = NO
+INLINE_INHERITED_MEMB  = NO
+FULL_PATH_NAMES        = YES
+STRIP_FROM_PATH        = /Applications/
+STRIP_FROM_INC_PATH    = 
+SHORT_NAMES            = NO
+JAVADOC_AUTOBRIEF      = NO
+MULTILINE_CPP_IS_BRIEF = NO
+DETAILS_AT_TOP         = NO
+INHERIT_DOCS           = YES
+SEPARATE_MEMBER_PAGES  = NO
+TAB_SIZE               = 8
+ALIASES                = 
+OPTIMIZE_OUTPUT_FOR_C  = YES
+OPTIMIZE_OUTPUT_JAVA   = NO
+BUILTIN_STL_SUPPORT    = NO
+DISTRIBUTE_GROUP_DOC   = NO
+SUBGROUPING            = YES
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+EXTRACT_ALL            = YES
+EXTRACT_PRIVATE        = YES
+EXTRACT_STATIC         = YES
+EXTRACT_LOCAL_CLASSES  = YES
+EXTRACT_LOCAL_METHODS  = NO
+HIDE_UNDOC_MEMBERS     = NO
+HIDE_UNDOC_CLASSES     = NO
+HIDE_FRIEND_COMPOUNDS  = NO
+HIDE_IN_BODY_DOCS      = NO
+INTERNAL_DOCS          = NO
+CASE_SENSE_NAMES       = NO
+HIDE_SCOPE_NAMES       = NO
+SHOW_INCLUDE_FILES     = YES
+INLINE_INFO            = YES
+SORT_MEMBER_DOCS       = YES
+SORT_BRIEF_DOCS        = NO
+SORT_BY_SCOPE_NAME     = NO
+GENERATE_TODOLIST      = YES
+GENERATE_TESTLIST      = YES
+GENERATE_BUGLIST       = YES
+GENERATE_DEPRECATEDLIST= YES
+ENABLED_SECTIONS       = 
+MAX_INITIALIZER_LINES  = 30
+SHOW_USED_FILES        = YES
+SHOW_DIRECTORIES       = NO
+FILE_VERSION_FILTER    = 
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+QUIET                  = NO
+WARNINGS               = YES
+WARN_IF_UNDOCUMENTED   = YES
+WARN_IF_DOC_ERROR      = YES
+WARN_NO_PARAMDOC       = NO
+WARN_FORMAT            = "$file:$line: $text"
+WARN_LOGFILE           = 
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+INPUT                  = ./libhb
+FILE_PATTERNS          = *.c \
+                         *.cc \
+                         *.cxx \
+                         *.cpp \
+                         *.c++ \
+                         *.d \
+                         *.java \
+                         *.ii \
+                         *.ixx \
+                         *.ipp \
+                         *.i++ \
+                         *.inl \
+                         *.h \
+                         *.hh \
+                         *.hxx \
+                         *.hpp \
+                         *.h++ \
+                         *.idl \
+                         *.odl \
+                         *.cs \
+                         *.php \
+                         *.php3 \
+                         *.inc \
+                         *.m \
+                         *.mm \
+                         *.dox \
+                         *.py \
+                         *.C \
+                         *.CC \
+                         *.C++ \
+                         *.II \
+                         *.I++ \
+                         *.H \
+                         *.HH \
+                         *.H++ \
+                         *.CS \
+                         *.PHP \
+                         *.PHP3 \
+                         *.M \
+                         *.MM \
+                         *.PY
+RECURSIVE              = NO
+EXCLUDE                = 
+EXCLUDE_SYMLINKS       = NO
+EXCLUDE_PATTERNS       = 
+EXAMPLE_PATH           = 
+EXAMPLE_PATTERNS       = *
+EXAMPLE_RECURSIVE      = NO
+IMAGE_PATH             = 
+INPUT_FILTER           = 
+FILTER_PATTERNS        = 
+FILTER_SOURCE_FILES    = NO
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+SOURCE_BROWSER         = YES
+INLINE_SOURCES         = NO
+STRIP_CODE_COMMENTS    = YES
+REFERENCED_BY_RELATION = YES
+REFERENCES_RELATION    = YES
+REFERENCES_LINK_SOURCE = YES
+USE_HTAGS              = NO
+VERBATIM_HEADERS       = YES
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+ALPHABETICAL_INDEX     = NO
+COLS_IN_ALPHA_INDEX    = 5
+IGNORE_PREFIX          = 
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+GENERATE_HTML          = YES
+HTML_OUTPUT            = html
+HTML_FILE_EXTENSION    = .html
+HTML_HEADER            = 
+HTML_FOOTER            = 
+HTML_STYLESHEET        = 
+HTML_ALIGN_MEMBERS     = YES
+GENERATE_HTMLHELP      = NO
+CHM_FILE               = 
+HHC_LOCATION           = 
+GENERATE_CHI           = NO
+BINARY_TOC             = NO
+TOC_EXPAND             = NO
+DISABLE_INDEX          = NO
+ENUM_VALUES_PER_LINE   = 4
+GENERATE_TREEVIEW      = YES
+TREEVIEW_WIDTH         = 250
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+GENERATE_LATEX         = NO
+LATEX_OUTPUT           = latex
+LATEX_CMD_NAME         = latex
+MAKEINDEX_CMD_NAME     = makeindex
+COMPACT_LATEX          = NO
+PAPER_TYPE             = a4wide
+EXTRA_PACKAGES         = 
+LATEX_HEADER           = 
+PDF_HYPERLINKS         = NO
+USE_PDFLATEX           = NO
+LATEX_BATCHMODE        = NO
+LATEX_HIDE_INDICES     = NO
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+GENERATE_RTF           = NO
+RTF_OUTPUT             = rtf
+COMPACT_RTF            = NO
+RTF_HYPERLINKS         = NO
+RTF_STYLESHEET_FILE    = 
+RTF_EXTENSIONS_FILE    = 
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+GENERATE_MAN           = NO
+MAN_OUTPUT             = man
+MAN_EXTENSION          = .3
+MAN_LINKS              = NO
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+GENERATE_XML           = NO
+XML_OUTPUT             = xml
+XML_SCHEMA             = 
+XML_DTD                = 
+XML_PROGRAMLISTING     = YES
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+GENERATE_AUTOGEN_DEF   = NO
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+GENERATE_PERLMOD       = NO
+PERLMOD_LATEX          = NO
+PERLMOD_PRETTY         = YES
+PERLMOD_MAKEVAR_PREFIX = 
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor   
+#---------------------------------------------------------------------------
+ENABLE_PREPROCESSING   = YES
+MACRO_EXPANSION        = NO
+EXPAND_ONLY_PREDEF     = NO
+SEARCH_INCLUDES        = YES
+INCLUDE_PATH           = 
+INCLUDE_FILE_PATTERNS  = 
+PREDEFINED             = 
+EXPAND_AS_DEFINED      = 
+SKIP_FUNCTION_MACROS   = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references   
+#---------------------------------------------------------------------------
+TAGFILES               = 
+GENERATE_TAGFILE       = 
+ALLEXTERNALS           = NO
+EXTERNAL_GROUPS        = YES
+PERL_PATH              = /usr/bin/perl
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool   
+#---------------------------------------------------------------------------
+CLASS_DIAGRAMS         = NO
+HIDE_UNDOC_RELATIONS   = YES
+HAVE_DOT               = YES
+CLASS_GRAPH            = YES
+COLLABORATION_GRAPH    = YES
+GROUP_GRAPHS           = YES
+UML_LOOK               = NO
+TEMPLATE_RELATIONS     = NO
+INCLUDE_GRAPH          = YES
+INCLUDED_BY_GRAPH      = YES
+CALL_GRAPH             = YES
+CALLER_GRAPH           = YES
+GRAPHICAL_HIERARCHY    = YES
+DIRECTORY_GRAPH        = YES
+DOT_IMAGE_FORMAT       = png
+DOT_PATH               = /Applications/Doxygen.app/Contents/Resources/
+DOTFILE_DIRS           = 
+MAX_DOT_GRAPH_WIDTH    = 1024
+MAX_DOT_GRAPH_HEIGHT   = 1024
+MAX_DOT_GRAPH_DEPTH    = 1000
+DOT_TRANSPARENT        = NO
+DOT_MULTI_TARGETS      = NO
+GENERATE_LEGEND        = YES
+DOT_CLEANUP            = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to the search engine   
+#---------------------------------------------------------------------------
+SEARCHENGINE           = NO
index d44c05d..0e7fa34 100644 (file)
@@ -121,7 +121,7 @@ hb_handle_t * hb_init_real( int verbose, int update_check )
 
 char * hb_get_version( hb_handle_t * h )
 {
-    return HB_VERSION;
+    return "0.7.1a2";//HB_VERSION;
 }
 
 int hb_get_build( hb_handle_t * h )
index 93fa773..17628df 100644 (file)
@@ -46,6 +46,7 @@ static hb_track_t * GetTrack( hb_list_t * list )
         {
             track = track2;
             pts   = buf->start;
+                       //hb_log("track: #%d, frame count %ld, fifo size %d", i, track->frames, hb_fifo_size( track->fifo));
         }
     }
     return track;
@@ -119,12 +120,14 @@ static void MuxerFunc( void * _mux )
 
     /* Build list of fifos we're interested in */
     list = hb_list_init();
+       hb_log( "mux: audio list count %d", hb_list_count( title->list_audio ));
 
     track           = calloc( sizeof( hb_track_t ), 1 );
     track->fifo     = job->fifo_mpeg4;
     track->mux_data = job->mux_data;
     hb_list_add( list, track );
 
+       hb_log( "mux: 1");
     for( i = 0; i < hb_list_count( title->list_audio ); i++ )
     {
         audio           = hb_list_item( title->list_audio, i );
@@ -133,6 +136,7 @@ static void MuxerFunc( void * _mux )
         track->mux_data = audio->mux_data;
         hb_list_add( list, track );
     }
+       hb_log( "mux: 2");
 
     while( !*job->die && !job->done )
     {
@@ -152,6 +156,7 @@ static void MuxerFunc( void * _mux )
         }
         hb_buffer_close( &buf );
     }
+       hb_log( "mux: 3");
 
     if( job->pass != 1 )
     {
@@ -159,6 +164,7 @@ static void MuxerFunc( void * _mux )
         uint64_t bytes_total, frames_total;
 
         m->end( m );
+               hb_log( "mux: 4");
 
         if( !stat( job->file, &sb ) )
         {
index 971c4bf..ed8df36 100644 (file)
@@ -179,10 +179,15 @@ static int MP4Mux( hb_mux_object_t * m, hb_mux_data_t * mux_data,
 
 static int MP4End( hb_mux_object_t * m )
 {
+       hb_log("MP4End: enter");
     av_write_trailer( m->format );
+       hb_log("av_write_trailer: complete");
+
     url_fclose( &m->format->pb );
+       hb_log("url_fclose: complete");
     av_free( m->format );
        
+       hb_log("MP4End: exit");
     return 0;
 }
 
index 349a630..b4b3afe 100644 (file)
@@ -238,12 +238,14 @@ static void do_job( hb_job_t * job, int cpu_count )
         if( w->work( w, NULL, NULL ) == HB_WORK_DONE )
         {
             done = 1;
+                       hb_log("Work is done.");
         }
         if( done &&
             !hb_fifo_size( job->fifo_sync ) &&
             !hb_fifo_size( job->fifo_render ) &&
             hb_fifo_size( job->fifo_mpeg4 ) < 2 )
         {
+                       hb_log("Work is done and fifos are done.");
             break;
         }
         hb_snooze( 50 );
@@ -260,29 +262,42 @@ static void do_job( hb_job_t * job, int cpu_count )
         w->close( w );
     }
 
+       hb_log("Closing threads.");
     /* Stop read & write threads */
     hb_thread_close( &job->reader );
     hb_thread_close( &job->muxer );
 
     /* Close fifos */
     hb_fifo_close( &job->fifo_mpeg2 );
+       hb_log("fifo_mpeg2 closed.");
     hb_fifo_close( &job->fifo_raw );
+                  hb_log("fifo_raw closed.");
     hb_fifo_close( &job->fifo_sync );
+                                 hb_log("fifo_sync closed.");
     hb_fifo_close( &job->fifo_render );
+                                                hb_log("fifo_render closed.");
     hb_fifo_close( &job->fifo_mpeg4 );
+                                                               hb_log("fifo_mpeg4 closed.");
     if( subtitle )
     {
         hb_fifo_close( &subtitle->fifo_in );
+               hb_log("fifo_in closed.");
         hb_fifo_close( &subtitle->fifo_raw );
+                          hb_log("fifo_raw closed.");
     }
     for( i = 0; i < hb_list_count( title->list_audio ); i++ )
     {
         audio = hb_list_item( title->list_audio, i );
         hb_fifo_close( &audio->fifo_in );
+               hb_log("fifo_in closed.");
         hb_fifo_close( &audio->fifo_raw );
+                          hb_log("fifo_raw closed.");
         hb_fifo_close( &audio->fifo_sync );
+                                         hb_log("fifo_sync closed.");
         hb_fifo_close( &audio->fifo_out );
+                                                        hb_log("fifo_out closed.");
     }
+       hb_log("do_job complete.");
 }
 
 static void work_loop( void * _w )
index ec2ce5d..b029c99 100644 (file)
@@ -57,7 +57,7 @@
 
 - (void) applicationWillFinishLaunching: (NSNotification *) n
 {
-    fHandle = hb_init_express( HB_DEBUG_NONE, 0 );
+    fHandle = hb_init_express( HB_DEBUG_ALL, 0);//HB_DEBUG_NONE, 0 );
     fList   = hb_get_titles( fHandle );
 }
 
             NSMutableString * string = [NSMutableString
                 stringWithFormat: @"Converting: %.1f %%",
                 100.0 * progress_total];
+                       hb_log("Progress %.1f", progress_total * 100.0);
             if( p.seconds > -1 )
             {
                 [string appendFormat: @" (%.1f fps, ", p.rate_avg];
index 6bcec22..b5af262 100644 (file)
                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 */; };
+               5260EDCC0B4CACBE00C096C5 /* hb.c in Sources */ = {isa = PBXBuildFile; fileRef = 5260EDCB0B4CACBE00C096C5 /* hb.c */; };
+               5260EE980B4CB47600C096C5 /* libhb.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 526FBC8C0B4CA9DF0064E04C /* libhb.a */; };
+               5260EEB10B4CB57400C096C5 /* libhb.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 526FBC8C0B4CA9DF0064E04C /* libhb.a */; };
+               5260EEB60B4CB57A00C096C5 /* libhb.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 526FBC8C0B4CA9DF0064E04C /* libhb.a */; };
+               526FBC740B4CA8CD0064E04C /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D1125D709D72FD200E0657B /* libz.dylib */; };
+               526FBC770B4CA8F40064E04C /* test.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBC760B4CA8F40064E04C /* test.c */; };
+               526FBCBA0B4CAB100064E04C /* common.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBC9B0B4CAB100064E04C /* common.c */; };
+               526FBCBB0B4CAB100064E04C /* common.h in Headers */ = {isa = PBXBuildFile; fileRef = 526FBC9C0B4CAB100064E04C /* common.h */; };
+               526FBCBC0B4CAB100064E04C /* deca52.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBC9D0B4CAB100064E04C /* deca52.c */; };
+               526FBCBD0B4CAB100064E04C /* decavcodec.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBC9E0B4CAB100064E04C /* decavcodec.c */; };
+               526FBCBE0B4CAB100064E04C /* declpcm.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBC9F0B4CAB100064E04C /* declpcm.c */; };
+               526FBCBF0B4CAB100064E04C /* decmpeg2.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCA00B4CAB100064E04C /* decmpeg2.c */; };
+               526FBCC00B4CAB100064E04C /* decsub.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCA10B4CAB100064E04C /* decsub.c */; };
+               526FBCC10B4CAB100064E04C /* demuxmpeg.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCA20B4CAB100064E04C /* demuxmpeg.c */; };
+               526FBCC20B4CAB100064E04C /* dvd.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCA30B4CAB100064E04C /* dvd.c */; };
+               526FBCC30B4CAB100064E04C /* encavcodec.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCA40B4CAB100064E04C /* encavcodec.c */; };
+               526FBCC40B4CAB100064E04C /* encfaac.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCA50B4CAB100064E04C /* encfaac.c */; };
+               526FBCC50B4CAB100064E04C /* enclame.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCA60B4CAB100064E04C /* enclame.c */; };
+               526FBCC60B4CAB100064E04C /* encvorbis.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCA70B4CAB100064E04C /* encvorbis.c */; };
+               526FBCC70B4CAB100064E04C /* encx264.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCA80B4CAB100064E04C /* encx264.c */; };
+               526FBCC80B4CAB100064E04C /* encxvid.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCA90B4CAB100064E04C /* encxvid.c */; };
+               526FBCC90B4CAB100064E04C /* fifo.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCAA0B4CAB100064E04C /* fifo.c */; };
+               526FBCCA0B4CAB100064E04C /* hb.h in Headers */ = {isa = PBXBuildFile; fileRef = 526FBCAB0B4CAB100064E04C /* hb.h */; };
+               526FBCCB0B4CAB100064E04C /* internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 526FBCAC0B4CAB100064E04C /* internal.h */; };
+               526FBCCC0B4CAB100064E04C /* lang.h in Headers */ = {isa = PBXBuildFile; fileRef = 526FBCAD0B4CAB100064E04C /* lang.h */; };
+               526FBCCD0B4CAB100064E04C /* muxavi.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCAE0B4CAB100064E04C /* muxavi.c */; };
+               526FBCCE0B4CAB100064E04C /* muxcommon.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCAF0B4CAB100064E04C /* muxcommon.c */; };
+               526FBCCF0B4CAB100064E04C /* muxmp4.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCB00B4CAB100064E04C /* muxmp4.c */; };
+               526FBCD00B4CAB100064E04C /* muxogm.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCB10B4CAB100064E04C /* muxogm.c */; };
+               526FBCD10B4CAB100064E04C /* ports.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCB20B4CAB100064E04C /* ports.c */; };
+               526FBCD20B4CAB100064E04C /* ports.h in Headers */ = {isa = PBXBuildFile; fileRef = 526FBCB30B4CAB100064E04C /* ports.h */; };
+               526FBCD30B4CAB100064E04C /* reader.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCB40B4CAB100064E04C /* reader.c */; };
+               526FBCD40B4CAB100064E04C /* render.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCB50B4CAB100064E04C /* render.c */; };
+               526FBCD50B4CAB100064E04C /* scan.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCB60B4CAB100064E04C /* scan.c */; };
+               526FBCD60B4CAB100064E04C /* sync.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCB70B4CAB100064E04C /* sync.c */; };
+               526FBCD70B4CAB100064E04C /* update.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCB80B4CAB100064E04C /* update.c */; };
+               526FBCD80B4CAB100064E04C /* work.c in Sources */ = {isa = PBXBuildFile; fileRef = 526FBCB90B4CAB100064E04C /* work.c */; };
 /* End PBXBuildFile section */
 
+/* Begin PBXContainerItemProxy section */
+               5260EEE40B4CB70400C096C5 /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
+                       proxyType = 1;
+                       remoteGlobalIDString = 526FBC8B0B4CA9DF0064E04C /* hb */;
+                       remoteInfo = hb;
+               };
+               5260EEE90B4CB72A00C096C5 /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
+                       proxyType = 1;
+                       remoteGlobalIDString = 526FBC8B0B4CA9DF0064E04C /* hb */;
+                       remoteInfo = hb;
+               };
+               5260EEEB0B4CB72E00C096C5 /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
+                       proxyType = 1;
+                       remoteGlobalIDString = 526FBC8B0B4CA9DF0064E04C /* hb */;
+                       remoteInfo = hb;
+               };
+/* 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>"; };
                1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
                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 = SOURCE_ROOT; };
-               4DD27BA607C0065C0023D231 /* QueueController.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = QueueController.mm; sourceTree = SOURCE_ROOT; };
-               4DD93FA6082036E8008E1322 /* HandBrake.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = HandBrake.app; sourceTree = BUILT_PRODUCTS_DIR; };
+               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>"; };
                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; };
+               526FBC6A0B4CA85D0064E04C /* HBTest */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = HBTest; sourceTree = BUILT_PRODUCTS_DIR; };
+               526FBC760B4CA8F40064E04C /* test.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = test.c; path = ../test/test.c; sourceTree = SOURCE_ROOT; };
+               526FBC8C0B4CA9DF0064E04C /* libhb.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libhb.a; sourceTree = BUILT_PRODUCTS_DIR; };
+               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 */
                        isa = PBXFrameworksBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
+                               5260EEB60B4CB57A00C096C5 /* libhb.a in Frameworks */,
                                4D1EA2F60993B0CA00FDC1A2 /* Cocoa.framework in Frameworks */,
                                4D2AEA1A09CCB332007E18F6 /* IOKit.framework in Frameworks */,
                                4D1125D909D72FD200E0657B /* libz.dylib in Frameworks */,
                        isa = PBXFrameworksBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
+                               5260EEB10B4CB57400C096C5 /* libhb.a in Frameworks */,
                                4DD93FA2082036E8008E1322 /* Cocoa.framework in Frameworks */,
                                4DD93FA3082036E8008E1322 /* IOKit.framework in Frameworks */,
                                4DD93FA4082036E8008E1322 /* OpenGL.framework in Frameworks */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
+               526FBC680B4CA85D0064E04C /* Frameworks */ = {
+                       isa = PBXFrameworksBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               5260EE980B4CB47600C096C5 /* libhb.a in Frameworks */,
+                               526FBC740B4CA8CD0064E04C /* libz.dylib in Frameworks */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+               526FBC8A0B4CA9DF0064E04C /* Frameworks */ = {
+                       isa = PBXFrameworksBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
 /* End PBXFrameworksBuildPhase section */
 
 /* Begin PBXGroup section */
-               080E96DDFE201D6D7F000001 /* Classes */ = {
-                       isa = PBXGroup;
-                       children = (
-                               4D1EA31A0993B24700FDC1A2 /* ExpressController.h */,
-                               4D1EA31B0993B24700FDC1A2 /* ExpressController.m */,
-                               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 = Classes;
-                       sourceTree = "<group>";
-               };
                19C28FACFE9D520D11CA2CBB /* Products */ = {
                        isa = PBXGroup;
                        children = (
                                4DD93FA6082036E8008E1322 /* HandBrake.app */,
                                4D1EA2DA0993B01000FDC1A2 /* Instant HandBrake.app */,
+                               526FBC6A0B4CA85D0064E04C /* HBTest */,
+                               526FBC8C0B4CA9DF0064E04C /* libhb.a */,
                        );
                        name = Products;
                        sourceTree = "<group>";
                29B97314FDCFA39411CA2CEA /* HandBrake */ = {
                        isa = PBXGroup;
                        children = (
-                               080E96DDFE201D6D7F000001 /* Classes */,
+                               526FBC940B4CAA310064E04C /* Instant HandBrake Sources */,
+                               526FBC930B4CAA260064E04C /* HandBrake Sources */,
+                               526FBC920B4CAA120064E04C /* HBTest Sources */,
+                               526FBC8D0B4CA9F90064E04C /* libhb Sources */,
                                29B97315FDCFA39411CA2CEA /* Other Sources */,
                                29B97317FDCFA39411CA2CEA /* Resources */,
                                29B97323FDCFA39411CA2CEA /* Frameworks */,
                                19C28FACFE9D520D11CA2CBB /* Products */,
-                               4DE09E62082038A400FB751F /* HandBrake.plist */,
-                               4D1EA2DC0993B01000FDC1A2 /* Express.plist */,
                        );
                        name = HandBrake;
                        sourceTree = "<group>";
                        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 */
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
+               526FBC880B4CA9DF0064E04C /* Headers */ = {
+                       isa = PBXHeadersBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               526FBCBB0B4CAB100064E04C /* common.h in Headers */,
+                               526FBCCA0B4CAB100064E04C /* hb.h in Headers */,
+                               526FBCCB0B4CAB100064E04C /* internal.h in Headers */,
+                               526FBCCC0B4CAB100064E04C /* lang.h in Headers */,
+                               526FBCD20B4CAB100064E04C /* ports.h in Headers */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
 /* End PBXHeadersBuildPhase section */
 
 /* Begin PBXNativeTarget section */
                        buildRules = (
                        );
                        dependencies = (
+                               5260EEEC0B4CB72E00C096C5 /* PBXTargetDependency */,
                        );
                        name = "Instant HandBrake";
                        productName = "Instant HandBrake";
                        buildRules = (
                        );
                        dependencies = (
+                               5260EEEA0B4CB72A00C096C5 /* PBXTargetDependency */,
                        );
                        name = HandBrake;
                        productName = HandBrake;
                        productReference = 4DD93FA6082036E8008E1322 /* HandBrake.app */;
                        productType = "com.apple.product-type.application";
                };
+               526FBC690B4CA85D0064E04C /* HBTest */ = {
+                       isa = PBXNativeTarget;
+                       buildConfigurationList = 526FBC700B4CA8B80064E04C /* Build configuration list for PBXNativeTarget "HBTest" */;
+                       buildPhases = (
+                               526FBC670B4CA85D0064E04C /* Sources */,
+                               526FBC680B4CA85D0064E04C /* Frameworks */,
+                       );
+                       buildRules = (
+                       );
+                       dependencies = (
+                               5260EEE50B4CB70400C096C5 /* PBXTargetDependency */,
+                       );
+                       name = HBTest;
+                       productName = HBTest;
+                       productReference = 526FBC6A0B4CA85D0064E04C /* HBTest */;
+                       productType = "com.apple.product-type.tool";
+               };
+               526FBC8B0B4CA9DF0064E04C /* hb */ = {
+                       isa = PBXNativeTarget;
+                       buildConfigurationList = 526FBC8E0B4CA9F90064E04C /* Build configuration list for PBXNativeTarget "hb" */;
+                       buildPhases = (
+                               526FBC880B4CA9DF0064E04C /* Headers */,
+                               526FBC890B4CA9DF0064E04C /* Sources */,
+                               526FBC8A0B4CA9DF0064E04C /* Frameworks */,
+                       );
+                       buildRules = (
+                       );
+                       dependencies = (
+                       );
+                       name = hb;
+                       productName = libhb;
+                       productReference = 526FBC8C0B4CA9DF0064E04C /* libhb.a */;
+                       productType = "com.apple.product-type.library.static";
+               };
 /* End PBXNativeTarget section */
 
 /* Begin PBXProject section */
                        targets = (
                                4DD93F8D082036E8008E1322 /* HandBrake */,
                                4D1EA2D90993B01000FDC1A2 /* Instant HandBrake */,
+                               526FBC690B4CA85D0064E04C /* HBTest */,
+                               526FBC8B0B4CA9DF0064E04C /* hb */,
                        );
                };
 /* End PBXProject section */
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
+               526FBC670B4CA85D0064E04C /* Sources */ = {
+                       isa = PBXSourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               526FBC770B4CA8F40064E04C /* test.c in Sources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+               526FBC890B4CA9DF0064E04C /* Sources */ = {
+                       isa = PBXSourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               526FBCBA0B4CAB100064E04C /* common.c in Sources */,
+                               526FBCBC0B4CAB100064E04C /* deca52.c in Sources */,
+                               526FBCBD0B4CAB100064E04C /* decavcodec.c in Sources */,
+                               526FBCBE0B4CAB100064E04C /* declpcm.c in Sources */,
+                               526FBCBF0B4CAB100064E04C /* decmpeg2.c in Sources */,
+                               526FBCC00B4CAB100064E04C /* decsub.c in Sources */,
+                               526FBCC10B4CAB100064E04C /* demuxmpeg.c in Sources */,
+                               526FBCC20B4CAB100064E04C /* dvd.c in Sources */,
+                               526FBCC30B4CAB100064E04C /* encavcodec.c in Sources */,
+                               526FBCC40B4CAB100064E04C /* encfaac.c in Sources */,
+                               526FBCC50B4CAB100064E04C /* enclame.c in Sources */,
+                               526FBCC60B4CAB100064E04C /* encvorbis.c in Sources */,
+                               526FBCC70B4CAB100064E04C /* encx264.c in Sources */,
+                               526FBCC80B4CAB100064E04C /* encxvid.c in Sources */,
+                               526FBCC90B4CAB100064E04C /* fifo.c in Sources */,
+                               526FBCCD0B4CAB100064E04C /* muxavi.c in Sources */,
+                               526FBCCE0B4CAB100064E04C /* muxcommon.c in Sources */,
+                               526FBCCF0B4CAB100064E04C /* muxmp4.c in Sources */,
+                               526FBCD00B4CAB100064E04C /* muxogm.c in Sources */,
+                               526FBCD10B4CAB100064E04C /* ports.c in Sources */,
+                               526FBCD30B4CAB100064E04C /* reader.c in Sources */,
+                               526FBCD40B4CAB100064E04C /* render.c in Sources */,
+                               526FBCD50B4CAB100064E04C /* scan.c in Sources */,
+                               526FBCD60B4CAB100064E04C /* sync.c in Sources */,
+                               526FBCD70B4CAB100064E04C /* update.c in Sources */,
+                               526FBCD80B4CAB100064E04C /* work.c in Sources */,
+                               5260EDCC0B4CACBE00C096C5 /* hb.c in Sources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
 /* End PBXSourcesBuildPhase section */
 
+/* Begin PBXTargetDependency section */
+               5260EEE50B4CB70400C096C5 /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       target = 526FBC8B0B4CA9DF0064E04C /* hb */;
+                       targetProxy = 5260EEE40B4CB70400C096C5 /* PBXContainerItemProxy */;
+               };
+               5260EEEA0B4CB72A00C096C5 /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       target = 526FBC8B0B4CA9DF0064E04C /* hb */;
+                       targetProxy = 5260EEE90B4CB72A00C096C5 /* PBXContainerItemProxy */;
+               };
+               5260EEEC0B4CB72E00C096C5 /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       target = 526FBC8B0B4CA9DF0064E04C /* hb */;
+                       targetProxy = 5260EEEB0B4CB72E00C096C5 /* PBXContainerItemProxy */;
+               };
+/* End PBXTargetDependency section */
+
 /* Begin PBXVariantGroup section */
                089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {
                        isa = PBXVariantGroup;
                                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,
                                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,
                                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,
                                LIBRARY_SEARCH_PATHS = "";
                                OTHER_CFLAGS = "";
                                OTHER_LDFLAGS = (
-                                       ../libhb/libhb.a,
                                        ../contrib/lib/liba52.a,
                                        ../contrib/lib/libavformat.a,
                                        ../contrib/lib/libavcodec.a,
                                LIBRARY_SEARCH_PATHS = "";
                                OTHER_CFLAGS = "";
                                OTHER_LDFLAGS = (
-                                       ../libhb/libhb.a,
                                        ../contrib/lib/liba52.a,
                                        ../contrib/lib/libavformat.a,
                                        ../contrib/lib/libavcodec.a,
                                LIBRARY_SEARCH_PATHS = "";
                                OTHER_CFLAGS = "";
                                OTHER_LDFLAGS = (
-                                       ../libhb/libhb.a,
                                        ../contrib/lib/liba52.a,
                                        ../contrib/lib/libavformat.a,
                                        ../contrib/lib/libavcodec.a,
                        };
                        name = Default;
                };
+               526FBC710B4CA8B80064E04C /* Development */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               ARCHS = i386;
+                               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;
+                               HEADER_SEARCH_PATHS = ../libhb;
+                               INSTALL_PATH = "$(HOME)/bin";
+                               OTHER_LDFLAGS = (
+                                       ../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 = HBTest;
+                               ZERO_LINK = NO;
+                       };
+                       name = Development;
+               };
+               526FBC720B4CA8B80064E04C /* Deployment */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               ARCHS = i386;
+                               COPY_PHASE_STRIP = YES;
+                               GCC_ENABLE_FIX_AND_CONTINUE = NO;
+                               GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+                               GCC_MODEL_TUNING = G5;
+                               HEADER_SEARCH_PATHS = ../libhb;
+                               INSTALL_PATH = "$(HOME)/bin";
+                               OTHER_LDFLAGS = (
+                                       ../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 = HBTest;
+                               ZERO_LINK = NO;
+                       };
+                       name = Deployment;
+               };
+               526FBC730B4CA8B80064E04C /* Default */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               ARCHS = i386;
+                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
+                               GCC_MODEL_TUNING = G5;
+                               HEADER_SEARCH_PATHS = ../libhb;
+                               INSTALL_PATH = "$(HOME)/bin";
+                               OTHER_LDFLAGS = (
+                                       ../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 = HBTest;
+                               ZERO_LINK = NO;
+                       };
+                       name = Default;
+               };
+               526FBC8F0B4CA9F90064E04C /* Development */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               ARCHS = (
+                                       ppc,
+                                       i386,
+                               );
+                               COPY_PHASE_STRIP = NO;
+                               EXECUTABLE_PREFIX = lib;
+                               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_PREPROCESSOR_DEFINITIONS = (
+                                       __LIBHB__,
+                                       SYS_DARWIN,
+                                       USE_PTHREAD,
+                                       "HB_BUILD=20060923",
+                                       "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_1)",
+                               );
+                               GCC_PREPROCESSOR_DEFINITIONS_QUOTED_1 = "HB_VERSION=\"0.7.1a2\"";
+                               HEADER_SEARCH_PATHS = ../contrib/include;
+                               INSTALL_PATH = /usr/local/lib;
+                               OTHER_LDFLAGS = "";
+                               PREBINDING = NO;
+                               PRODUCT_NAME = hb;
+                               ZERO_LINK = NO;
+                       };
+                       name = Development;
+               };
+               526FBC900B4CA9F90064E04C /* Deployment */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               ARCHS = (
+                                       ppc,
+                                       i386,
+                               );
+                               COPY_PHASE_STRIP = YES;
+                               EXECUTABLE_PREFIX = lib;
+                               GCC_ENABLE_FIX_AND_CONTINUE = NO;
+                               GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+                               GCC_MODEL_TUNING = G5;
+                               GCC_PREPROCESSOR_DEFINITIONS = (
+                                       __LIBHB__,
+                                       SYS_DARWIN,
+                                       USE_PTHREAD,
+                                       "HB_BUILD=20060923",
+                                       "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_1)",
+                               );
+                               GCC_PREPROCESSOR_DEFINITIONS_QUOTED_1 = "HB_VERSION=\"0.7.1a2\"";
+                               HEADER_SEARCH_PATHS = ../contrib/include;
+                               INSTALL_PATH = /usr/local/lib;
+                               OTHER_LDFLAGS = "";
+                               PREBINDING = NO;
+                               PRODUCT_NAME = hb;
+                               ZERO_LINK = NO;
+                       };
+                       name = Deployment;
+               };
+               526FBC910B4CA9F90064E04C /* Default */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               ARCHS = (
+                                       ppc,
+                                       i386,
+                               );
+                               EXECUTABLE_PREFIX = lib;
+                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
+                               GCC_MODEL_TUNING = G5;
+                               GCC_PREPROCESSOR_DEFINITIONS = (
+                                       __LIBHB__,
+                                       SYS_DARWIN,
+                                       USE_PTHREAD,
+                                       "HB_BUILD=20060923",
+                                       "$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_1)",
+                               );
+                               GCC_PREPROCESSOR_DEFINITIONS_QUOTED_1 = "HB_VERSION=\"0.7.1a2\"";
+                               HEADER_SEARCH_PATHS = ../contrib/include;
+                               INSTALL_PATH = /usr/local/lib;
+                               OTHER_LDFLAGS = "";
+                               PREBINDING = NO;
+                               PRODUCT_NAME = hb;
+                               ZERO_LINK = NO;
+                       };
+                       name = Default;
+               };
 /* End XCBuildConfiguration section */
 
 /* Begin XCConfigurationList section */
                        defaultConfigurationIsVisible = 0;
                        defaultConfigurationName = Default;
                };
+               526FBC700B4CA8B80064E04C /* Build configuration list for PBXNativeTarget "HBTest" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               526FBC710B4CA8B80064E04C /* Development */,
+                               526FBC720B4CA8B80064E04C /* Deployment */,
+                               526FBC730B4CA8B80064E04C /* Default */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+                       defaultConfigurationName = Default;
+               };
+               526FBC8E0B4CA9F90064E04C /* Build configuration list for PBXNativeTarget "hb" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               526FBC8F0B4CA9F90064E04C /* Development */,
+                               526FBC900B4CA9F90064E04C /* Deployment */,
+                               526FBC910B4CA9F90064E04C /* Default */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+                       defaultConfigurationName = Default;
+               };
 /* End XCConfigurationList section */
        };
        rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;