2 * \brief VP Stages. Buffer 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_IO_BUFFER_H_
12 #define _VP_STAGES_IO_BUFFER_H_
23 * @defgroup vp_stages_io_buffer input/output buffers stage
27 ///////////////////////////////////////////////
30 #include <VP_Api/vp_api.h>
33 ///////////////////////////////////////////////
37 * \typedef enumerate all the camera resolution supported in camif
40 typedef struct _vp_stages_input_buffer_config_
47 uint32_t remaining_size;
48 } vp_stages_input_buffer_config_t;
50 typedef struct _vp_stages_output_buffer_config_ vp_stages_output_buffer_config_t;
54 ///////////////////////////////////////////////
59 * @fn Open the input buffer stage
60 * @param vp_stages_input_buffer_config_t *cfg : configuration of buffer parameters
61 * @todo modify the return
65 vp_stages_input_buffer_stage_open(vp_stages_input_buffer_config_t *cfg);
68 * @fn Transform the buffer input stage
69 * @brief Select the right indexbuffer of cfg and increment the size and the data pointer to the output
70 * @param vp_stages_input_buffer_config_t *cfg : data cfg buffer is send to out buffer
71 * @param vp_api_io_data_t *in : not used here
72 * @param vp_api_io_data_t *out : used to send the data
73 * @return VP_SUCCESS or VP_FAILURE
76 vp_stages_input_buffer_stage_transform(vp_stages_input_buffer_config_t *cfg, vp_api_io_data_t *in, vp_api_io_data_t *out);
79 * @fn Close the input buffer stage
80 * @brief Nothing to do
81 * @param vp_stages_input_buffer_config_t *cfg
85 vp_stages_input_buffer_stage_close(vp_stages_input_buffer_config_t *cfg);
88 * @fn Open the output buffer stage
89 * @brief Nothing to do
90 * @param vp_stages_input_buffer_config_t *cfg
94 vp_stages_output_buffer_stage_open(vp_stages_output_buffer_config_t *cfg);
97 * @fn Transform the output buffer stage
98 * @param vp_stages_input_buffer_config_t *cfg
99 * @param vp_api_io_data_t *in
100 * @param vp_api_io_data_t *out
102 * @return VP_SUCCESS or VP_FAILURE
105 vp_stages_output_buffer_stage_transform(vp_stages_output_buffer_config_t *cfg, vp_api_io_data_t *in, vp_api_io_data_t *out);
108 * @fn Close the output buffer stage
109 * @brief Nothing to do
110 * @param vp_stages_input_buffer_config_t *cfg
114 vp_stages_output_buffer_stage_close(vp_stages_output_buffer_config_t *cfg);
116 // vp_stages_io_buffer
123 #endif // ! _VP_STAGES_IO_BUFFER_H_