Doxygen Source Code Documentation
        
Main Page   Alphabetical List   Data Structures   File List   Data Fields   Globals   Search   
video_out.h
Go to the documentation of this file.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 VIDEO_OUT_H
00025 #define VIDEO_OUT_H
00026 
00027 struct convert_init_s;
00028 typedef struct {
00029     void (* convert) (int, int, uint32_t, void *, struct convert_init_s *);
00030 } vo_setup_result_t;
00031 
00032 typedef struct vo_instance_s vo_instance_t;
00033 struct vo_instance_s {
00034     int (* setup) (vo_instance_t * instance, int width, int height,
00035                    vo_setup_result_t * result);
00036     void (* setup_fbuf) (vo_instance_t * instance, uint8_t ** buf, void ** id);
00037     void (* set_fbuf) (vo_instance_t * instance, uint8_t ** buf, void ** id);
00038     void (* start_fbuf) (vo_instance_t * instance,
00039                          uint8_t * const * buf, void * id);
00040     void (* draw) (vo_instance_t * instance, uint8_t * const * buf, void * id);
00041     void (* discard) (vo_instance_t * instance,
00042                       uint8_t * const * buf, void * id);
00043     void (* close) (vo_instance_t * instance);
00044 };
00045 
00046 typedef vo_instance_t * vo_open_t (void);
00047 
00048 typedef struct {
00049     char * name;
00050     vo_open_t * open;
00051 } vo_driver_t;
00052 
00053 void vo_accel (uint32_t accel);
00054 
00055 
00056 vo_driver_t * vo_drivers (void);
00057 
00058 #endif