OSDN Git Service

Change subtitle position to prevent displaying within a 2% margin of the height of...
[handbrake-jp/handbrake-jp-git.git] / libhb / common.h
index 22591c6..682b60c 100644 (file)
@@ -27,6 +27,7 @@
 
 #define EVEN( a )        ( (a) + ( (a) & 1 ) )
 #define MULTIPLE_16( a ) ( 16 * ( ( (a) + 8 ) / 16 ) )
+#define MULTIPLE_MOD( a, b ) ( b * ( ( (a) + (b / 2) ) / b ) )
 
 #define HB_DVD_READ_BUFFER_SIZE 2048
 
@@ -104,6 +105,9 @@ const char * hb_mixdown_get_short_name_from_mixdown( int amixdown );
  *****************************************************************************/
 struct hb_job_s
 {
+    /* ID assigned by UI so it can groups job passes together */
+    int             sequence_id;
+       
     /* Pointer to the title to be ripped */
     hb_title_t    * title;
     
@@ -136,6 +140,7 @@ struct hb_job_s
     int             pixel_ratio;
     int             pixel_aspect_width;
     int             pixel_aspect_height;
+    int             modulus;
        int                             maxWidth;
        int                             maxHeight;
 
@@ -145,7 +150,7 @@ struct hb_job_s
          vquality:          output quality (0.0..1.0)
                             if < 0.0 or > 1.0, bitrate is used instead
          vbitrate:          output bitrate (kbps)
-         pass:              0, 1 or 2
+         pass:              0, 1 or 2 (or -1 for scan)
          vrate, vrate_base: output framerate is vrate / vrate_base
          h264_level:        boolean for whether or not we're encoding for iPod
          crf:               boolean for whether to use constant rate factor with x264
@@ -167,7 +172,8 @@ struct hb_job_s
     int             crf;
     char            *x264opts;
     int             areBframes;
-    
+    int             vfr;
+
     /* Audio tracks:
          audios:          Indexes in hb_title_t's audios list, starting from 0.
                           -1 indicates the end of the list
@@ -230,6 +236,7 @@ struct hb_job_s
     int             acodec;
     int             abitrate;
     int             arate;
+    float           dynamic_range_compression;
 
     /* Subtitle settings:
          subtitle: index in hb_title_t's subtitles list, starting
@@ -253,9 +260,10 @@ struct hb_job_s
 
     /* Allow MP4 files > 4 gigs */
     int             largeFileSize;
-    
+    int             mp4_optimize;
+    int             ipod_atom;
 
-    int subtitle_scan;
+    int indepth_scan;
     hb_subtitle_t ** select_subtitle;
     int subtitle_force;
     char * native_language;
@@ -344,9 +352,6 @@ struct hb_audio_s
 
        /* amixdown is the mixdown format to be used for this audio track */
        int amixdown;
-
-       /* Source PID is only valid for MPEG Transport Streams */
-       int source_pid;
 #endif
 };
 
@@ -378,6 +383,7 @@ struct hb_subtitle_s
     char iso639_2[4];
 
     int hits;     /* How many hits/occurrences of this subtitle */
+    int forced_hits; /* How many forced hits in this subtitle */
 
 #ifdef __LIBHB__
     /* Internal data */
@@ -456,6 +462,7 @@ struct hb_state_s
             int   hours;
             int   minutes;
             int   seconds;
+            int   sequence_id;
         } working;
 
         struct
@@ -549,4 +556,8 @@ extern hb_filter_object_t hb_filter_deinterlace;
 extern hb_filter_object_t hb_filter_deblock;
 extern hb_filter_object_t hb_filter_denoise;
 
+typedef void hb_error_handler_t( const char *errmsg );
+
+extern void hb_register_error_handler( hb_error_handler_t * handler );
+
 #endif