libandroidplugin added
[mardrone] / mardrone / ARDrone_SDK_Version_1_8_20110726 / ARDroneLib / VLIB / P264 / video_p264.h
1 #include <VP_Os/vp_os_types.h>
2 #include <VLIB/video_macroblock.h>
3 #include <VLIB/video_controller.h>
4
5
6 // prepare ip to encode a new frame
7 C_RESULT video_p264_prepare_slice ( video_controller_t* controller, const vp_api_picture_t* blockline);
8
9 // encode num_macro_blocks MB
10 C_RESULT video_p264_encode_MB(uint32_t num_macro_blocks, video_macroblock_t* next_macroblock ,int32_t qp);
11
12 // get encoded num_macro_blocks MB
13 int32_t video_p264_get_encoded_MB(uint32_t num_macro_blocks, video_macroblock_t* next_macroblock);
14
15
16 // inter decoding functions
17 void video_p264_decode_inter_luma_MB (uint8_t * ref_picture, uint8_t* picture_out, uint32_t x,uint32_t y, uint32_t picture_width, uint32_t picture_height, uint32_t linesize, MV_XY_t* mv , inter_partition_mode_t * part, uint32_t nb_part, int16_t* AC, uint32_t qp);
18
19 void video_p264_decode_inter_chroma_MB (uint8_t * ref_picture, uint8_t* picture_out, uint32_t x,uint32_t y, uint32_t picture_width, uint32_t picture_height, uint32_t linesize, MV_XY_t* mv , inter_partition_mode_t * part, uint32_t nb_part, int16_t* DC, int16_t* AC, uint32_t qp);
20
21 // intra decoding functions
22 void video_p264_decode_intra_luma_4x4_MB (int16_t* AC, uint8_t* picture_out, uint32_t picture_width, uint32_t x,uint32_t y, uint32_t linesize, intra_4x4_mode_t * intra_mode,uint32_t qp);
23
24 void video_p264_decode_intra_chroma_8x8_MB (int16_t* DC,int16_t* AC,uint8_t* picture_out,uint32_t x,uint32_t y, uint32_t linesize,intra_8x8_chroma_mode_t chroma_mode, uint32_t qp);
25
26 void video_p264_decode_intra_luma_16x16_MB (int16_t* DC,int16_t* AC, uint8_t* picture_out,uint32_t x,uint32_t y, uint32_t linesize, intra_16x16_luma_mode_t intra_mode,uint32_t qp);
27
28 /////////////// Debug functions /////////////
29 void print_MB_DCT(MB_p264_t* mb_intra,intra_type_t intra_4x4);
30 void mat_printf_4x4(int16_t * mat);
31 void mat_printf_2x2(int16_t * mat);
32 void mat_printf_16x16_inside_picture(uint8_t * picture,uint32_t x,uint32_t y,uint32_t linesize);
33 void mat_printf_8x8_inside_picture(uint8_t * picture,uint32_t x,uint32_t y, uint32_t linesize);