ArDrone SDK 1.8 added
[mardrone] / mardrone / ARDrone_SDK_Version_1_8_20110726 / ARDroneLib / VP_SDK / VP_Api / vp_api_stage.c
1 /**
2  *  \brief    VP Api. Stages 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  *  \version  2.0
7  *  \date     first release 16/03/2007
8  *  \date     modification  19/03/2007
9  */
10
11 ///////////////////////////////////////////////
12 // INCLUDES
13
14 #include <VP_Api/vp_api_stage.h>
15 #include <VP_Api/vp_api_error.h>
16 #include <VP_Stages/vp_stages_io_file.h>
17 #include <VP_Stages/vp_stages_io_buffer.h>
18 #include <VP_Stages/vp_stages_io_com.h>
19 #include <VP_Stages/vp_stages_io_console.h>
20 #include <VP_Stages/vp_stages_yuv2rgb.h>
21 #include <VP_Stages/vp_stages_buffer_to_picture.h>
22 #include <VP_Stages/vp_stages_frame_pipe.h>
23
24 #if defined(USE_LINUX) && !( SBOX_UNAME_MACHINE == arm )
25 #include <VP_Stages/vp_stages_o_sdl.h>
26 #endif // > USE_LINUX
27
28 ///////////////////////////////////////////////
29 // POINTERS
30
31 const vp_api_stage_funcs_t vp_stages_input_file_funcs =
32 {
33   (vp_api_stage_handle_msg_t) NULL,
34   (vp_api_stage_open_t) vp_stages_input_file_stage_open,
35   (vp_api_stage_transform_t) vp_stages_input_file_stage_transform,
36   (vp_api_stage_close_t) vp_stages_input_file_stage_close
37 };
38
39 const vp_api_stage_funcs_t vp_stages_output_file_funcs =
40 {
41   (vp_api_stage_handle_msg_t) NULL,
42   (vp_api_stage_open_t) vp_stages_output_file_stage_open,
43   (vp_api_stage_transform_t) vp_stages_output_file_stage_transform,
44   (vp_api_stage_close_t) vp_stages_output_file_stage_close
45 };
46
47 const vp_api_stage_funcs_t vp_stages_input_buffer_funcs =
48 {
49   (vp_api_stage_handle_msg_t) NULL,
50   (vp_api_stage_open_t) vp_stages_input_buffer_stage_open,
51   (vp_api_stage_transform_t) vp_stages_input_buffer_stage_transform,
52   (vp_api_stage_close_t) vp_stages_input_buffer_stage_close
53 };
54
55 const vp_api_stage_funcs_t vp_stages_output_buffer_funcs =
56 {
57   (vp_api_stage_handle_msg_t) NULL,
58   (vp_api_stage_open_t) vp_stages_output_buffer_stage_open,
59   (vp_api_stage_transform_t) vp_stages_output_buffer_stage_transform,
60   (vp_api_stage_close_t) vp_stages_output_buffer_stage_close
61 };
62
63 const vp_api_stage_funcs_t vp_stages_frame_pipe_sender_funcs =
64 {
65   NULL,
66   (vp_api_stage_open_t) vp_stages_frame_pipe_sender_open,
67   (vp_api_stage_transform_t) vp_stages_frame_pipe_sender_transform,
68   (vp_api_stage_close_t) vp_stages_frame_pipe_sender_close
69 };
70
71 const vp_api_stage_funcs_t vp_stages_frame_pipe_receiver_funcs =
72 {
73   NULL,
74   (vp_api_stage_open_t) vp_stages_frame_pipe_receiver_open,
75   (vp_api_stage_transform_t) vp_stages_frame_pipe_receiver_transform,
76   (vp_api_stage_close_t) vp_stages_frame_pipe_receiver_close
77 };
78
79 const vp_api_stage_funcs_t vp_stages_buffer_to_picture_funcs =
80 {
81   NULL,
82   (vp_api_stage_open_t) vp_stages_buffer_to_picture_open,
83   (vp_api_stage_transform_t) vp_stages_buffer_to_picture_transform,
84   (vp_api_stage_close_t) vp_stages_buffer_to_picture_close
85 };
86
87
88 const vp_api_stage_funcs_t vp_stages_picture_to_buffer_funcs =
89 {
90   NULL,
91   (vp_api_stage_open_t) vp_stages_picture_to_buffer_open,
92   (vp_api_stage_transform_t) vp_stages_picture_to_buffer_transform,
93   (vp_api_stage_close_t) vp_stages_picture_to_buffer_close
94 };
95
96 const vp_api_stage_funcs_t vp_stages_input_com_funcs =
97 {
98   (vp_api_stage_handle_msg_t) NULL,
99   (vp_api_stage_open_t) vp_stages_input_com_stage_open,
100   (vp_api_stage_transform_t) vp_stages_input_com_stage_transform,
101   (vp_api_stage_close_t) vp_stages_input_com_stage_close
102 };
103
104 const vp_api_stage_funcs_t vp_stages_output_com_funcs =
105 {
106   (vp_api_stage_handle_msg_t) NULL,
107   (vp_api_stage_open_t) vp_stages_output_com_stage_open,
108   (vp_api_stage_transform_t) vp_stages_output_com_stage_transform,
109   (vp_api_stage_close_t) vp_stages_output_com_stage_close
110 };
111
112 const vp_api_stage_funcs_t vp_stages_output_console_funcs =
113 {
114   (vp_api_stage_handle_msg_t) NULL,
115   (vp_api_stage_open_t) vp_stages_output_console_stage_open,
116   (vp_api_stage_transform_t) vp_stages_output_console_stage_transform,
117   (vp_api_stage_close_t) vp_stages_output_console_stage_close
118 };
119
120 #if defined(USE_LINUX) && !( SBOX_UNAME_MACHINE == arm )
121 const vp_api_stage_funcs_t vp_stages_output_sdl_funcs =
122 {
123   (vp_api_stage_handle_msg_t) NULL,
124   (vp_api_stage_open_t) vp_stages_output_sdl_stage_open,
125   (vp_api_stage_transform_t) vp_stages_output_sdl_stage_transform,
126   (vp_api_stage_close_t) vp_stages_output_sdl_stage_close
127 };
128 #endif // USE_LINUX
129
130 const vp_api_stage_funcs_t vp_stages_yuv2rgb_funcs =
131 {
132   (vp_api_stage_handle_msg_t) NULL,
133   (vp_api_stage_open_t) vp_stages_yuv2rgb_stage_open,
134   (vp_api_stage_transform_t) vp_stages_yuv2rgb_stage_transform,
135   (vp_api_stage_close_t) vp_stages_yuv2rgb_stage_close
136 };
137