00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef _ERRDO_H_
00015 #define _ERRDO_H_
00016
00017
00018 typedef struct
00019 {
00020 imgpel ***dec_mbY_best;
00021 imgpel ****dec_mbY_best8x8;
00022 imgpel ****dec_mb_pred_best8x8;
00023 imgpel ***dec_mb_pred;
00024 int ***res_img;
00025 } Decoders;
00026
00027 extern Decoders *decs;
00028
00029
00030
00031 void init_error_conceal(int concealment_type);
00032
00033 void compute_residue_block (ImageParameters *image, imgpel **imgY, int **res_img, imgpel **mb_pred, int b8block, int block_size);
00034
00035 void decode_one_b8block (ImageParameters *image, StorablePicture *enc_pic, Macroblock* currMB, int decoder, int block8x8, short mv_mode, int pred_dir);
00036 void errdo_store_best_block(imgpel*** mbY, imgpel*** dec_img, int block_i, int block_j, int img_i, int img_j, int block_size);
00037
00038 void decode_one_mb (ImageParameters *image, StorablePicture *enc, int decoder, Macroblock* currMB);
00039 void UpdateDecoders (InputParameters *params, ImageParameters *image, StorablePicture *enc_pic);
00040
00041 void (*error_conceal_picture)(ImageParameters *image, StorablePicture *enc_pic, int decoder);
00042 void copy_conceal_picture(ImageParameters *image, StorablePicture *enc_pic, int decoder);
00043
00044 void errdo_get_best_block(ImageParameters* image, imgpel*** dec_img, imgpel*** mbY, int j0, int block_size);
00045
00046 int allocate_errdo_mem(InputParameters *pparams);
00047 void free_errdo_mem(void);
00048
00049 #endif
00050