X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=libhb%2Finternal.h;h=5f3baecc54e3edd4578a3b830bf450fa11f5cdd2;hb=195635ea5d1133c88c078fd620632fd5afe68af4;hp=cf0f7fade068fd91d97b74eb0a530016894c06fb;hpb=cd65e8ebdf229f5033bcb324bdbd567814cd4b5d;p=handbrake-jp%2Fhandbrake-jp-git.git diff --git a/libhb/internal.h b/libhb/internal.h index cf0f7fad..5f3baecc 100644 --- a/libhb/internal.h +++ b/libhb/internal.h @@ -1,13 +1,14 @@ /* $Id: internal.h,v 1.41 2005/11/25 15:05:25 titer Exp $ This file is part of the HandBrake source code. - Homepage: . + Homepage: . It may be used under the terms of the GNU General Public License. */ /*********************************************************************** * common.c **********************************************************************/ void hb_log( char * log, ... ); +void hb_error( char * fmt, ...); int hb_list_bytes( hb_list_t * ); void hb_list_seebytes( hb_list_t * l, uint8_t * dst, int size ); @@ -18,6 +19,8 @@ void hb_list_empty( hb_list_t ** ); hb_title_t * hb_title_init( char * dvd, int index ); void hb_title_close( hb_title_t ** ); +void hb_filter_close( hb_filter_object_t ** ); + /*********************************************************************** * hb.c **********************************************************************/ @@ -34,6 +37,8 @@ struct hb_buffer_s uint8_t * data; int cur; + int64_t sequence; + int id; int64_t start; int64_t stop; @@ -48,7 +53,7 @@ struct hb_buffer_s #define HB_FRAME_KEY 0x0F #define HB_FRAME_REF 0xF0 uint8_t frametype; - uint8_t flags; + uint16_t flags; /* Holds the output PTS from x264, for use by b-frame offsets in muxmp4.c */ int64_t renderOffset; @@ -63,10 +68,13 @@ struct hb_buffer_s hb_buffer_t * next; }; +void hb_buffer_pool_init( void ); +void hb_buffer_pool_free( void ); + hb_buffer_t * hb_buffer_init( int size ); void hb_buffer_realloc( hb_buffer_t *, int size ); void hb_buffer_close( hb_buffer_t ** ); -void hb_buffer_copy_settings( hb_buffer_t * dst, +void hb_buffer_copy_settings( hb_buffer_t * dst, const hb_buffer_t * src ); hb_fifo_t * hb_fifo_init(); @@ -104,11 +112,18 @@ int hb_libmpeg2_decode( hb_libmpeg2_t *, void hb_libmpeg2_info( hb_libmpeg2_t * m, int * width, int * height, int * rate, int * aspect_ratio ); void hb_libmpeg2_close( hb_libmpeg2_t ** ); +int hb_libmpeg2_clear_aspect_ratio( hb_libmpeg2_t * ); /*********************************************************************** * mpegdemux.c **********************************************************************/ -int hb_demux_ps( hb_buffer_t * ps_buf, hb_list_t * es_list ); +typedef struct { + int64_t last_scr; /* unadjusted SCR from most recent pack */ + int64_t scr_offset; /* discontinuity correction adjustment */ + int scr_changes; /* number of SCR discontinuities */ +} hb_psdemux_t; + +int hb_demux_ps( hb_buffer_t * ps_buf, hb_list_t * es_list, hb_psdemux_t * ); /*********************************************************************** * dvd.c @@ -127,14 +142,11 @@ int hb_dvd_chapter( hb_dvd_t * ); int hb_dvd_is_break( hb_dvd_t * d ); void hb_dvd_close( hb_dvd_t ** ); -int hb_stream_is_stream_type( char * path); -hb_stream_t * hb_stream_open( char * path ); +hb_stream_t * hb_stream_open( char * path, int opentype ); void hb_stream_close( hb_stream_t ** ); hb_title_t * hb_stream_title_scan( hb_stream_t *); int hb_stream_read( hb_stream_t *, hb_buffer_t *); int hb_stream_seek( hb_stream_t *, float ); -void hb_stream_update_audio( hb_stream_t *, hb_audio_t *); -void hb_stream_set_selected_audio_pid_index(hb_stream_t *, int); /*********************************************************************** * Work objects @@ -159,6 +171,11 @@ union hb_esconfig_u struct { + uint8_t headers[3][HB_CONFIG_MAX_SIZE]; + } theora; + + struct + { uint8_t bytes[HB_CONFIG_MAX_SIZE]; int length; } aac; @@ -168,7 +185,7 @@ union hb_esconfig_u uint8_t headers[3][HB_CONFIG_MAX_SIZE]; char *language; } vorbis; - + struct { /* ac3flags stores the flags from the AC3 source, as found in scan.c */ @@ -192,6 +209,7 @@ enum WORK_ENCAVCODEC, WORK_ENCXVID, WORK_ENCX264, + WORK_ENCTHEORA, WORK_DECA52, WORK_DECDCA, WORK_DECAVCODEC,