2 * \brief VP Stages. Output SDL stage declaration
3 * \author Sylvain Gaeremynck <sylvain.gaeremynck@parrot.fr>
4 * \author Aurelien Morelle <aurelien.morelle@parrot.fr>
5 * \author Thomas Landais <thomas.landais@parrot.fr>
7 * \date first release 16/03/2007
8 * \date modification 19/03/2007
11 #ifndef _VP_STAGES_O_SDL_H_
12 #define _VP_STAGES_O_SDL_H_
23 * @defgroup vp_stages_o_sdl output sdl stage
28 ///////////////////////////////////////////////
31 #include <VP_Api/vp_api.h>
35 #if defined(_CK4215_) && defined(WIN32)
36 #include <SDL/SDL_syswm.h>
39 ///////////////////////////////////////////////
42 typedef struct _vp_stages_output_sdl_config_
45 uint32_t height; // in
48 #if defined(_CK4215_) && defined(WIN32)
49 uint32_t window_pos_x; // in
50 uint32_t window_pos_y; // in
53 uint32_t window_width; // in
54 uint32_t window_height; // in
56 uint32_t pic_width; // in
57 uint32_t pic_height; // in
59 uint32_t y_size; // in
60 uint32_t c_size; // in
69 } vp_stages_output_sdl_config_t;
72 ///////////////////////////////////////////////
77 * @fn vp_stages_buffer_to_overlay
78 * @param SDL_Overlay *overlay
79 * @param output_sdl_config_t *cfg
80 * @param vp_api_io_data_t *data
86 vp_stages_buffer_to_overlay(SDL_Overlay *overlay, vp_stages_output_sdl_config_t *cfg, vp_api_io_data_t *data);
89 * @fn vp_stages_display_frame
90 * @param output_sdl_config_t *cfg
91 * @param vp_api_io_data_t *dat
97 vp_stages_display_frame(vp_stages_output_sdl_config_t *cfg, vp_api_io_data_t *data);
105 #if defined(_CK4215_) && defined(WIN32)
107 vp_stages_init_display(void * handle);
110 vp_stages_get_child_window( void );
114 * @fn Open the output sdl stage
115 * @param vp_stages_output_sdl_config_t *cfg
117 * @return VP_SUCCESS or VP_FAILURE
120 vp_stages_output_sdl_stage_open(vp_stages_output_sdl_config_t *cfg);
123 * @fn Open the output sdl stage
124 * @param vp_stages_output_sdl_config_t *cfg
125 * @param vp_api_io_data_t *in
126 * @param vp_api_io_data_t *out
128 * @return VP_SUCCESS or VP_FAILURE
131 vp_stages_output_sdl_stage_transform(vp_stages_output_sdl_config_t *cfg, vp_api_io_data_t *in, vp_api_io_data_t *out);
134 * @fn Open the output sdl stage
135 * @param vp_stages_output_sdl_config_t *cfg
137 * @return VP_SUCCESS or VP_FAILURE
140 vp_stages_output_sdl_stage_close(vp_stages_output_sdl_config_t *cfg);
156 #endif // _VP_STAGES_O_SDL_H_