2 * \brief VP Api. Composite 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>
6 * \todo This stage need to be tested
8 * \date first release 21/03/2007
11 #ifndef _VP_API_IO_MULTI_STAGE_H_
12 #define _VP_API_IO_MULTI_STAGE_H_
14 #include <VP_Api/vp_api.h>
17 ///////////////////////////////////////////////
20 #define VP_API_EXECUTE_ALL_STAGES -1
21 #define VP_API_EXECUTE_NO_STAGE -2
23 ///////////////////////////////////////////////
26 typedef struct _vp_api_io_multi_stage_config_
28 int32_t activ_stage; // if activ_stage == -1 then all stages are executed
30 vp_api_io_stage_t* stages;
31 } vp_api_io_multi_stage_config_t;
34 ///////////////////////////////////////////////
38 * @fn Open the multi stage
39 * @param vp_api_io_multi_stage_config_t *cfg
44 vp_api_multi_stage_open(vp_api_io_multi_stage_config_t *cfg);
48 * @fn Transform the multi stage
49 * @param vp_api_io_multi_stage_config_t *cfg
50 * @param vp_api_io_data_t *in
51 * @param vp_api_io_data_t *out
56 vp_api_multi_stage_transform(vp_api_io_multi_stage_config_t *cfg, vp_api_io_data_t *in, vp_api_io_data_t *out);
60 * @fn Close the multi stage
61 * @param vp_api_io_multi_stage_config_t *cfg
66 vp_api_multi_stage_close(vp_api_io_multi_stage_config_t *cfg);
69 #endif // _VP_API_IO_MULTI_STAGE_H_