X-Git-Url: http://git.maemo.org/git/?p=mardrone;a=blobdiff_plain;f=mardrone%2FARDrone_SDK_Version_1_8_20110726%2FARDroneLib%2FVP_SDK%2FVP_Api%2Fvp_api_stage.h;fp=mardrone%2FARDrone_SDK_Version_1_8_20110726%2FARDroneLib%2FVP_SDK%2FVP_Api%2Fvp_api_stage.h;h=74008b087059292fc4f63c2555214092f00c8098;hp=0000000000000000000000000000000000000000;hb=9ec9bc13b75d30bc45535c54a652934debfcea92;hpb=ae0a3c2dc0898400aca0dd6b439c5db8044db7b2 diff --git a/mardrone/ARDrone_SDK_Version_1_8_20110726/ARDroneLib/VP_SDK/VP_Api/vp_api_stage.h b/mardrone/ARDrone_SDK_Version_1_8_20110726/ARDroneLib/VP_SDK/VP_Api/vp_api_stage.h new file mode 100644 index 0000000..74008b0 --- /dev/null +++ b/mardrone/ARDrone_SDK_Version_1_8_20110726/ARDroneLib/VP_SDK/VP_Api/vp_api_stage.h @@ -0,0 +1,110 @@ +/** + * @file vp_api_stage.h + * @brief VP Api. Stages definition + * @author Sylvain Gaeremynck + * @author Aurelien Morelle + * @author Thomas Landais + * @author Julien Floret + * @version 2.0 + * @date first release 16/03/2007 + * @date modification 19/03/2007 + */ + +#ifndef _VP_API_STAGE_H_ +#define _VP_API_STAGE_H_ + +/////////////////////////////////////////////// +// INCLUDES + +#include +#include +#include + +#ifdef __cplusplus +extern "C" +{ +#endif + +struct _vp_api_io_data_; + + +/////////////////////////////////////////////// +// TYPEDEFS + + +/** + * @typedef C_RESULT (*vp_api_stage_handle_msg_t)(void *cfg, PIPELINE_MSG msg_id, void *callback, void *param) +Functions prototypes to open, close and update a stage + */ +typedef C_RESULT +(*vp_api_stage_handle_msg_t)(void *cfg, PIPELINE_MSG msg_id, void *callback, void *param); + +typedef C_RESULT +(*vp_api_stage_open_t)(void *cfg); + +typedef C_RESULT +(*vp_api_stage_transform_t)(void *cfg, struct _vp_api_io_data_ *in, struct _vp_api_io_data_ *out); + +typedef C_RESULT +(*vp_api_stage_close_t)(void *cfg); + + +/** + * @struct _vp_api_stage_funcs_ + * @brief A structure that contains all functions pointers to handle a stage + */ +typedef struct _vp_api_stage_funcs_ +{ + vp_api_stage_handle_msg_t handle_msg; + vp_api_stage_open_t open; + vp_api_stage_transform_t transform; + vp_api_stage_close_t close; +} vp_api_stage_funcs_t; + + +/** + * @brief Definition of ready to use stages for vp products + */ +extern const vp_api_stage_funcs_t vp_stages_input_file_funcs; +extern const vp_api_stage_funcs_t vp_stages_output_file_funcs; + +extern const vp_api_stage_funcs_t vp_stages_input_buffer_funcs; +extern const vp_api_stage_funcs_t vp_stages_output_buffer_funcs; + +extern const vp_api_stage_funcs_t vp_stages_frame_pipe_sender_funcs; +extern const vp_api_stage_funcs_t vp_stages_frame_pipe_receiver_funcs; + +extern const vp_api_stage_funcs_t vp_stages_video_mixer_funcs; + +extern const vp_api_stage_funcs_t vp_stages_buffer_to_picture_funcs; +extern const vp_api_stage_funcs_t vp_stages_picture_to_buffer_funcs; + +extern const vp_api_stage_funcs_t vp_stages_decoder_filter_funcs; +extern const vp_api_stage_funcs_t vp_stages_decoder_ffmpeg_funcs; + +extern const vp_api_stage_funcs_t vp_stages_input_com_funcs; +extern const vp_api_stage_funcs_t vp_stages_output_com_funcs; + +extern const vp_api_stage_funcs_t vp_stages_output_console_funcs; + +extern const vp_api_stage_funcs_t vp_stages_output_sdl_funcs; + +extern const vp_api_stage_funcs_t vp_stages_output_lcd_funcs; + +extern const vp_api_stage_funcs_t vp_stages_yuv2rgb_funcs; + +#if defined(USE_JPEG) || defined(USE_JPEG_P6) +extern const vp_api_stage_funcs_t vp_stages_encoder_jpeg_funcs; +extern const vp_api_stage_funcs_t vp_stages_decoder_jpeg_funcs; +#endif // > USE_JPEG + +#ifdef USE_PVSP +extern const vp_api_stage_funcs_t vp_stages_pvsp_funcs; +#endif // USE_PVSP + +#ifdef __cplusplus +} +#endif + + +#endif // ! _VP_API_STAGE_H_