OSDN Git Service

Change CC608 decoder to be its own thread
[handbrake-jp/handbrake-jp-git.git] / libhb / hb.h
index 6f8af2a..3cf308e 100644 (file)
@@ -5,6 +5,7 @@
 extern "C" {
 #endif
 
+#include "project.h"
 #include "common.h"
 
 /* hb_init()
@@ -14,20 +15,26 @@ extern "C" {
 #define HB_DEBUG_ALL  1
 void          hb_register( hb_work_object_t * );
 hb_handle_t * hb_init_real( int verbose, int update_check );
-hb_handle_t * hb_init_dl ( int verbose, int update_check ); // hb_init for use with dylib 
+hb_handle_t * hb_init_dl ( int verbose, int update_check ); // hb_init for use with dylib
 
 #define hb_init(v,u) \
 hb_init_real( v, u ); \
 hb_register( &hb_sync ); \
 hb_register( &hb_decmpeg2 ); \
-hb_register( &hb_decsub ); \
+hb_register( &hb_decvobsub ); \
+hb_register( &hb_encvobsub ); \
+hb_register( &hb_deccc608 ); \
 hb_register( &hb_render ); \
 hb_register( &hb_encavcodec ); \
 hb_register( &hb_encxvid ); \
 hb_register( &hb_encx264 ); \
+hb_register( &hb_enctheora ); \
 hb_register( &hb_deca52 ); \
 hb_register( &hb_decdca ); \
 hb_register( &hb_decavcodec ); \
+hb_register( &hb_decavcodecv ); \
+hb_register( &hb_decavcodecvi ); \
+hb_register( &hb_decavcodecai ); \
 hb_register( &hb_declpcm ); \
 hb_register( &hb_encfaac ); \
 hb_register( &hb_enclame ); \
@@ -37,13 +44,18 @@ hb_register( &hb_encvorbis ); \
 hb_init_real( v, u ); \
 hb_register( &hb_sync ); \
 hb_register( &hb_decmpeg2 ); \
-hb_register( &hb_decsub ); \
+hb_register( &hb_decvobsub ); \
+hb_register( &hb_encvobsub ); \
+hb_register( &hb_deccc608 ); \
 hb_register( &hb_render ); \
 hb_register( &hb_encavcodec ); \
 hb_register( &hb_encx264 ); \
 hb_register( &hb_deca52 ); \
 hb_register( &hb_decdca ); \
 hb_register( &hb_decavcodec ); \
+hb_register( &hb_decavcodecv ); \
+hb_register( &hb_decavcodecvi ); \
+hb_register( &hb_decavcodecai ); \
 hb_register( &hb_declpcm ); \
 hb_register( &hb_encfaac ); \
 
@@ -64,25 +76,34 @@ int           hb_check_update( hb_handle_t * h, char ** version );
 void          hb_set_cpu_count( hb_handle_t *, int );
 
 char *        hb_dvd_name( char * path );
+void          hb_dvd_set_dvdnav( int enable );
 
 /* hb_scan()
    Scan the specified path. Can be a DVD device, a VIDEO_TS folder or
    a VOB file. If title_index is 0, scan all titles. */
 void          hb_scan( hb_handle_t *, const char * path,
-                       int title_index );
+                       int title_index, int preview_count,
+                       int store_previews );
 
 /* hb_get_titles()
    Returns the list of valid titles detected by the latest scan. */
 hb_list_t   * hb_get_titles( hb_handle_t * );
 
+/* hb_detect_comb()
+   Analyze a frame for interlacing artifacts, returns true if they're found.
+   Taken from Thomas Oestreich's 32detect filter in the Transcode project.  */
+int hb_detect_comb( hb_buffer_t * buf, int width, int height, int color_equal, int color_diff, int threshold, int prog_equal, int prog_diff, int prog_threshold );
+
 void          hb_get_preview( hb_handle_t *, hb_title_t *, int,
                               uint8_t * );
-void          hb_set_size( hb_job_t *, int ratio, int pixels );
+void          hb_set_size( hb_job_t *, double ratio, int pixels );
+void          hb_set_anamorphic_size( hb_job_t *,
+                int *output_width, int *output_height,
+                int *output_par_width, int *output_par_height);
 
 /* Handling jobs */
 int           hb_count( hb_handle_t * );
 hb_job_t *    hb_job( hb_handle_t *, int );
-hb_job_t *    hb_current_job( hb_handle_t * h );
 void          hb_add( hb_handle_t *, hb_job_t * );
 void          hb_rem( hb_handle_t *, hb_job_t * );
 
@@ -96,7 +117,7 @@ void          hb_stop( hb_handle_t * );
    Look at test/test.c to see how to use it. */
 void hb_get_state( hb_handle_t *, hb_state_t * );
 void hb_get_state2( hb_handle_t *, hb_state_t * );
-/* hb_get_scancount() is called by the MacGui in UpdateUI to 
+/* hb_get_scancount() is called by the MacGui in UpdateUI to
    check for a new scan during HB_STATE_WORKING phase  */
 int hb_get_scancount( hb_handle_t * );