errdo.h File Reference

Header file for error resilient RDO (name of file should change). More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  Decoders
 Info for the "decoders-in-the-encoder" used for rdoptimization with packet losses. More...

Functions

void init_error_conceal (int concealment_type)
void compute_residue_block (ImageParameters *image, imgpel **imgY, int **res_img, imgpel **mb_pred, int b8block, int block_size)
void decode_one_b8block (ImageParameters *image, StorablePicture *enc_pic, Macroblock *currMB, int decoder, int block8x8, short mv_mode, int pred_dir)
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)
void decode_one_mb (ImageParameters *image, StorablePicture *enc, int decoder, Macroblock *currMB)
void UpdateDecoders (InputParameters *params, ImageParameters *image, StorablePicture *enc_pic)
void copy_conceal_picture (ImageParameters *image, StorablePicture *enc_pic, int decoder)
void errdo_get_best_block (ImageParameters *image, imgpel ***dec_img, imgpel ***mbY, int j0, int block_size)
int allocate_errdo_mem (InputParameters *pparams)
void free_errdo_mem (void)

Variables

Decoders * decs
void(* error_conceal_picture )(ImageParameters *image, StorablePicture *enc_pic, int decoder)


Detailed Description

Header file for error resilient RDO (name of file should change).

Author:
Main contributors (see contributors.h for copyright, address and affiliation details)

Definition in file errdo.h.


Function Documentation

int allocate_errdo_mem ( InputParameters *  pparams  ) 

Allocate memory for error resilient RDO.

Definition at line 45 of file errdo.c.

References Decoders::dec_mb_pred, Decoders::dec_mb_pred_best8x8, Decoders::dec_mbY_best, Decoders::dec_mbY_best8x8, get_mem3Dint(), get_mem3Dpel(), get_mem4Dpel(), InputParameters::NoOfDecoders, and Decoders::res_img.

Referenced by init_global_buffers().

Here is the call graph for this function:

void compute_residue_block ( ImageParameters *  image,
imgpel **  imgY,
int **  res_img,
imgpel **  mb_pred,
int  b8block,
int  block_size 
)

Gives the prediction residue for a block.

Definition at line 551 of file errdo.c.

References ImageParameters::pix_x.

Referenced by RDCost_for_8x8blocks(), and RDCost_for_macroblocks().

void copy_conceal_picture ( ImageParameters *  image,
StorablePicture *  enc_pic,
int  decoder 
)

Performs copy error concealment for macroblocks with errors. Note: Currently assumes that the reference picture lists remain the same for all slices of a picture.

Definition at line 447 of file errdo.c.

References ImageParameters::block_x, ImageParameters::block_y, ImageParameters::mb_data, storable_picture::mb_error_map, ImageParameters::mb_x, ImageParameters::mb_y, ImageParameters::PicSizeInMbs, ImageParameters::pix_x, ImageParameters::pix_y, and storable_picture::poc.

Referenced by init_error_conceal().

void decode_one_b8block ( ImageParameters *  image,
StorablePicture *  enc_pic,
Macroblock *  currMB,
int  decoder,
int  block8x8,
short  mv_mode,
int  pred_dir 
)

Decodes one 8x8 partition for error resilient RDO. Currently does not support: 1) B coded pictures 2) Chroma components 3) Potential error propagation due to intra prediction 4) Field coding.

Definition at line 239 of file errdo.c.

References add_residue(), macroblock::bipred_me, direct_ref_idx, storable_picture::motion, storable_picture::p_curr_img, storable_picture::p_dec_img, ImageParameters::pix_y, and pic_motion_params::ref_idx.

Referenced by RDCost_for_8x8blocks().

Here is the call graph for this function:

void decode_one_mb ( ImageParameters *  image,
StorablePicture *  enc,
int  decoder,
Macroblock *  currMB 
)

Decodes one macroblock for error resilient RDO. Currently does not support: 1) B coded pictures 2) Chroma components 3) Potential error propagation due to intra prediction 4) Field coding.

Definition at line 109 of file errdo.c.

References add_residue(), Decoders::dec_mb_pred, get_predicted_mb(), ImageParameters::mb_size, macroblock::mb_type, storable_picture::p_curr_img, storable_picture::p_dec_img, ImageParameters::pix_x, ImageParameters::pix_y, and ImageParameters::type.

Referenced by RDCost_for_macroblocks().

Here is the call graph for this function:

void errdo_get_best_block ( ImageParameters *  image,
imgpel ***  dec_img,
imgpel ***  mbY,
int  j0,
int  block_size 
)

Restores the pel values from the current best mode.

Definition at line 593 of file errdo.c.

References InputParameters::NoOfDecoders, ImageParameters::pix_x, and ImageParameters::pix_y.

Referenced by set_stored_macroblock_parameters(), SetCoeffAndReconstruction8x8(), and submacroblock_mode_decision().

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 
)

Stores the pel values for the current best mode.

Definition at line 572 of file errdo.c.

References InputParameters::NoOfDecoders.

Referenced by store_macroblock_parameters(), and submacroblock_mode_decision().

void free_errdo_mem ( void   ) 

free memory of error resilient RDO.

Definition at line 71 of file errdo.c.

References Decoders::dec_mb_pred, Decoders::dec_mb_pred_best8x8, Decoders::dec_mbY_best, Decoders::dec_mbY_best8x8, free_mem3Dint(), free_mem3Dpel(), free_mem4Dpel(), and Decoders::res_img.

Referenced by free_global_buffers().

Here is the call graph for this function:

void init_error_conceal ( int  concealment_type  ) 

Initialize error concealment function (Currently only copy concealment is implemented. Can extend to other concealment types when available.).

Definition at line 345 of file errdo.c.

References copy_conceal_picture().

Referenced by init_encoder().

Here is the call graph for this function:

void UpdateDecoders ( InputParameters *  params,
ImageParameters *  image,
StorablePicture *  enc_pic 
)

Performs the simulation of the packet losses, calls the error concealment funcs and deblocks the error concealed pictures.

Definition at line 325 of file errdo.c.

References Build_Status_Map(), DeblockFrame(), storable_picture::mb_error_map, InputParameters::NoOfDecoders, and storable_picture::p_dec_img.

Referenced by encode_one_frame().

Here is the call graph for this function:


Documentation generated with DoxyGen