All pastes #767248 Raw Edit

Unnamed

public diff v1 · immutable
·published 2007-11-09 16:26 UTC
rendered paste body
Index: test/test.c===================================================================--- test/test.c	(revision 1041)+++ test/test.c	(working copy)@@ -67,6 +67,8 @@ 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"; static int    largeFileSize = 0;+static int    preset        = 0;+static char * preset_name   = 0;  /* Exit cleanly on Ctrl-C */ static volatile int die = 0;@@ -75,6 +77,8 @@ /* Utils */ static void ShowCommands(); static void ShowHelp();+static void ShowPresets();+ static int  ParseOptions( int argc, char ** argv ); static int  CheckOptions( int argc, char ** argv ); static int  HandleEvents( hb_handle_t * h );@@ -223,6 +227,7 @@     if (native_language ) free (native_language ); 	if( x264opts ) free (x264opts ); 	if( x264opts2 ) free (x264opts2 );+    if (preset_name) free (preset_name); 	     fprintf( stderr, "HandBrake has exited.\n" ); @@ -391,6 +396,245 @@                                           job->chapter_end );             } +            if (preset)+            {+                hb_log("+ Using preset: %s", preset_name);+                +                if (!strcmp(presetname, "Animation"))+                {+                    mux = HB_MUX_MKV;+                    vcodec = HB_VCODEC_X264;+                    job->vbitrate = 1000;+                    job->abitrate = 160;+                    job->arate = 48000;+                    acodec = HB_ACODEC_FAAC;+                    x264opts = strdup("ref=5:mixed-refs:bframes=6:bime:weightb:b-rdo:direct=auto:b-pyramid:me=umh:subme=5:analyse=all:8x8dct:trellis=1:nr=150:no-fast-pskip:filter=2,2");+                    job->chapter_markers = 1;+                    job->deinterlace = 1;+                    pixelratio = 1;+                    twoPass = 1;+                    turbo_opts_enabled = 1;+                }++                if (!strcmp(presetname, "AppleTV"))+                {+                    mux = HB_MUX_MP4;+                    vcodec = HB_VCODEC_X264;+                    job->vbitrate = 2500;+                    job->abitrate = 160;+                    job->arate = 48000;+                    acodec = HB_ACODEC_FAAC;+                    x264opts = strdup("bframes=3:ref=1:subme=5:me=umh:no-fast-pskip=1:trellis=2:cabac=0");+                    job->chapter_markers = 1;+                    pixelratio = 1;+                }++                if (!strcmp(presetname, "Bedlam"))+                {+                    mux = HB_MUX_MKV;+                    vcodec = HB_VCODEC_X264;+                    job->vbitrate = 1800;+                    job->abitrate = 160;+                    job->arate = 48000;+                    acodec = HB_ACODEC_AC3;+                    x264opts = strdup("ref=16:mixed-refs:bframes=6:bime:weightb:b-rdo:direct=auto:b-pyramid:me=umh:subme=7:me-range=64:analyse=all:8x8dct:trellis=2:no-fast-pskip:no-dct-decimate:filter=-2,-1");+                    job->chapter_markers = 1;+                    pixelratio = 1;+                    twoPass = 1;+                    turbo_opts_enabled = 1;+                }++                if (!strcmp(presetname, "Blind"))+                {+                    mux = HB_MUX_MP4;+                    job->vbitrate = 512;+                    job->abitrate = 128;+                    job->arate = 48000;+                    acodec = HB_ACODEC_FAAC;+                    job->width = 512;+                    job->chapter_markers = 1;+                }++                if (!strcmp(presetname, "Broke"))+                {+                    mux = HB_MUX_MP4;+                    vcodec = HB_VCODEC_X264;+                    size = 695;+                    job->abitrate = 128;+                    job->arate = 48000;+                    acodec = HB_ACODEC_FAAC;+                    job->width = 640;+                    x264opts = strdup("ref=3:mixed-refs:bframes=6:bime:weightb:b-rdo:b-pyramid:direct=auto:me=umh:subme=6:trellis=1:analyse=all:8x8dct:no-fast-pskip");+                    job->chapter_markers = 1;+                    twoPass = 1;+                    turbo_opts_enabled = 1;+                }++                if (!strcmp(presetname, "Classic"))+                {+                    mux = HB_MUX_MP4;+                    job->vbitrate = 1000;+                    job->abitrate = 160;+                    job->arate = 48000;+                    acodec = HB_ACODEC_FAAC;+                }++                if (!strcmp(presetname, "Constant Quality Rate"))+                {+                    mux = HB_MUX_MKV;+                    vcodec = HB_VCODEC_X264;+                    job->vquality = 0.64709997177124023;+                    job->abitrate = 160;+                    job->arate = 48000;+                    acodec = HB_ACODEC_AC3;+                    x264opts = strdup("ref=3:mixed-refs:bframes=3:b-pyramid:b-rdo:bime:weightb:filter=-2,-1:subme=6:trellis=1:analyse=all:8x8dct:me=umh");+                    job->chapter_markers = 1;+                    pixelratio = 1;+                }++                if (!strcmp(presetname, "Deux Six Quatre"))+                {+                    mux = HB_MUX_MKV;+                    vcodec = HB_VCODEC_X264;+                    job->vbitrate = 1600;+                    job->abitrate = 160;+                    job->arate = 48000;+                    acodec = HB_ACODEC_AC3;+                    x264opts = strdup("ref=5:mixed-refs:bframes=3:bime:weightb:b-rdo:b-pyramid:me=umh:subme=7:trellis=1:analyse=all:8x8dct:no-fast-pskip");+                    job->chapter_markers = 1;+                    pixelratio = 1;+                    twoPass = 1;+                    turbo_opts_enabled = 1;+                }++                if (!strcmp(presetname, "Film"))+                {+                    mux = HB_MUX_MKV;+                    vcodec = HB_VCODEC_X264;+                    job->vbitrate = 2000;+                    job->abitrate = 160;+                    job->arate = 48000;+                    acodec = HB_ACODEC_AC3;+                    x264opts = strdup("ref=3:mixed-refs:bframes=3:bime:weightb:b-rdo:direct=auto:b-pyramid:me=umh:subme=6:analyse=all:8x8dct:trellis=1:no-fast-pskip");+                    job->chapter_markers = 1;+                    pixelratio = 1;+                    twoPass = 1;+                    turbo_opts_enabled = 1;+                }++                if (!strcmp(presetname, "iPhone"))+                {+                    mux = HB_MUX_MP4;+                    vcodec = HB_VCODEC_X264;+                    job->h264_level = 30;+                    job->vbitrate = 960;+                    job->abitrate = 128;+                    job->arate = 48000;+                    acodec = HB_ACODEC_FAAC;+                    job->width = 480;+                    x264opts = strdup("cabac=0:ref=1:analyse=all:me=umh:subme=6:no-fast-pskip=1:trellis=1");+                    job->chapter_markers = 1;+                }++                if (!strcmp(presetname, "iPod High-Rez"))+                {+                    mux = HB_MUX_MP4;+                    vcodec = HB_VCODEC_X264;+                    job->h264_level = 30;+                    job->vbitrate = 1500;+                    job->abitrate = 160;+                    job->arate = 48000;+                    acodec = HB_ACODEC_FAAC;+                    job->width = 640;+                    x264opts = strdup("keyint=300:keyint-min=30:bframes=0:cabac=0:ref=1:vbv-maxrate=1500:vbv-bufsize=2000:analyse=all:me=umh:subme=6:no-fast-pskip=1");+                    job->chapter_markers = 1;+                }++                if (!strcmp(presetname, "iPod Low-Rez"))+                {+                    mux = HB_MUX_MP4;+                    vcodec = HB_VCODEC_X264;+                    job->h264_level = 30;+                    job->vbitrate = 700;+                    job->abitrate = 160;+                    job->arate = 48000;+                    acodec = HB_ACODEC_FAAC;+                    job->width = 320;+                    x264opts = strdup("keyint=300:keyint-min=30:bframes=0:cabac=0:ref=1:vbv-maxrate=768:vbv-bufsize=2000:analyse=all:me=umh:subme=6:no-fast-pskip=1");+                    job->chapter_markers = 1;+                }++                if (!strcmp(presetname, "Normal"))+                {+                    mux = HB_MUX_MP4;+                    vcodec = HB_VCODEC_X264;+                    job->vbitrate = 1500;+                    job->abitrate = 160;+                    job->arate = 48000;+                    acodec = HB_ACODEC_FAAC;+                    x264opts = strdup("ref=2:bframes=2:subme=5:me=umh");+                    job->chapter_markers = 1;+                    pixelratio = 1;+                    twoPass = 1;+                    turbo_opts_enabled = 1;+                }++                if (!strcmp(presetname, "PS3"))+                {+                    mux = HB_MUX_MP4;+                    vcodec = HB_VCODEC_X264;+                    job->vbitrate = 2500;+                    job->abitrate = 160;+                    job->arate = 48000;+                    acodec = HB_ACODEC_FAAC;+                    x264opts = strdup("level=41:subme=5:me=umh");+                    job->chapter_markers = 1;+                    pixelratio = 1;+                }++                if (!strcmp(presetname, "PSP"))+                {+                    mux = HB_MUX_MP4;+                    job->vbitrate = 1024;+                    job->abitrate = 128;+                    job->arate = 48000;+                    acodec = HB_ACODEC_FAAC;+                    job->width = 368;+                    job->height = 208;+                    job->chapter_markers = 1;+                }++                if (!strcmp(presetname, "QuickTime"))+                {+                    mux = HB_MUX_MP4;+                    vcodec = HB_VCODEC_X264;+                    job->vbitrate = 2000;+                    job->abitrate = 160;+                    job->arate = 48000;+                    acodec = HB_ACODEC_FAAC;+                    x264opts = strdup("ref=3:mixed-refs:bframes=3:bime:weightb:b-rdo:direct=auto:me=umh:subme=5:analyse=all:8x8dct:trellis=1:no-fast-pskip");+                    job->chapter_markers = 1;+                    pixelratio = 1;+                    twoPass = 1;+                    turbo_opts_enabled = 1;+                }++                if (!strcmp(presetname, "Television"))+                {+                    mux = HB_MUX_MKV;+                    vcodec = HB_VCODEC_X264;+                    job->vbitrate = 1300;+                    job->abitrate = 160;+                    job->arate = 48000;+                    acodec = HB_ACODEC_FAAC;+                    x264opts = strdup("ref=3:mixed-refs:bframes=6:bime:weightb:direct=auto:b-pyramid:me=umh:subme=6:analyse=all:8x8dct:trellis=1:nr=150:no-fast-pskip");+                    job->chapter_markers = 1;+                    job->deinterlace = 1;+                    twoPass = 1;+                    turbo_opts_enabled = 1;+                }+            }+             			if ( chapter_markers ) 			{ 				job->chapter_markers = chapter_markers;@@ -694,6 +938,7 @@                     tmp_x264opts = malloc(size * sizeof(char));                     if( x264opts )                      {+                        x264opts2 = strdup(x264opts);                         snprintf( tmp_x264opts, size, "%s:%s",                                    x264opts, turbo_opts );                           free( x264opts );@@ -939,6 +1184,47 @@ }  /****************************************************************************+ * ShowPresets:+ ****************************************************************************/+static void ShowPresets()+{+    printf("\n+ Animation:  -e x264 -b 1000 -B 160 -R 48 -E faac -f mkv -m -d -p -2 -T -x ref=5:mixed-refs:bframes=6:bime:weightb:b-rdo:direct=auto:b-pyramid:me=umh:subme=5:analyse=all:8x8dct:trellis=1:nr=150:no-fast-pskip:filter=2,2\n");++    printf("\n+ AppleTV:  -e x264 -b 2500 -B 160 -R 48 -E faac -f mp4 -m -p -x bframes=3:ref=1:subme=5:me=umh:no-fast-pskip=1:trellis=2:cabac=0\n");++    printf("\n+ Bedlam:  -e x264 -b 1800 -B 160 -R 48 -E ac3 -f mkv -m -p -2 -T -x ref=16:mixed-refs:bframes=6:bime:weightb:b-rdo:direct=auto:b-pyramid:me=umh:subme=7:me-range=64:analyse=all:8x8dct:trellis=2:no-fast-pskip:no-dct-decimate:filter=-2,-1\n");++    printf("\n+ Blind:  -b 512 -B 128 -R 48 -E faac -f mp4 -w 512 -m\n");++    printf("\n+ Broke:  -e x264 -S 695 -B 128 -R 48 -E faac -f mp4 -w 640 -m -2 -T -x ref=3:mixed-refs:bframes=6:bime:weightb:b-rdo:b-pyramid:direct=auto:me=umh:subme=6:trellis=1:analyse=all:8x8dct:no-fast-pskip\n");++    printf("\n+ Classic:  -b 1000 -B 160 -R 48 -E faac -f mp4\n");++    printf("\n+ Constant Quality Rate:  -e x264 -q 0.64709997177124023 -B 160 -R 48 -E ac3 -f mkv -m -p -x ref=3:mixed-refs:bframes=3:b-pyramid:b-rdo:bime:weightb:filter=-2,-1:subme=6:trellis=1:analyse=all:8x8dct:me=umh\n");++    printf("\n+ Deux Six Quatre:  -e x264 -b 1600 -B 160 -R 48 -E ac3 -f mkv -m -p -2 -T -x ref=5:mixed-refs:bframes=3:bime:weightb:b-rdo:b-pyramid:me=umh:subme=7:trellis=1:analyse=all:8x8dct:no-fast-pskip\n");++    printf("\n+ Film:  -e x264 -b 2000 -B 160 -R 48 -E ac3 -f mkv -m -p -2 -T -x ref=3:mixed-refs:bframes=3:bime:weightb:b-rdo:direct=auto:b-pyramid:me=umh:subme=6:analyse=all:8x8dct:trellis=1:no-fast-pskip\n");++    printf("\n+ iPhone:  -e x264b30 -b 960 -B 128 -R 48 -E faac -f mp4 -w 480 -m -x cabac=0:ref=1:analyse=all:me=umh:subme=6:no-fast-pskip=1:trellis=1\n");++    printf("\n+ iPod High-Rez:  -e x264b30 -b 1500 -B 160 -R 48 -E faac -f mp4 -w 640 -m -x keyint=300:keyint-min=30:bframes=0:cabac=0:ref=1:vbv-maxrate=1500:vbv-bufsize=2000:analyse=all:me=umh:subme=6:no-fast-pskip=1\n");++    printf("\n+ iPod Low-Rez:  -e x264b30 -b 700 -B 160 -R 48 -E faac -f mp4 -w 320 -m -x keyint=300:keyint-min=30:bframes=0:cabac=0:ref=1:vbv-maxrate=768:vbv-bufsize=2000:analyse=all:me=umh:subme=6:no-fast-pskip=1\n");++    printf("\n+ Normal:  -e x264 -b 1500 -B 160 -R 48 -E faac -f mp4 -m -p -2 -T -x ref=2:bframes=2:subme=5:me=umh\n");++    printf("\n+ PS3:  -e x264 -b 2500 -B 160 -R 48 -E faac -f mp4 -m -p -x level=41:subme=5:me=umh\n");++    printf("\n+ PSP:  -b 1024 -B 128 -R 48 -E faac -f mp4 -w 368 -l 208 -m\n");++    printf("\n+ QuickTime:  -e x264 -b 2000 -B 160 -R 48 -E faac -f mp4 -m -p -2 -T -x ref=3:mixed-refs:bframes=3:bime:weightb:b-rdo:direct=auto:me=umh:subme=5:analyse=all:8x8dct:trellis=1:no-fast-pskip\n");++    printf("\n+ Television:  -e x264 -b 1300 -B 160 -R 48 -E faac -f mkv -m -d -2 -T -x ref=3:mixed-refs:bframes=6:bime:weightb:direct=auto:b-pyramid:me=umh:subme=6:analyse=all:8x8dct:trellis=1:nr=150:no-fast-pskip\n");+    +}++/****************************************************************************  * ParseOptions:  ****************************************************************************/ static int ParseOptions( int argc, char ** argv )@@ -991,9 +1277,10 @@             { "crf",         no_argument,       NULL,    'Q' },             { "x264opts",    required_argument, NULL,    'x' },             { "turbo",       no_argument,       NULL,    'T' },-                         { "maxHeight",   required_argument, NULL,    'Y' },             { "maxWidth",    required_argument, NULL,    'X' },+            { "preset",      required_argument, NULL,    'Z' },+            { "preset-list", no_argument,       NULL,    'z' }, 			             { 0, 0, 0, 0 }           };@@ -1002,7 +1289,7 @@         int c;          c = getopt_long( argc, argv,-                         "hvuC:f:4i:o:t:Lc:ma:6:s:UFN:e:E:2d789gpP::w:l:n:b:q:S:B:r:R:Qx:TY:X:",+                         "hvuC:f:4i:o:t:Lc:ma:6:s:UFN:e:E:2d789gpP::w:l:n:b:q:S:B:r:R:Qx:TY:X:Z:z",                          long_options, &option_index );         if( c < 0 )         {@@ -1023,7 +1310,15 @@             case 'C':                 cpu = atoi( optarg );                 break;-+            +            case 'Z':+                preset = 1;+                preset_name = strdup(optarg);+                break;+            case 'z':+                ShowPresets();+                exit ( 0 );+                             case 'f':                 format = strdup( optarg );                 break;@@ -1304,7 +1599,6 @@                 break;             case 'x':                 x264opts = strdup( optarg );-                x264opts2 = strdup( optarg );                 break;             case 'T':                 turbo_opts_enabled = 1;