libandroidplugin added
[mardrone] / mardrone / ARDrone_SDK_Version_1_8_20110726 / ARDroneLib / VLIB / UVLC / uvlc_codec.h
1 #ifndef _UVLC_CODEC_H_
2 #define _UVLC_CODEC_H_
3
4 #include <VP_Os/vp_os_types.h>
5
6 #include <VLIB/video_codec.h>
7 #include "uvlc_layers.h"
8
9 typedef struct _uvlc_codec_t {
10   // Compatibility with video_codec_t structure
11   encode_blockline_fc encode_blockline;
12   decode_blockline_fc decode_blockline;
13   update_fc           update;
14   cache_stream_fc     cache_stream;
15
16   // Private data (see video source coding algorithm p.9)
17   uvlc_picture_layer_t  picture_layer;
18 } uvlc_codec_t;
19
20 void uvlc_codec_alloc( video_controller_t* controller );
21 void uvlc_codec_free( video_controller_t* controller );
22
23 C_RESULT uvlc_pack_controller( video_controller_t* controller );
24 C_RESULT uvlc_unpack_controller( video_controller_t* controller );
25
26 C_RESULT uvlc_encode_blockline( video_controller_t* controller, const vp_api_picture_t* blockline, bool_t picture_complete );
27 C_RESULT uvlc_decode_blockline( video_controller_t* controller, vp_api_picture_t* picture, bool_t* got_image );
28 C_RESULT uvlc_update( video_controller_t* controller );
29 C_RESULT uvlc_cache( video_controller_t* controller, video_stream_t* ex_stream);
30
31 #endif // _UVLC_CODEC_H_