OSDN Git Service

Added "--subtitle-force" option to the CLI, and added changes to decsub to
[handbrake-jp/handbrake-jp-git.git] / libhb / common.h
index 123e528..22591c6 100644 (file)
@@ -43,6 +43,8 @@ typedef struct hb_state_s hb_state_t;
 typedef union  hb_esconfig_u     hb_esconfig_t;
 typedef struct hb_work_private_s hb_work_private_t;
 typedef struct hb_work_object_s  hb_work_object_t;
+typedef struct hb_filter_private_s hb_filter_private_t;
+typedef struct hb_filter_object_s  hb_filter_object_t;
 typedef struct hb_buffer_s hb_buffer_t;
 typedef struct hb_fifo_s hb_fifo_t;
 typedef struct hb_lock_s hb_lock_t;
@@ -126,6 +128,7 @@ struct hb_job_s
 
     int             crop[4];
     int             deinterlace;
+    hb_list_t     * filters;
     int             width;
     int             height;
     int             keep_ratio;
@@ -243,6 +246,7 @@ struct hb_job_s
 #define HB_MUX_AVI  0x040000
 #define HB_MUX_OGM  0x080000
 #define HB_MUX_IPOD 0x100000
+#define HB_MUX_MKV  0x200000
        
     int             mux;
     const char          * file;
@@ -253,6 +257,7 @@ struct hb_job_s
 
     int subtitle_scan;
     hb_subtitle_t ** select_subtitle;
+    int subtitle_force;
     char * native_language;
 
 #ifdef __LIBHB__
@@ -515,4 +520,33 @@ extern hb_work_object_t hb_encfaac;
 extern hb_work_object_t hb_enclame;
 extern hb_work_object_t hb_encvorbis;
 
+#define FILTER_OK      0
+#define FILTER_DELAY   1
+#define FILTER_FAILED  2
+#define FILTER_DROP    3
+
+struct hb_filter_object_s
+{
+    int                     id;
+    char                  * name;
+    char                  * settings;
+
+#ifdef __LIBHB__
+    hb_filter_private_t* (* init)  ( int, int, int, char * );
+    
+    int                  (* work)  ( const hb_buffer_t *, hb_buffer_t **,
+                                     int, int, int, hb_filter_private_t * );
+    
+    void                 (* close) ( hb_filter_private_t * );
+    
+    hb_filter_private_t   * private_data;
+    //hb_buffer_t           * buffer;
+#endif
+};
+
+extern hb_filter_object_t hb_filter_detelecine;
+extern hb_filter_object_t hb_filter_deinterlace;
+extern hb_filter_object_t hb_filter_deblock;
+extern hb_filter_object_t hb_filter_denoise;
+
 #endif