00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef VLC_IMAGE_H
00025 #define VLC_IMAGE_H 1
00026
00027 #include <vlc_vout.h>
00028
00029 # ifdef __cplusplus
00030 extern "C" {
00031 # endif
00032
00033 struct image_handler_t
00034 {
00035 picture_t * (*pf_read) ( image_handler_t *, block_t *,
00036 video_format_t *, video_format_t * );
00037 picture_t * (*pf_read_url) ( image_handler_t *, const char *,
00038 video_format_t *, video_format_t * );
00039 block_t * (*pf_write) ( image_handler_t *, picture_t *,
00040 video_format_t *, video_format_t * );
00041 int (*pf_write_url) ( image_handler_t *, picture_t *,
00042 video_format_t *, video_format_t *,
00043 const char * );
00044
00045 picture_t * (*pf_convert) ( image_handler_t *, picture_t *,
00046 video_format_t *, video_format_t * );
00047 picture_t * (*pf_filter) ( image_handler_t *, picture_t *,
00048 video_format_t *, const char * );
00049
00050
00051 vlc_object_t *p_parent;
00052 decoder_t *p_dec;
00053 encoder_t *p_enc;
00054 filter_t *p_filter;
00055 };
00056
00057 VLC_EXPORT( image_handler_t *, __image_HandlerCreate, ( vlc_object_t * ) );
00058 #define image_HandlerCreate( a ) __image_HandlerCreate( VLC_OBJECT(a) )
00059 VLC_EXPORT( void, image_HandlerDelete, ( image_handler_t * ) );
00060
00061 #define image_Read( a, b, c, d ) a->pf_read( a, b, c, d )
00062 #define image_ReadUrl( a, b, c, d ) a->pf_read_url( a, b, c, d )
00063 #define image_Write( a, b, c, d ) a->pf_write( a, b, c, d )
00064 #define image_WriteUrl( a, b, c, d, e ) a->pf_write_url( a, b, c, d, e )
00065 #define image_Convert( a, b, c, d ) a->pf_convert( a, b, c, d )
00066 #define image_Filter( a, b, c, d ) a->pf_filter( a, b, c, d )
00067
00068 # ifdef __cplusplus
00069 }
00070 # endif
00071
00072 #endif