diff options
Diffstat (limited to 'libhb/common.h')
-rw-r--r-- | libhb/common.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/libhb/common.h b/libhb/common.h index 81988de3d..de56a5c63 100644 --- a/libhb/common.h +++ b/libhb/common.h @@ -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; @@ -516,4 +519,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 |