4 #include <VLIB/video_codec.h>
5 #include "p263_layers.h"
6 #include "p263_huffman.h"
8 typedef struct _p263_codec_t {
9 // Compatibility with video_codec_t structure
10 encode_blockline_fc encode_blockline;
11 decode_blockline_fc decode_blockline;
13 cache_stream_fc cache_stream;
15 // Private data (see video source coding algorithm p.9)
16 p263_picture_layer_t picture_layer;
17 p263_mb_type_t* mb_types;
21 void p263_codec_alloc( video_controller_t* controller );
22 void p263_codec_free( video_controller_t* controller );
24 C_RESULT p263_encode_blockline( video_controller_t* controller, const vp_api_picture_t* blockline, bool_t picture_complete );
25 C_RESULT p263_decode_blockline( video_controller_t* controller, vp_api_picture_t* picture, bool_t* got_image );
26 C_RESULT p263_update( video_controller_t* controller );
27 C_RESULT p263_cache( video_controller_t* controller, video_stream_t* ex_stream);
29 #endif // _P263_CODEC_H_