OSDN Git Service

Remove libgcc.....dll as it is no longer required in the WinCli build
[handbrake-jp/handbrake-jp-git.git] / test / test.c
index ad4ea51..4cd8c5c 100644 (file)
@@ -37,6 +37,7 @@ static char * input       = NULL;
 static char * output      = NULL;
 static char * format      = NULL;
 static int    titleindex  = 1;
+static int    titlescan   = 0;
 static int    longest_title = 0;
 static char * native_language = NULL;
 static int    native_dub  = 0;
@@ -213,6 +214,7 @@ int main( int argc, char ** argv )
                      "date.\n" );
         }
         hb_close( &h );
+        hb_global_close();
         return 0;
     }
 
@@ -324,6 +326,7 @@ int main( int argc, char ** argv )
 
     /* Clean up */
     hb_close( &h );
+    hb_global_close();
     if( input )  free( input );
     if( output ) free( output );
     if( format ) free( format );
@@ -356,11 +359,6 @@ int main( int argc, char ** argv )
 
     fprintf( stderr, "HandBrake has exited.\n" );
 
-#if defined( PTW32_STATIC_LIB )
-    pthread_win32_thread_detach_np();
-    pthread_win32_process_detach_np();
-#endif
-
     return 0;
 }
 
@@ -485,7 +483,7 @@ static int HandleEvents( hb_handle_t * h )
         case HB_STATE_SCANNING:
             /* Show what title is currently being scanned */
             fprintf( stderr, "Scanning title %d", p.title_cur );
-            if( !titleindex )
+            if( !titleindex || titlescan )
                 fprintf( stderr, " of %d", p.title_count );
             fprintf( stderr, "...\n" );
             break;
@@ -554,7 +552,7 @@ static int HandleEvents( hb_handle_t * h )
                 title = hb_list_item( list, 0 );
             }
 
-            if( !titleindex )
+            if( !titleindex || titlescan )
             {
                 /* Scan-only mode, print infos and exit */
                 int i;
@@ -749,7 +747,7 @@ static int HandleEvents( hb_handle_t * h )
                     maxWidth = 960;
                     if( !x264opts )
                     {
-                        x264opts = strdup("cabac=0:ref=2:me=umh:b-adapt=2:weightb=0:trellis=0:weightp=0");
+                        x264opts = strdup("cabac=0:ref=2:me=umh:b-adapt=2:weightb=0:trellis=0:weightp=0:vbv-maxrate=9500:vbv-bufsize=9500");
                     }
                     anamorphic_mode = 2;
                     job->chapter_markers = 1;
@@ -1139,7 +1137,7 @@ static int HandleEvents( hb_handle_t * h )
                     
                     if (modulus)
                     {
-                        job->anamorphic.modulus = modulus;
+                        job->modulus = modulus;
                     }
                     
                     if( itu_par )
@@ -1164,7 +1162,7 @@ static int HandleEvents( hb_handle_t * h )
                     
                     if (modulus)
                     {
-                        job->anamorphic.modulus = modulus;
+                        job->modulus = modulus;
                     }
                     
                     if( itu_par )
@@ -2202,8 +2200,9 @@ static void ShowHelp()
 
     "### Source Options-----------------------------------------------------------\n\n"
     "    -i, --input <string>    Set input device\n"
-    "    -t, --title <number>    Select a title to encode (0 to scan only,\n"
+    "    -t, --title <number>    Select a title to encode (0 to scan all titles only,\n"
     "                            default: 1)\n"
+    "        --scan              Scan selected title only.\n"
     "    -L, --longest           Select the longest title\n"
     "    -c, --chapters <string> Select chapters (e.g. \"1-3\" for chapters\n"
     "                            1 to 3, or \"3\" for chapter 3 only,\n"
@@ -2332,8 +2331,8 @@ static void ShowHelp()
     "    --itu-par               Use wider, ITU pixel aspect values for loose and\n"
     "                            custom anamorphic, useful with underscanned sources\n"
     "    --modulus               Set the number you want the scaled pixel dimensions\n"
-    "      <number>              to divide cleanly by, for loose and custom\n"
-    "                            anamorphic modes (default: 16)\n"
+    "      <number>              to divide cleanly by. Does not affect strict\n"
+    "                            anamorphic mode, which is always mod 2 (default: 16)\n"
     "    -M  --color-matrix      Set the color space signaled by the output\n"
     "          <601 or 709>      (Bt.601 is mostly for SD content, Bt.709 for HD,\n"
     "                             default: set by resolution)\n"
@@ -2437,7 +2436,7 @@ static void ShowPresets()
 
     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:weightp=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:vbv-maxrate=9500:vbv-bufsize=9500\n");
 
     printf("\n>\n");
 
@@ -2535,6 +2534,7 @@ static int ParseOptions( int argc, char ** argv )
     #define SRT_LANG            273
     #define SRT_DEFAULT         274
     #define ROTATE_FILTER       275
+    #define SCAN_ONLY           276
     
     for( ;; )
     {
@@ -2554,6 +2554,7 @@ static int ParseOptions( int argc, char ** argv )
             { "ipod-atom",   no_argument,       NULL,    'I' },
 
             { "title",       required_argument, NULL,    't' },
+            { "scan",        no_argument,       NULL,    SCAN_ONLY },
             { "longest",     no_argument,       NULL,    'L' },
             { "chapters",    required_argument, NULL,    'c' },
             { "angle",       required_argument, NULL,    ANGLE },
@@ -2701,6 +2702,9 @@ static int ParseOptions( int argc, char ** argv )
             case 't':
                 titleindex = atoi( optarg );
                 break;
+            case SCAN_ONLY:
+                titlescan = 1;
+                break;
             case 'L':
                 longest_title = 1;
                 break;
@@ -3099,7 +3103,7 @@ static int CheckOptions( int argc, char ** argv )
     }
 
     /* Parse format */
-    if( titleindex > 0 )
+    if( titleindex > 0 && !titlescan )
     {
         if( output == NULL || *output == '\0' )
         {