From: root Date: Sat, 14 Jan 2006 13:11:35 +0000 (+0000) Subject: HandBrake 0.5.2 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=d8c8648e7970d66f8408d9facd67913d5efc50fb;p=handbrake-jp%2Fhandbrake-jp-git.git HandBrake 0.5.2 git-svn-id: svn://localhost/HandBrake/trunk@9 b64f7644-9d1e-0410-96f1-a4d463321fa5 --- diff --git a/Jamfile b/Jamfile index b04cd66d..a96bf594 100644 --- a/Jamfile +++ b/Jamfile @@ -1,10 +1,10 @@ -# $Id: Jamfile,v 1.8 2003/11/09 22:11:06 titer Exp $ +# $Id: Jamfile,v 1.10 2003/11/13 02:09:14 titer Exp $ # # This file is part of the HandBrake source code. # Homepage: . # It may be used under the terms of the GNU General Public License. -HB_VERSION = 0.5.1 ; +HB_VERSION = 0.5.2 ; # Compilers CC = gcc ; diff --git a/TODO b/TODO index 19d9acfd..97084909 100644 --- a/TODO +++ b/TODO @@ -2,20 +2,20 @@ + Should be able to boost the audio volume + Allow the intf to preview the latest encoded picture + Finish and test the MPEG audio decoder - + More encoding options: B-frames, type of estimation, - type of scaling, etc + + More encoding options: B-frames, type of estimation etc etc + Subtitle support - + Finish xvid encoding support (2-pass, more tests) + Allow the user to split the file in x parts + + AC3 pass-through + AAC & vorbis encoding support + mp4 & mkv muxing support + manual aspect ratio + + rotate the movie + + rip only a few chapters + + network shared processing (using RendezVous) - All interfaces + Use the DVD name in popup and for the name of the created file + + nice 'About...' box with link to homepage & faq - BeOS interface + Redo the picture panel - -- OS X interface - + Make the 'destination' field editable diff --git a/core/AviMux.c b/core/AviMux.c index bd055121..ca34d3ca 100644 --- a/core/AviMux.c +++ b/core/AviMux.c @@ -1,4 +1,4 @@ -/* $Id: AviMux.c,v 1.5 2003/11/06 18:35:53 titer Exp $ +/* $Id: AviMux.c,v 1.6 2003/11/13 01:18:52 titer Exp $ This file is part of the HandBrake source code. Homepage: . @@ -605,7 +605,7 @@ static void IndexAddInt32( HBBuffer * b, uint32_t val ) { HBLog( "HBAviMux: reallocing index (%d MB)", 1 + b->alloc / 1024 / 1024 ); - HBBufferReAlloc( b, b->alloc + 1024 + 1024 ); + HBBufferReAlloc( b, b->alloc + 1024 * 1024 ); } b->data[b->size++] = val & 0xFF; diff --git a/core/HandBrake.c b/core/HandBrake.c index b7670bad..c76a27b3 100644 --- a/core/HandBrake.c +++ b/core/HandBrake.c @@ -1,4 +1,4 @@ -/* $Id: HandBrake.c,v 1.16 2003/11/09 21:26:52 titer Exp $ +/* $Id: HandBrake.c,v 1.18 2003/11/13 01:17:33 titer Exp $ This file is part of the HandBrake source code. Homepage: . @@ -117,6 +117,7 @@ HBHandle * HBInit( int debug, int cpuCount ) h->lock = HBLockInit(); h->modeChanged = 1; h->status.mode = HB_MODE_NEED_DEVICE; + h->status.titleList = NULL; h->curTitle = NULL; h->curAudio = NULL; h->curOptAudio = NULL; @@ -191,16 +192,16 @@ void HBStartRip( HBHandle * h, HBTitle * t, FixPictureSettings( t ); /* Create fifos */ - t->mpeg2Fifo = HBFifoInit( 512 ); + t->mpeg2Fifo = HBFifoInit( 1024 ); t->rawFifo = HBFifoInit( 1 ); t->scaledFifo = HBFifoInit( 1 ); t->mpeg4Fifo = HBFifoInit( 1 ); - a1->ac3Fifo = HBFifoInit( 512 ); + a1->ac3Fifo = HBFifoInit( 1024 ); a1->rawFifo = HBFifoInit( 1 ); a1->mp3Fifo = HBFifoInit( 1 ); if( a2 ) { - a2->ac3Fifo = HBFifoInit( 512 ); + a2->ac3Fifo = HBFifoInit( 1024 ); a2->rawFifo = HBFifoInit( 1 ); a2->mp3Fifo = HBFifoInit( 1 ); } diff --git a/core/Mpeg2Dec.c b/core/Mpeg2Dec.c index d6ce22b3..fb81f808 100644 --- a/core/Mpeg2Dec.c +++ b/core/Mpeg2Dec.c @@ -1,4 +1,4 @@ -/* $Id: Mpeg2Dec.c,v 1.3 2003/11/06 12:33:11 titer Exp $ +/* $Id: Mpeg2Dec.c,v 1.4 2003/11/12 21:46:59 titer Exp $ This file is part of the HandBrake source code. Homepage: . @@ -169,7 +169,6 @@ static int Mpeg2DecWork( HBWork * w ) tmpBuffer = HBBufferInit( rawBuffer->size ); tmpBuffer->position = rawBuffer->position; tmpBuffer->pass = rawBuffer->pass; - tmpBuffer->last = rawBuffer->last; memcpy( tmpBuffer->data, rawBuffer->data, tmpBuffer->size ); HBListAdd( m->rawBufferList, tmpBuffer ); diff --git a/core/Thread.c b/core/Thread.c index 77caa0ee..f0d8e628 100644 --- a/core/Thread.c +++ b/core/Thread.c @@ -1,10 +1,13 @@ -/* $Id: Thread.c,v 1.4 2003/11/06 15:51:36 titer Exp $ +/* $Id: Thread.c,v 1.5 2003/11/12 16:09:34 titer Exp $ This file is part of the HandBrake source code. Homepage: . It may be used under the terms of the GNU General Public License. */ #include "Thread.h" +#ifdef SYS_CYGWIN +# include +#endif struct HBThread { @@ -18,14 +21,11 @@ struct HBThread #elif defined( SYS_MACOSX ) || defined( SYS_LINUX ) pthread_t thread; #elif defined( SYS_CYGWIN ) - /* TODO */ - int thread; + HANDLE thread; #endif }; -#ifndef SYS_CYGWIN static void ThreadFunc( void * t ); -#endif HBThread * HBThreadInit( char * name, void (* function)(void *), void * arg, int priority ) @@ -50,8 +50,8 @@ HBThread * HBThreadInit( char * name, void (* function)(void *), pthread_create( &t->thread, NULL, (void * (*)( void * )) ThreadFunc, t ); #elif defined( SYS_CYGWIN ) - /* TODO */ - t->thread = 0; + t->thread = CreateThread( NULL, 0, + (LPTHREAD_START_ROUTINE) ThreadFunc, t, 0, NULL ); #endif HBLog( "HBThreadInit: thread %d started (\"%s\")", @@ -60,7 +60,6 @@ HBThread * HBThreadInit( char * name, void (* function)(void *), return t; } -#ifndef SYS_CYGWIN static void ThreadFunc( void * _t ) { HBThread * t = (HBThread*) _t; @@ -77,7 +76,6 @@ static void ThreadFunc( void * _t ) t->function( t->arg ); } -#endif void HBThreadClose( HBThread ** _t ) { @@ -89,7 +87,7 @@ void HBThreadClose( HBThread ** _t ) #elif defined( SYS_MACOSX ) || defined( SYS_LINUX ) pthread_join( t->thread, NULL ); #elif defined( SYS_CYGWIN ) - /* TODO */ + WaitForSingleObject( t->thread, INFINITE ); #endif HBLog( "HBThreadClose: thread %d stopped (\"%s\")", diff --git a/core/Utils.c b/core/Utils.c index 94b3b1e0..56697990 100644 --- a/core/Utils.c +++ b/core/Utils.c @@ -1,4 +1,4 @@ -/* $Id: Utils.c,v 1.7 2003/11/09 14:27:56 titer Exp $ +/* $Id: Utils.c,v 1.8 2003/11/12 16:09:34 titer Exp $ This file is part of the HandBrake source code. Homepage: . @@ -7,6 +7,9 @@ #include #include #include +#ifdef SYS_CYGWIN +# include +#endif #include "Utils.h" #include "Fifo.h" @@ -25,7 +28,7 @@ void HBSnooze( int time ) #elif defined( SYS_MACOSX ) || defined( SYS_LINUX ) usleep( time ); #elif defined( SYS_CYGWIN ) - /* TODO */ + Sleep( time / 1000 ); #endif } @@ -68,7 +71,7 @@ uint64_t HBGetDate() gettimeofday( &tv, NULL ); return( (uint64_t) tv.tv_sec * 1000000 + (uint64_t) tv.tv_usec ); #else - return 0; + return( 1000 * GetTickCount() ); #endif } diff --git a/macosx/Controller.h b/macosx/Controller.h index afa2fb7f..435e2216 100644 --- a/macosx/Controller.h +++ b/macosx/Controller.h @@ -1,4 +1,4 @@ -/* $Id: Controller.h,v 1.5 2003/11/09 19:43:06 titer Exp $ +/* $Id: Controller.h,v 1.6 2003/11/13 01:40:44 titer Exp $ This file is part of the HandBrake source code. Homepage: . @@ -56,7 +56,7 @@ IBOutlet NSTextField * fRipStatusField; IBOutlet NSTextField * fRipInfoField; IBOutlet NSProgressIndicator * fRipProgress; - IBOutlet NSButton * fSuspendButton; + IBOutlet NSButton * fPauseButton; IBOutlet NSButton * fRipButton; /* "Done" alert panel */ @@ -105,7 +105,9 @@ returnCode: (int) returnCode contextInfo: (void *) contextInfo; - (void) _Rip; - (IBAction) Cancel: (id) sender; -- (IBAction) Suspend: (id) sender; +- (void) _Cancel: (NSWindow *) sheet returnCode: (int) returnCode + contextInfo: (void *) contextInfo; +- (IBAction) Pause: (id) sender; - (IBAction) Resume: (id) sender; - (IBAction) PreviousPicture: (id) sender; diff --git a/macosx/Controller.mm b/macosx/Controller.mm index 0b452bf9..ea5a2c16 100644 --- a/macosx/Controller.mm +++ b/macosx/Controller.mm @@ -1,4 +1,4 @@ -/* $Id: Controller.mm,v 1.9 2003/11/09 22:06:15 titer Exp $ +/* $Id: Controller.mm,v 1.10 2003/11/13 01:40:44 titer Exp $ This file is part of the HandBrake source code. Homepage: . @@ -327,12 +327,24 @@ - (IBAction) Cancel: (id) sender { - HBStopRip( fHandle ); + NSBeginCriticalAlertSheet( @"Cancel - Are you sure?", + @"Nooo, keep going!", @"Yep, stop it", nil, fWindow, self, + @selector( _Cancel:returnCode:contextInfo: ), + nil, nil, @"Encoding won't be recoverable." ); } -- (IBAction) Suspend: (id) sender +- (void) _Cancel: (NSWindow *) sheet + returnCode: (int) returnCode contextInfo: (void *) contextInfo +{ + if( returnCode == NSAlertAlternateReturn ) + { + HBStopRip( fHandle ); + } +} + +- (IBAction) Pause: (id) sender { - if( [[fSuspendButton title] compare: @"Resume" ] == NSOrderedSame ) + if( [[fPauseButton title] compare: @"Resume" ] == NSOrderedSame ) { [self Resume: self]; return; @@ -498,7 +510,7 @@ /* Show the new GUI */ [fWindow setContentView: fRipView ]; - [fSuspendButton setEnabled: NO]; + [fPauseButton setEnabled: NO]; [fTitlePopUp removeAllItems]; HBTitle * title; @@ -537,8 +549,8 @@ [fFileFormatPopUp setEnabled: NO]; [fFileField setEnabled: NO]; [fFileBrowseButton setEnabled: NO]; - [fSuspendButton setEnabled: YES]; - [fSuspendButton setTitle: @"Suspend"]; + [fPauseButton setEnabled: YES]; + [fPauseButton setTitle: @"Pause"]; [fRipButton setTitle: @"Cancel"]; } @@ -588,7 +600,7 @@ [fRipProgress setDoubleValue: 100 * status.position]; - [fSuspendButton setTitle: @"Resume"]; + [fPauseButton setTitle: @"Resume"]; break; } @@ -681,8 +693,8 @@ [fFileFormatPopUp setEnabled: YES]; [fFileField setEnabled: YES]; [fFileBrowseButton setEnabled: YES]; - [fSuspendButton setEnabled: NO]; - [fSuspendButton setTitle: @"Suspend"]; + [fPauseButton setEnabled: NO]; + [fPauseButton setTitle: @"Pause"]; [fRipButton setTitle: @"Rip"]; [self VideoMatrixChanged: self]; diff --git a/macosx/English.lproj/InfoPlist.strings b/macosx/English.lproj/InfoPlist.strings index cc4cb2ee..ce3b28a6 100644 Binary files a/macosx/English.lproj/InfoPlist.strings and b/macosx/English.lproj/InfoPlist.strings differ diff --git a/macosx/English.lproj/MainMenu.nib/classes.nib b/macosx/English.lproj/MainMenu.nib/classes.nib index 8c468d47..161d5107 100644 --- a/macosx/English.lproj/MainMenu.nib/classes.nib +++ b/macosx/English.lproj/MainMenu.nib/classes.nib @@ -9,13 +9,13 @@ Cancel = id; ClosePanel = id; NextPicture = id; + Pause = id; PreviousPicture = id; Resume = id; Rip = id; Scan = id; ScanMatrixChanged = id; ShowPicturePanel = id; - Suspend = id; TitlePopUpChanged = id; UpdatePicture = id; VideoMatrixChanged = id; @@ -42,6 +42,7 @@ fLeftStepper = NSStepper; fNextButton = NSButton; fOpenGLCheck = NSButton; + fPauseButton = NSButton; fPictureGLView = HBPictureGLView; fPicturePanel = NSPanel; fPreviousButton = NSButton; @@ -59,7 +60,6 @@ fScanStatusField = NSTextField; fScanView = NSView; fSecondaryLanguagePopUp = NSPopUpButton; - fSuspendButton = NSButton; fTargetSizeField = HBTargetSizeField; fTempView = NSView; fTitlePopUp = NSPopUpButton; diff --git a/macosx/English.lproj/MainMenu.nib/info.nib b/macosx/English.lproj/MainMenu.nib/info.nib index fddfb6ac..a4c078c2 100644 --- a/macosx/English.lproj/MainMenu.nib/info.nib +++ b/macosx/English.lproj/MainMenu.nib/info.nib @@ -19,15 +19,15 @@ 349.0 IBOpenObjects - 583 + 556 + 589 365 434 29 - 556 + 583 21 - 589 IBSystem Version - 7B85 + 7C107 diff --git a/macosx/English.lproj/MainMenu.nib/objects.nib b/macosx/English.lproj/MainMenu.nib/objects.nib index c02905a5..956897bc 100644 Binary files a/macosx/English.lproj/MainMenu.nib/objects.nib and b/macosx/English.lproj/MainMenu.nib/objects.nib differ diff --git a/macosx/HandBrake.pbproj/project.pbxproj b/macosx/HandBrake.pbproj/project.pbxproj index b3b522b6..c47e0176 100644 --- a/macosx/HandBrake.pbproj/project.pbxproj +++ b/macosx/HandBrake.pbproj/project.pbxproj @@ -295,7 +295,7 @@ CFBundleExecutable HandBrake CFBundleGetInfoString - HandBrake 0.5.1 - By Eric Petit <titer@m0k.org> + HandBrake 0.5.2 - By Eric Petit <titer@m0k.org> CFBundleIconFile HandBrake.icns CFBundleIdentifier @@ -307,11 +307,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 0.5.1 + 0.5.2 CFBundleSignature HB## CFBundleVersion - 0.5.1 + 0.5.2 NSMainNibFile MainMenu NSPrincipalClass diff --git a/test/test.c b/test/test.c index ec576cbb..d59e7ee3 100644 --- a/test/test.c +++ b/test/test.c @@ -1,4 +1,4 @@ -/* $Id: test.c,v 1.5 2003/11/06 13:28:07 titer Exp $ +/* $Id: test.c,v 1.7 2003/11/13 01:18:52 titer Exp $ This file is part of the HandBrake source code. Homepage: . @@ -45,8 +45,11 @@ int main( int argc, char ** argv ) /* Exit ASAP on Ctrl-C */ signal( SIGINT, SigHandler ); + fprintf( stderr, "Welcome to HandBrake " VERSION "\n" ); + /* Parse command line */ - while( ( c = getopt( argc, argv, "qd:o:t:a:b:piw:j:k:l:m:c:e:f:x" ) ) != -1 ) + while( ( c = getopt( argc, argv, + "qd:o:t:a:b:piw:j:k:l:m:c:e:f:x" ) ) != -1 ) { switch( c ) { @@ -127,27 +130,27 @@ int main( int argc, char ** argv ) if( !device || !file ) { fprintf( stderr, - "Syntax: HBTest [options] -d -o \n" - "Possible options are :\n" - " -q quiet output\n" - " -t select a title (default is 1)\n" - " -a primary audio channel (default is 1)\n" - " -b secondary audio channel (default is none)\n" - " -p 2-pass encoding\n" - " -i deinterlace picture\n" - " -w output width\n" - " -j top cropping\n" - " -k bottom cropping\n" - " -l left cropping\n" - " -m right cropping\n" - " -c CPU count (default: autodetected)\n" - " -e Video bitrate (default is 1024)\n" - " -f Audio bitrate (default is 128)\n" - " -x Use XviD instead of Ffmpeg\n" ); + "Syntax: HBTest [options] -d -o \n" + "Possible options are :\n" + " -q quiet output\n" + " -t select a title (default is 1)\n" + " -a primary audio channel (default is 1)\n" + " -b secondary audio channel (default is none)\n" + " -p 2-pass encoding\n" + " -i deinterlace picture\n" + " -w output width\n" + " -j top cropping\n" + " -k bottom cropping\n" + " -l left cropping\n" + " -m right cropping\n" + " -c CPU count (default: autodetected)\n" + " -e Video bitrate (default is 1024)\n" + " -f Audio bitrate (default is 128)\n" + " -x Use XviD instead of Ffmpeg\n" ); return 1; } - /* Create the manager thread */ + /* Create the lihb thread & init things */ h = HBInit( debug, cpuCount ); while( !die )