OSDN Git Service

disable asserts in libdvdnav except when configured with --debug=max
[handbrake-jp/handbrake-jp-git.git] / libhb / common.h
index b6c5e57..0c06ba9 100644 (file)
@@ -166,14 +166,14 @@ struct hb_job_s
     /* Picture settings:
          crop:                must be multiples of 2 (top/bottom/left/right)
          deinterlace:         0 or 1
-         width:               must be a multiple of 16
-         height:              must be a multiple of 16
+         width:               must be a multiple of 2
+         height:              must be a multiple of 2
          keep_ratio:          used by UIs
          grayscale:           black and white encoding
          pixel_ratio:         store pixel aspect ratio in the video
          pixel_aspect_width:  numerator for pixel aspect ratio
          pixel_aspect_height: denominator for pixel aspect ratio
-         modulus:             set a number besides 16 for dimensions to be multiples of
+         modulus:             set a number for dimensions to be multiples of
          maxWidth:            keep width below this
          maxHeight:           keep height below this */
     int             crop[4];
@@ -187,7 +187,6 @@ struct hb_job_s
     struct
     {
         int             mode;
-        int             modulus;
         int             itu_par;
         int             par_width;
         int             par_height;
@@ -195,7 +194,8 @@ struct hb_job_s
         int             dar_height;
         int             keep_display_aspect;
     } anamorphic;
-    
+
+    int             modulus;
     int             maxWidth;
     int             maxHeight;
 
@@ -260,7 +260,10 @@ struct hb_job_s
     hb_subtitle_config_t    select_subtitle_config;
 
     int             angle;              // dvd angle to encode
-    int             frame_to_stop;       // declare eof when we hit this frame
+    int             frame_to_start;     // declare eof when we hit this frame
+    int64_t         pts_to_start;       // drop frames until  we pass this pts 
+                                        //  in the time-linearized input stream
+    int             frame_to_stop;      // declare eof when we hit this frame
     int64_t         pts_to_stop;        // declare eof when we pass this pts in
                                         //  the time-linearized input stream
     int             start_at_preview;   // if non-zero, encoding will start
@@ -287,7 +290,6 @@ struct hb_job_s
     hb_fifo_t     * fifo_mpeg4;   /* MPEG-4 video ES */
 
     hb_thread_t   * reader;
-    hb_thread_t   * muxer;
 
     hb_list_t     * list_work;
 
@@ -501,7 +503,8 @@ struct hb_metadata_s
 
 struct hb_title_s
 {
-    char        dvd[1024];
+    enum { HB_DVD_TYPE, HB_STREAM_TYPE } type;
+    char        path[1024];
     char        name[1024];
     int         index;
     int         vts;
@@ -566,6 +569,7 @@ struct hb_state_s
 #define HB_STATE_PAUSED   16
 #define HB_STATE_WORKDONE 32
 #define HB_STATE_MUXING   64
+#define HB_STATE_SEARCHING 128
     int state;
 
     union
@@ -679,7 +683,8 @@ struct hb_work_object_s
 #endif
 };
 
-extern hb_work_object_t hb_sync;
+extern hb_work_object_t hb_sync_video;
+extern hb_work_object_t hb_sync_audio;
 extern hb_work_object_t hb_decmpeg2;
 extern hb_work_object_t hb_decvobsub;
 extern hb_work_object_t hb_encvobsub;
@@ -699,6 +704,7 @@ extern hb_work_object_t hb_declpcm;
 extern hb_work_object_t hb_encfaac;
 extern hb_work_object_t hb_enclame;
 extern hb_work_object_t hb_encvorbis;
+extern hb_work_object_t hb_muxer;
 extern hb_work_object_t hb_encca_aac;
 
 #define FILTER_OK      0
@@ -730,9 +736,12 @@ extern hb_filter_object_t hb_filter_deinterlace;
 extern hb_filter_object_t hb_filter_deblock;
 extern hb_filter_object_t hb_filter_denoise;
 extern hb_filter_object_t hb_filter_decomb;
+extern hb_filter_object_t hb_filter_rotate;
 
 typedef void hb_error_handler_t( const char *errmsg );
 
 extern void hb_register_error_handler( hb_error_handler_t * handler );
 
+char * hb_strdup_printf( char * fmt, ... );
+
 #endif