ArDrone SDK 1.8 added
[mardrone] / mardrone / ARDrone_SDK_Version_1_8_20110726 / ARDroneLib / VP_SDK / VP_Stages / vp_stages_buffer_to_picture.h
1
2 #ifndef _BUFFER_TO_PICTURE_H_
3 #define _BUFFER_TO_PICTURE_H_
4
5
6 #include <VP_Api/vp_api.h>
7 #include <VP_Api/vp_api_picture.h>
8
9 typedef void (*custom_data_handler_cb)(void* data, int32_t custom_data_size);
10
11 typedef struct _vp_stages_buffer_to_picture_config_t
12 {
13   vp_api_picture_t*       picture;
14   int32_t                 y_buffer_size;
15   int32_t                 y_blockline_size;
16   int32_t                 y_current_size;
17
18   int32_t                 num_frames;
19
20   uint8_t*                y_buf_ptr;
21   uint8_t*                cr_buf_ptr;
22   uint8_t*                cb_buf_ptr;
23
24   bool_t                  luma_only;
25   bool_t                  block_mode_enable;
26
27   int32_t                 cumulated_size;
28   uint8_t*                input_ptr;
29
30   int32_t                 num_picture_decoded;
31
32   uint32_t                custom_data_size;
33   uint32_t                custom_data_read;
34   uint8_t*                custom_data_ptr;
35   custom_data_handler_cb  custom_data_handler;
36
37 } vp_stages_buffer_to_picture_config_t;
38
39 typedef struct _vp_stages_picture_to_buffer_config_t
40 {
41   vp_api_picture_t*       picture;
42   int32_t                 y_buffer_size;
43   int32_t                 y_blockline_size;
44
45   bool_t                  luma_only;
46   bool_t                  block_mode_enable;
47
48   int32_t                 num_picture_encoded;
49
50   uint32_t                custom_data_size;
51   custom_data_handler_cb  custom_data_handler;
52
53 } vp_stages_picture_to_buffer_config_t;
54
55
56 C_RESULT vp_stages_buffer_to_picture_open(vp_stages_buffer_to_picture_config_t *cfg);
57 C_RESULT vp_stages_buffer_to_picture_transform(vp_stages_buffer_to_picture_config_t *cfg, vp_api_io_data_t *in, vp_api_io_data_t *out);
58 C_RESULT vp_stages_buffer_to_picture_close(vp_stages_buffer_to_picture_config_t *cfg);
59
60
61 C_RESULT vp_stages_picture_to_buffer_open(vp_stages_picture_to_buffer_config_t *cfg);
62 C_RESULT vp_stages_picture_to_buffer_transform(vp_stages_picture_to_buffer_config_t *cfg, vp_api_io_data_t *in, vp_api_io_data_t *out);
63 C_RESULT vp_stages_picture_to_buffer_close(vp_stages_picture_to_buffer_config_t *cfg);
64
65 #endif // _BUFFER_TO_PICTURE_H_
66