#endif
/* Options */
-static int debug = HB_DEBUG_NONE;
+static int debug = HB_DEBUG_ALL;
static int update = 0;
-static int dvdnav = 0;
+static int dvdnav = 1;
static char * input = NULL;
static char * output = NULL;
static char * format = NULL;
static int chapter_end = 0;
static int chapter_markers = 0;
static char * marker_file = NULL;
-static int crf = 1;
static char *x264opts = NULL;
static char *x264opts2 = NULL;
static int maxHeight = 0;
static int maxWidth = 0;
static int turbo_opts_enabled = 0;
-static char * turbo_opts = "ref=1:subme=1:me=dia:analyse=none:trellis=0:no-fast-pskip=0:8x8dct=0:weightb=0";
+static char * turbo_opts = "ref=1:subme=2:me=dia:analyse=none:trellis=0:no-fast-pskip=0:8x8dct=0:weightb=0";
static int largeFileSize = 0;
static int preset = 0;
static char * preset_name = 0;
int i;
fprintf( stderr, "+ title %d:\n", title->index );
- fprintf( stderr, " + vts %d, ttn %d, cells %d->%d (%d blocks)\n",
- title->vts, title->ttn, title->cell_start, title->cell_end,
- title->block_count );
+ if ( title->type == HB_STREAM_TYPE )
+ {
+ fprintf( stderr, " + stream: %s\n", title->path );
+ }
+ else if ( title->type == HB_DVD_TYPE )
+ {
+ fprintf( stderr, " + vts %d, ttn %d, cells %d->%d (%d blocks)\n",
+ title->vts, title->ttn, title->cell_start, title->cell_end,
+ title->block_count );
+ }
if (dvdnav)
fprintf( stderr, " + angle(s) %d\n", title->angle_count );
fprintf( stderr, " + duration: %02d:%02d:%02d\n",
}
vcodec = HB_VCODEC_X264;
job->vquality = 20.0;
- job->crf = 1;
if( !atracks )
{
atracks = strdup("1,1");
}
vcodec = HB_VCODEC_X264;
job->vquality = 20.0;
- job->crf = 1;
if( !atracks )
{
atracks = strdup("1");
job->largeFileSize = 1;
vcodec = HB_VCODEC_X264;
job->vquality = 20.0;
- job->crf = 1;
if( !atracks )
{
atracks = strdup("1,1");
maxWidth = 960;
if( !x264opts )
{
- x264opts = strdup("cabac=0:ref=2:me=umh:b-adapt=2:weightb=0:trellis=0");
+ x264opts = strdup("cabac=0:ref=2:me=umh:b-adapt=2:weightb=0:trellis=0:weightp=0");
}
anamorphic_mode = 2;
job->chapter_markers = 1;
}
vcodec = HB_VCODEC_X264;
job->vquality = 20.0;
- job->crf = 1;
if( !atracks )
{
atracks = strdup("1");
}
if( !x264opts )
{
- x264opts = strdup("ref=2:bframes=2:me=umh:subme=6:mixed-refs=0:weightb=0:8x8dct=0:trellis=0");
+ x264opts = strdup("ref=2:bframes=2:subme=6:mixed-refs=0:weightb=0:8x8dct=0:trellis=0");
}
anamorphic_mode = 1;
job->chapter_markers = 1;
}
vcodec = HB_VCODEC_X264;
job->vquality = 20.0;
- job->crf = 1;
if( !atracks )
{
atracks = strdup("1,1");
}
if( !x264opts )
{
- x264opts = strdup("b-pyramid:b-adapt=2:me=umh:subme=9:analyse=all:trellis=0");
+ x264opts = strdup("b-adapt=2:rc-lookahead=50");
}
detelecine = 1;
decomb = 1;
}
}
- if( hb_list_count(audios) == 0 )
+ if( hb_list_count(audios) == 0 &&
+ hb_list_count(job->title->list_audio) > 0 )
{
/* Create a new audio track with default settings */
audio = calloc(1, sizeof(*audio));
job->file = strdup( output );
- if( crf )
- {
- job->crf = 1;
- }
-
if( color_matrix )
{
job->color_matrix = color_matrix;
" if the preset name has spaces, surround it with\n"
" double quotation marks\n"
" -z, --preset-list See a list of available built-in presets\n"
- " --dvdnav Use dvdnav (Experimental)\n"
+ " --no-dvdnav Do not use dvdnav for reading DVDs\n"
+ " (experimental, enabled by default for testing)\n"
"\n"
"### Source Options-----------------------------------------------------------\n\n"
" same style as mencoder:\n"
" option1=value1:option2=value2\n"
" -q, --quality <float> Set video quality (0.0..1.0)\n"
- " -Q, --cqp Use with -q for CQP instead of CRF\n"
" -S, --size <MB> Set target size\n"
" -b, --vb <kb/s> Set video bitrate (default: 1000)\n"
" -2, --two-pass Use two-pass mode\n"
" or\n"
" <fast/slow/slower>\n"
" -5, --decomb Selectively deinterlaces when it detects combing\n"
- " <MO:ME:MT:ST:BT:BX:BY> (default: 1:2:6:9:80:16:16)\n"
+ " <MO:ME:MT:ST:BT:BX:BY:MG:VA:LA:DI:ER:NO:MD:PP:FD>\n"
+ " (default: 7:2:6:9:80:16:16:10:20:20:4:2:50:24:1:-1)\n"
" -9, --detelecine Detelecine (ivtc) video with pullup filter\n"
" Note: this filter drops duplicate frames to\n"
" restore the pre-telecine framerate, unless you\n"
" specify a constant framerate (--rate 29.97)\n"
- " <L:R:T:B:SB:MP> (default 1:1:4:4:0:0)\n"
+ " <L:R:T:B:SB:MP:FD> (default 1:1:4:4:0:0:-1)\n"
" -8, --denoise Denoise video with hqdn3d filter\n"
" <SL:SC:TL:TC> (default 4:3:6:4.5)\n"
" or\n"
printf("\n + iPhone & iPod Touch: -e x264 -q 20.0 -a 1 -E faac -B 128 -6 dpl2 -R 48 -D 0.0 -f mp4 -X 480 -m -x cabac=0:ref=2:me=umh:bframes=0:subme=6:8x8dct=0:trellis=0\n");
- printf("\n + AppleTV: -e x264 -q 20.0 -a 1,1 -E faac,ac3 -B 160,160 -6 dpl2,auto -R 48,Auto -D 0.0,0.0 -f mp4 -4 -X 960 --loose-anamorphic -m -x cabac=0:ref=2:me=umh:b-adapt=2:weightb=0:trellis=0\n");
+ printf("\n + AppleTV: -e x264 -q 20.0 -a 1,1 -E faac,ac3 -B 160,160 -6 dpl2,auto -R 48,Auto -D 0.0,0.0 -f mp4 -4 -X 960 --loose-anamorphic -m -x cabac=0:ref=2:me=umh:b-adapt=2:weightb=0:trellis=0:weightp=0\n");
printf("\n>\n");
printf("\n< Regular\n");
- printf("\n + Normal: -e x264 -q 20.0 -a 1 -E faac -B 160 -6 dpl2 -R 48 -D 0.0 -f mp4 --strict-anamorphic -m -x ref=2:bframes=2:me=umh:subme=6:mixed-refs=0:weightb=0:8x8dct=0:trellis=0\n");
+ printf("\n + Normal: -e x264 -q 20.0 -a 1 -E faac -B 160 -6 dpl2 -R 48 -D 0.0 -f mp4 --strict-anamorphic -m -x ref=2:bframes=2:subme=6:mixed-refs=0:weightb=0:8x8dct=0:trellis=0\n");
- printf("\n + High Profile: -e x264 -q 20.0 -a 1,1 -E faac,ac3 -B 160,160 -6 dpl2,auto -R 48,Auto -D 0.0,0.0 -f mp4 --detelecine --decomb --loose-anamorphic -m -x b-pyramid:b-adapt=2:me=umh:subme=9:analyse=all:trellis=0\n");
+ printf("\n + High Profile: -e x264 -q 20.0 -a 1,1 -E faac,ac3 -B 160,160 -6 dpl2,auto -R 48,Auto -D 0.0,0.0 -f mp4 --detelecine --decomb --loose-anamorphic -m -x b-adapt=2:rc-lookahead=50\n");
printf("\n>\n");
{ "update", no_argument, NULL, 'u' },
{ "verbose", optional_argument, NULL, 'v' },
{ "cpu", required_argument, NULL, 'C' },
- { "dvdnav", no_argument, NULL, DVDNAV },
+ { "no-dvdnav", no_argument, NULL, DVDNAV },
{ "format", required_argument, NULL, 'f' },
{ "input", required_argument, NULL, 'i' },
{ "ab", required_argument, NULL, 'B' },
{ "rate", required_argument, NULL, 'r' },
{ "arate", required_argument, NULL, 'R' },
- { "cqp", no_argument, NULL, 'Q' },
{ "x264opts", required_argument, NULL, 'x' },
{ "turbo", no_argument, NULL, 'T' },
{ "maxHeight", required_argument, NULL, 'Y' },
int c;
c = getopt_long( argc, argv,
- "hv::uC:f:4i:Io:t:Lc:m::M:a:A:6:s:UF::N:e:E:2dD:7895gOw:l:n:b:q:S:B:r:R:Qx:TY:X:Z:z",
+ "hv::uC:f:4i:Io:t:Lc:m::M:a:A:6:s:UF::N:e:E:2dD:7895gOw:l:n:b:q:S:B:r:R:x:TY:X:Z:z",
long_options, &option_index );
if( c < 0 )
{
ShowPresets();
exit ( 0 );
case DVDNAV:
- dvdnav = 1;
+ dvdnav = 0;
break;
case 'f':
abitrates = strdup( optarg );
}
break;
- case 'Q':
- crf = 0;
- break;
case 'x':
x264opts = strdup( optarg );
break;