summaryrefslogtreecommitdiffstats
path: root/test/test.c
diff options
context:
space:
mode:
authorsaintdev <[email protected]>2007-07-14 02:24:41 +0000
committersaintdev <[email protected]>2007-07-14 02:24:41 +0000
commitd779db015e45de223ff533649d2a16319da713e0 (patch)
treee0cf952a01516a3437635f79717f3289f546fd75 /test/test.c
parent94f9f929935a52ddf7899ff67be5f4cc56c68759 (diff)
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
Diffstat (limited to 'test/test.c')
-rw-r--r--test/test.c50
1 files changed, 35 insertions, 15 deletions
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 <string> Set output file name\n"
- " -f, --format <string> Set output format (avi/mp4/ogm, default:\n"
+ " -f, --format <string> 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;
+ }
}
}