X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=libhb%2Fhb.h;h=8bfd9a1440829f5eb9a6ef16e53aa4d19aa08fd7;hb=17860fcc4da9def330562abe8cc09a564d38387e;hp=4a64c904748ef683a4e79ab8eac162a7cef5aeb8;hpb=cdba71d1dca214142fdcca4c52f7672252752c2e;p=handbrake-jp%2Fhandbrake-jp-git.git diff --git a/libhb/hb.h b/libhb/hb.h index 4a64c904..8bfd9a14 100644 --- a/libhb/hb.h +++ b/libhb/hb.h @@ -1,9 +1,3 @@ -/* $Id: hb.h,v 1.12 2005/03/29 09:40:28 titer Exp $ - - This file is part of the HandBrake source code. - Homepage: . - It may be used under the terms of the GNU General Public License. */ - #ifndef HB_HB_H #define HB_HB_H @@ -11,6 +5,7 @@ extern "C" { #endif +#include "hbversion.h" #include "common.h" /* hb_init() @@ -18,7 +13,47 @@ extern "C" { etc) */ #define HB_DEBUG_NONE 0 #define HB_DEBUG_ALL 1 -hb_handle_t * hb_init( int verbose, int update_check ); +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 + +#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_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 ); \ +hb_register( &hb_encvorbis ); \ + +#define hb_init_express(v,u) \ +hb_init_real( v, u ); \ +hb_register( &hb_sync ); \ +hb_register( &hb_decmpeg2 ); \ +hb_register( &hb_decsub ); \ +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 ); \ /* hb_get_version() */ char * hb_get_version( hb_handle_t * ); @@ -36,6 +71,8 @@ int hb_check_update( hb_handle_t * h, char ** version ); ports.h) */ void hb_set_cpu_count( hb_handle_t *, int ); +char * hb_dvd_name( char * path ); + /* 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. */ @@ -46,8 +83,17 @@ void hb_scan( hb_handle_t *, const char * path, 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 *, 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 * ); @@ -64,6 +110,10 @@ void hb_stop( hb_handle_t * ); Should be regularly called by the UI (like 5 or 10 times a second). 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 + check for a new scan during HB_STATE_WORKING phase */ +int hb_get_scancount( hb_handle_t * ); /* hb_close() Aborts all current jobs if any, frees memory. */