From d779db015e45de223ff533649d2a16319da713e0 Mon Sep 17 00:00:00 2001 From: saintdev Date: Sat, 14 Jul 2007 02:24:41 +0000 Subject: Matroska muxer! -Chapters don't work in VLC. I'll need to update the library to work-around this. Most other players should pick them up, however. -PAR, check. -x264 b-frames, check. -Multi-track audio, check. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@680 b64f7644-9d1e-0410-96f1-a4d463321fa5 --- test/test.c | 50 +++++++++++++++++++++++++++++++++++--------------- 1 file changed, 35 insertions(+), 15 deletions(-) (limited to 'test') diff --git a/test/test.c b/test/test.c index 105050ecc..d3ae5a794 100644 --- a/test/test.c +++ b/test/test.c @@ -741,7 +741,7 @@ static void ShowHelp() "### Destination Options------------------------------------------------------\n\n" " -o, --output Set output file name\n" - " -f, --format Set output format (avi/mp4/ogm, default:\n" + " -f, --format Set output format (avi/mp4/ogm/mkv, default:\n" " autodetected from file name)\n" " -4, --large-file Use 64-bit mp4 files that can hold more than\n" " 4 GB. Note: Breaks iPod, @TV, PS3 compatibility.\n""" @@ -966,7 +966,7 @@ static int ParseOptions( int argc, char ** argv ) else if( !strcasecmp( optarg, "dpl2" ) ) { audio_mixdown = HB_AMIXDOWN_DOLBYPLII; - } + } else if( !strcasecmp( optarg, "6ch" ) ) { audio_mixdown = HB_AMIXDOWN_6CH; @@ -1011,11 +1011,11 @@ static int ParseOptions( int argc, char ** argv ) vcodec = HB_VCODEC_X264; h264_13 = 1; } - else if( !strcasecmp( optarg, "x264b30" ) ) - { - vcodec = HB_VCODEC_X264; - h264_30 = 1; - } + else if( !strcasecmp( optarg, "x264b30" ) ) + { + vcodec = HB_VCODEC_X264; + h264_30 = 1; + } else { fprintf( stderr, "invalid codec (%s)\n", optarg ); @@ -1031,6 +1031,14 @@ static int ParseOptions( int argc, char ** argv ) { acodec = HB_ACODEC_LAME; } + else if( !strcasecmp( optarg, "faac" ) ) + { + acodec = HB_ACODEC_FAAC; + } + else if( !strcasecmp( optarg, "vorbis") ) + { + acodec = HB_ACODEC_VORBIS; + } break; case 'w': width = atoi( optarg ); @@ -1159,18 +1167,22 @@ static int CheckOptions( int argc, char ** argv ) mux = HB_MUX_AVI; } else if( p && ( !strcasecmp( p, ".mp4" ) || - !strcasecmp( p, ".m4v" ) ) ) + !strcasecmp( p, ".m4v" ) ) ) { - if ( h264_30 == 1 ) + if ( h264_30 == 1 ) mux = HB_MUX_IPOD; - else - mux = HB_MUX_MP4; + else + mux = HB_MUX_MP4; } else if( p && ( !strcasecmp( p, ".ogm" ) || !strcasecmp( p, ".ogg" ) ) ) { mux = HB_MUX_OGM; } + else if( p && !strcasecmp(p, ".mkv" ) ) + { + mux = HB_MUX_MKV; + } else { fprintf( stderr, "Output format couldn't be guessed " @@ -1184,20 +1196,24 @@ static int CheckOptions( int argc, char ** argv ) } else if( !strcasecmp( format, "mp4" ) ) { - if ( h264_30 == 1) - mux = HB_MUX_IPOD; + if ( h264_30 == 1) + mux = HB_MUX_IPOD; else - mux = HB_MUX_MP4; + mux = HB_MUX_MP4; } else if( !strcasecmp( format, "ogm" ) || !strcasecmp( format, "ogg" ) ) { mux = HB_MUX_OGM; } + else if( !strcasecmp( format, "mkv" ) ) + { + mux = HB_MUX_MKV; + } else { fprintf( stderr, "Invalid output format (%s). Possible " - "choices are avi, mp4 and ogm\n.", format ); + "choices are avi, mp4, m4v, ogm, ogg and mkv\n.", format ); return 1; } @@ -1215,6 +1231,10 @@ static int CheckOptions( int argc, char ** argv ) { acodec = HB_ACODEC_VORBIS; } + else if( mux == HB_MUX_MKV ) + { + acodec = HB_ACODEC_AC3; + } } } -- cgit v1.2.3