diff options
-rw-r--r-- | contrib/version_mpeg2dec.txt | 2 | ||||
-rw-r--r-- | contrib/version_xvidcore.txt | 2 | ||||
-rw-r--r-- | libhb/dvd.c | 33 | ||||
-rw-r--r-- | libhb/internal.h | 3 | ||||
-rw-r--r-- | libhb/reader.c | 3 | ||||
-rw-r--r-- | libhb/scan.c | 3 | ||||
-rw-r--r-- | macosx/Controller.mm | 10 | ||||
-rw-r--r-- | macosx/main.mm | 8 | ||||
-rw-r--r-- | test/test.c | 16 |
9 files changed, 60 insertions, 20 deletions
diff --git a/contrib/version_mpeg2dec.txt b/contrib/version_mpeg2dec.txt index 87a73c92a..a1e47302c 100644 --- a/contrib/version_mpeg2dec.txt +++ b/contrib/version_mpeg2dec.txt @@ -1 +1 @@ -http://download.m0k.org/handbrake/contrib/mpeg2dec-20051019.tar.gz +http://download.m0k.org/handbrake/contrib/mpeg2dec-20051112.tar.gz diff --git a/contrib/version_xvidcore.txt b/contrib/version_xvidcore.txt index 573cd3c8a..28a7cff4b 100644 --- a/contrib/version_xvidcore.txt +++ b/contrib/version_xvidcore.txt @@ -1 +1 @@ -http://download.m0k.org/handbrake/contrib/xvidcore-1.1.0-beta2.tar.gz +http://download.m0k.org/handbrake/contrib/xvidcore-1.1.0.tar.gz diff --git a/libhb/dvd.c b/libhb/dvd.c index 9b2aef13b..3888f41db 100644 --- a/libhb/dvd.c +++ b/libhb/dvd.c @@ -1,4 +1,4 @@ -/* $Id: dvd.c,v 1.11 2005/11/04 15:30:47 titer Exp $ +/* $Id: dvd.c,v 1.12 2005/11/25 15:05:25 titer Exp $ This file is part of the HandBrake source code. Homepage: <http://handbrake.m0k.org/>. @@ -511,6 +511,25 @@ int hb_dvd_start( hb_dvd_t * d, int title, int chapter ) } /*********************************************************************** + * hb_dvd_stop + *********************************************************************** + * + **********************************************************************/ +void hb_dvd_stop( hb_dvd_t * d ) +{ + if( d->ifo ) + { + ifoClose( d->ifo ); + d->ifo = NULL; + } + if( d->file ) + { + DVDCloseFile( d->file ); + d->file = NULL; + } +} + +/*********************************************************************** * hb_dvd_seek *********************************************************************** * @@ -675,10 +694,14 @@ void hb_dvd_close( hb_dvd_t ** _d ) { hb_dvd_t * d = *_d; - if( d->ifo ) ifoClose( d->ifo ); - if( d->vmg ) ifoClose( d->vmg ); - if( d->file ) DVDCloseFile( d->file ); - if( d->reader ) DVDClose( d->reader ); + if( d->vmg ) + { + ifoClose( d->vmg ); + } + if( d->reader ) + { + DVDClose( d->reader ); + } free( d ); *_d = NULL; diff --git a/libhb/internal.h b/libhb/internal.h index e22da82ee..02fb61578 100644 --- a/libhb/internal.h +++ b/libhb/internal.h @@ -1,4 +1,4 @@ -/* $Id: internal.h,v 1.40 2005/04/27 10:14:02 titer Exp $ +/* $Id: internal.h,v 1.41 2005/11/25 15:05:25 titer Exp $ This file is part of the HandBrake source code. Homepage: <http://handbrake.m0k.org/>. @@ -104,6 +104,7 @@ hb_dvd_t * hb_dvd_init( char * path ); int hb_dvd_title_count( hb_dvd_t * ); hb_title_t * hb_dvd_title_scan( hb_dvd_t *, int title ); int hb_dvd_start( hb_dvd_t *, int title, int chapter ); +void hb_dvd_stop( hb_dvd_t * ); int hb_dvd_seek( hb_dvd_t *, float ); int hb_dvd_read( hb_dvd_t *, hb_buffer_t * ); int hb_dvd_chapter( hb_dvd_t * ); diff --git a/libhb/reader.c b/libhb/reader.c index e57467d8d..47ec9d546 100644 --- a/libhb/reader.c +++ b/libhb/reader.c @@ -1,4 +1,4 @@ -/* $Id: reader.c,v 1.20 2005/04/29 19:55:54 titer Exp $ +/* $Id: reader.c,v 1.21 2005/11/25 15:05:25 titer Exp $ This file is part of the HandBrake source code. Homepage: <http://handbrake.m0k.org/>. @@ -113,6 +113,7 @@ static void ReaderFunc( void * _r ) hb_list_empty( &list ); hb_buffer_close( &r->ps ); + hb_dvd_stop( r->dvd ); hb_dvd_close( &r->dvd ); hb_log( "reader: done" ); diff --git a/libhb/scan.c b/libhb/scan.c index 812e84026..f60392cea 100644 --- a/libhb/scan.c +++ b/libhb/scan.c @@ -1,4 +1,4 @@ -/* $Id: scan.c,v 1.51 2005/04/27 21:05:24 titer Exp $ +/* $Id: scan.c,v 1.52 2005/11/25 15:05:25 titer Exp $ This file is part of the HandBrake source code. Homepage: <http://handbrake.m0k.org/>. @@ -397,6 +397,7 @@ cleanup: hb_buffer_close( &buf_raw ); } hb_list_close( &list_raw ); + hb_dvd_stop( data->dvd ); return ret; } diff --git a/macosx/Controller.mm b/macosx/Controller.mm index a4ba98afe..7a4e9a7aa 100644 --- a/macosx/Controller.mm +++ b/macosx/Controller.mm @@ -1,4 +1,4 @@ -/* $Id: Controller.mm,v 1.78 2005/11/04 13:09:41 titer Exp $ +/* $Id: Controller.mm,v 1.79 2005/11/04 19:41:32 titer Exp $ This file is part of the HandBrake source code. Homepage: <http://handbrake.m0k.org/>. @@ -884,17 +884,15 @@ static int FormatSettings[3][4] = int format = [fDstFormatPopUp indexOfSelectedItem]; int codecs = [fDstCodecsPopUp indexOfSelectedItem]; - /* Update the encoder popup if necessary */ - if( ( FormatSettings[format][codecs] & HB_VCODEC_X264 ) && - [fVidEncoderPopUp numberOfItems] > 1 ) + /* Update the encoder popup */ + if( ( FormatSettings[format][codecs] & HB_VCODEC_X264 ) ) { /* MPEG-4 -> H.264 */ [fVidEncoderPopUp removeAllItems]; [fVidEncoderPopUp addItemWithTitle: @"x264 (Main profile)"]; [fVidEncoderPopUp addItemWithTitle: @"x264 (Baseline profile)"]; } - else if( ( FormatSettings[format][codecs] & HB_VCODEC_FFMPEG ) && - [fVidEncoderPopUp numberOfItems] < 2 ) + else if( ( FormatSettings[format][codecs] & HB_VCODEC_FFMPEG ) ) { /* H.264 -> MPEG-4 */ [fVidEncoderPopUp removeAllItems]; diff --git a/macosx/main.mm b/macosx/main.mm index 78f659e03..b07c7f1c8 100644 --- a/macosx/main.mm +++ b/macosx/main.mm @@ -1,4 +1,4 @@ -/* $Id: main.mm,v 1.2 2004/10/26 20:49:41 titer Exp $ +/* $Id: main.mm,v 1.3 2005/11/25 15:04:35 titer Exp $ This file is part of the HandBrake source code. Homepage: <http://handbrake.m0k.org/>. @@ -6,7 +6,13 @@ #include <Cocoa/Cocoa.h> +void SigHandler( int signal ) +{ + [NSApp terminate: NULL]; +} + int main( int argc, const char ** argv ) { + signal( SIGINT, SigHandler ); return NSApplicationMain( argc, argv ); } diff --git a/test/test.c b/test/test.c index 3f250bc6c..4fd8e57df 100644 --- a/test/test.c +++ b/test/test.c @@ -1,4 +1,4 @@ -/* $Id: test.c,v 1.81 2005/10/15 18:05:03 titer Exp $ +/* $Id: test.c,v 1.82 2005/11/19 08:25:54 titer Exp $ This file is part of the HandBrake source code. Homepage: <http://handbrake.m0k.org/>. @@ -20,6 +20,7 @@ static int twoPass = 0; static int deinterlace = 0; static int grayscale = 0; static int vcodec = HB_VCODEC_FFMPEG; +static int h264_13 = 0; static char * audios = NULL; static int sub = 0; static int width = 0; @@ -338,6 +339,10 @@ static int HandleEvents( hb_handle_t * h ) { job->vcodec = vcodec; } + if( h264_13 ) + { + job->h264_13 = h264_13; + } if( vrate ) { job->vrate = 27000000; @@ -499,8 +504,8 @@ static void ShowHelp() " audio, default: first one)\n" "\n" " -s, --subtitle <number> Select subtitle (default: none)\n" - " -e, --encoder <string> Set video library encoder (ffmpeg/xvid/x264,\n" - " default: ffmpeg)\n" + " -e, --encoder <string> Set video library encoder (ffmpeg,xvid,\n" + " x264,x264b13, default: ffmpeg)\n" " -E, --aencoder <string> Set audio encoder (faac/lame/vorbis/ac3, ac3\n" " meaning passthrough, default: guessed)\n" " -2, --two-pass Use two-pass mode\n" @@ -663,6 +668,11 @@ static int ParseOptions( int argc, char ** argv ) { vcodec = HB_VCODEC_X264; } + else if( !strcasecmp( optarg, "x264b13" ) ) + { + vcodec = HB_VCODEC_X264; + h264_13 = 1; + } else { fprintf( stderr, "invalid codec (%s)\n", optarg ); |