00001 00014 #ifndef _MACROBLOCK_H_ 00015 #define _MACROBLOCK_H_ 00016 00017 #include "block.h" 00018 00019 extern const byte QP_SCALE_CR[52]; 00020 00021 extern void set_interpret_mb_mode(int slice_type); 00022 extern void get_neighbors(Macroblock *currMB, 00023 PixelPos *block_a, PixelPos *block_b, PixelPos *block_c, PixelPos *block_d, 00024 int mb_x, int mb_y, int blockshape_x); 00025 extern void GetMotionVectorPredictor (Macroblock *currMB, 00026 PixelPos *block_a, PixelPos *block_b, PixelPos *block_c, 00027 short pmv[2], char ref_frame, char **refPic, short ***tmp_mv, 00028 int mb_x, int mb_y, int blockshape_x, int blockshape_y); 00029 00030 extern void start_macroblock (ImageParameters *img, Macroblock **currMB); 00031 extern void read_one_macroblock (ImageParameters *img, Slice *currSlice, Macroblock *currMB); 00032 extern int decode_one_macroblock(ImageParameters *img, Macroblock *currMB, StorablePicture *dec_picture); 00033 extern Boolean exit_macroblock (ImageParameters *img, int eos_bit); 00034 #endif 00035