OSDN Git Service

import 0.9.4
[handbrake-jp/handbrake-jp.git] / libhb / hb.h
index 8bfd9a1..234d4b5 100644 (file)
@@ -5,7 +5,7 @@
 extern "C" {
 #endif
 
-#include "hbversion.h"
+#include "project.h"
 #include "common.h"
 
 /* hb_init()
@@ -14,47 +14,9 @@ extern "C" {
 #define HB_DEBUG_NONE 0
 #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( 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 * );
 int           hb_get_build( hb_handle_t * );
@@ -72,12 +34,14 @@ 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. */
@@ -106,6 +70,21 @@ void          hb_pause( hb_handle_t * );
 void          hb_resume( hb_handle_t * );
 void          hb_stop( hb_handle_t * );
 
+/* Persistent data between jobs. */
+typedef struct hb_interjob_s
+{
+    int last_job;          /* job->sequence_id & 0xFFFFFF */
+    int frame_count;       /* number of frames counted by sync */
+    uint64_t total_time;   /* real length in 90khz (i.e. / 90000 */
+    int render_dropped;    /* frames droped by telecine */
+    int vrate;             /* initial assigned vrate */
+    int vrate_base;        /* initial assigned vrate_base */
+
+    hb_subtitle_t *select_subtitle; /* foreign language scan subtitle */
+} hb_interjob_t;
+
+hb_interjob_t * hb_interjob_get( hb_handle_t * ); 
+
 /* hb_get_state()
    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. */