2 #ifndef _BUFFER_TO_PICTURE_H_
3 #define _BUFFER_TO_PICTURE_H_
6 #include <VP_Api/vp_api.h>
7 #include <VP_Api/vp_api_picture.h>
9 typedef void (*custom_data_handler_cb)(void* data, int32_t custom_data_size);
11 typedef struct _vp_stages_buffer_to_picture_config_t
13 vp_api_picture_t* picture;
14 int32_t y_buffer_size;
15 int32_t y_blockline_size;
16 int32_t y_current_size;
25 bool_t block_mode_enable;
27 int32_t cumulated_size;
30 int32_t num_picture_decoded;
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;
37 } vp_stages_buffer_to_picture_config_t;
39 typedef struct _vp_stages_picture_to_buffer_config_t
41 vp_api_picture_t* picture;
42 int32_t y_buffer_size;
43 int32_t y_blockline_size;
46 bool_t block_mode_enable;
48 int32_t num_picture_encoded;
50 uint32_t custom_data_size;
51 custom_data_handler_cb custom_data_handler;
53 } vp_stages_picture_to_buffer_config_t;
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);
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);
65 #endif // _BUFFER_TO_PICTURE_H_