block.h File Reference

definitions for block decoding functions More...

#include "global.h"
#include "transform8x8.h"

Include dependency graph for block.h:

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

Go to the source code of this file.

Functions

void iMBtrans4x4 (Macroblock *currMB, ColorPlane pl, int smb)
void iMBtrans8x8 (Macroblock *currMB, ColorPlane pl)
void itrans_sp_cr (Macroblock *currMB, int uv)
void intrapred_chroma (Macroblock *currMB, int uv)
void Inv_Residual_trans_4x4 (Macroblock *currMB, ColorPlane pl, int ioff, int joff)
void Inv_Residual_trans_8x8 (Macroblock *currMB, ColorPlane pl, int ioff, int joff)
void itrans4x4 (Macroblock *currMB, ColorPlane pl, int ioff, int joff)
void itrans4x4_ls (Macroblock *currMB, ColorPlane pl, int ioff, int joff)
void itrans_sp (Macroblock *currMB, ColorPlane pl, int ioff, int joff)
int intrapred (Macroblock *currMB, ColorPlane pl, int ioff, int joff, int i4, int j4)
void itrans_2 (Macroblock *currMB, ColorPlane pl)
void iTransform (Macroblock *currMB, ColorPlane pl, int need_4x4_transform, int smb)
void copy_image_data (imgpel **imgBuf1, imgpel **imgBuf2, int off1, int off2, int width, int height)
void copy_image_data_16x16 (imgpel **imgBuf1, imgpel **imgBuf2, int off1, int off2)
void copy_image_data_8x8 (imgpel **imgBuf1, imgpel **imgBuf2, int off1, int off2)
void copy_image_data_4x4 (imgpel **imgBuf1, imgpel **imgBuf2, int off1, int off2)

Variables

static const byte QP_SCALE_CR [52]
static const unsigned char subblk_offset_x [3][8][4]
static const unsigned char subblk_offset_y [3][8][4]
static const byte decode_block_scan [16] = {0, 1, 4, 5, 2, 3, 6, 7, 8, 9, 12, 13, 10, 11, 14, 15}


Detailed Description

definitions for block decoding functions

Author:
Inge Lille-Langoy <inge.lille-langoy@telenor.com>
Telenor Satellite Services
P.O.Box 6914 St.Olavs plass
N-0130 Oslo, Norway

Definition in file block.h.


Function Documentation

void copy_image_data ( imgpel **  imgBuf1,
imgpel **  imgBuf2,
int  off1,
int  off2,
int  width,
int  height 
)

Copy ImgPel Data from one structure to another (8x8).

Definition at line 694 of file block.c.

Referenced by decode_one_component_p_slice().

void copy_image_data_16x16 ( imgpel **  imgBuf1,
imgpel **  imgBuf2,
int  off1,
int  off2 
)

Copy ImgPel Data from one structure to another (16x16).

Definition at line 648 of file block.c.

Referenced by decode_one_component_p_slice().

void copy_image_data_4x4 ( imgpel **  imgBuf1,
imgpel **  imgBuf2,
int  off1,
int  off2 
)

Copy ImgPel Data from one structure to another (4x4).

Definition at line 679 of file block.c.

Referenced by decode_one_component_b_slice(), decode_one_component_i_slice(), and decode_one_component_p_slice().

void copy_image_data_8x8 ( imgpel **  imgBuf1,
imgpel **  imgBuf2,
int  off1,
int  off2 
)

Copy ImgPel Data from one structure to another (8x8).

Definition at line 663 of file block.c.

Referenced by decode_one_component_b_slice(), decode_one_component_i_slice(), and decode_one_component_p_slice().

int intrapred ( Macroblock currMB,
ColorPlane  pl,
int  ioff,
int  joff,
int  img_block_x,
int  img_block_y 
)

makes and returns 4x4 intra prediction blocks

Returns:
DECODING_OK decoding of intraprediction mode was sucessfull
SEARCH_SYNC search next sync element as errors while decoding occured
Parameters:
currMB current macroblock
pl current image plane
ioff pixel offset X within MB
joff pixel offset Y within MB
img_block_x location of block X, multiples of 4
img_block_y location of block Y, multiples of 4

Definition at line 797 of file intra4x4_pred.c.

Referenced by decode_one_component_b_slice(), decode_one_component_i_slice(), and decode_one_component_p_slice().

void intrapred_chroma ( Macroblock currMB,
int  uv 
)

Chroma Intra prediction. Note that many operations can be moved outside since they are repeated for both components for no reason.

< pixel position p(0,-1)

< pixel positions p(-1, -1..16)

Definition at line 68 of file intra_chroma_pred.c.

References macroblock::c_ipred_mode, error(), storable_picture::imgUV, macroblock::p_Img, macroblock::p_Slice, and subblk_offset_x.

Here is the call graph for this function:

void Inv_Residual_trans_4x4 ( Macroblock currMB,
ColorPlane  pl,
int  ioff,
int  joff 
)

Inverse residual DPCM for Intra lossless coding.

Parameters:
currMB current macroblock
pl used color plane
ioff index to 4x4 block
joff index to 4x4 block

Definition at line 99 of file block.c.

References macroblock::p_Img, and macroblock::p_Slice.

Referenced by decode_one_component_b_slice(), decode_one_component_i_slice(), and decode_one_component_p_slice().

void Inv_Residual_trans_8x8 ( Macroblock currMB,
ColorPlane  pl,
int  ioff,
int  joff 
)

Inverse residual DPCM for Intra lossless coding.

Input:
ioff_x,joff_y: Block position inside a macro block (0,8).

Definition at line 175 of file block.c.

References macroblock::p_Img, and macroblock::p_Slice.

Referenced by decode_one_component_b_slice(), decode_one_component_i_slice(), and decode_one_component_p_slice().

void itrans4x4 ( Macroblock currMB,
ColorPlane  pl,
int  ioff,
int  joff 
)

Inverse 4x4 transformation, transforms cof to mb_rres.

Parameters:
currMB current macroblock
pl used color plane
ioff index to 4x4 block
joff index to 4x4 block

Definition at line 33 of file block.c.

References macroblock::p_Img, and macroblock::p_Slice.

Referenced by decode_one_component_b_slice(), decode_one_component_i_slice(), and decode_one_component_p_slice().

void itrans4x4_ls ( Macroblock currMB,
ColorPlane  pl,
int  ioff,
int  joff 
)

Inverse 4x4 lossless_qpprime transformation, transforms cof to mb_rres.

Parameters:
currMB current macroblock
pl Color plane (for 4:4:4)
ioff index to 4x4 block
joff index to 4x4 block

Definition at line 65 of file block.c.

References macroblock::p_Img, and macroblock::p_Slice.

void itrans_2 ( Macroblock currMB,
ColorPlane  pl 
)

Luma DC inverse transform.

Parameters:
currMB current macroblock
pl used color plane

Definition at line 251 of file block.c.

References free_mem2Dint(), get_mem2Dint(), macroblock::p_Img, macroblock::p_Slice, and macroblock::qp_scaled.

Referenced by read_CBP_and_coeffs_from_NAL_CABAC(), and read_CBP_and_coeffs_from_NAL_CAVLC().

Here is the call graph for this function:

void itrans_sp ( Macroblock currMB,
ColorPlane  pl,
int  ioff,
int  joff 
)

Parameters:
currMB current macroblock
pl used color plane
ioff index to 4x4 block
joff index to 4x4 block

Definition at line 293 of file block.c.

References dequant_coef, free_mem2Dint(), get_mem2Dint(), macroblock::p_Img, macroblock::p_Slice, and slice::slice_type.

Here is the call graph for this function:


Variable Documentation

const byte QP_SCALE_CR[52] [static]

Initial value:

{
    0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,
   12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,
   28,29,29,30,31,32,32,33,34,34,35,35,36,36,37,37,
   37,38,38,38,39,39,39,39

}

Definition at line 24 of file block.h.

const unsigned char subblk_offset_x[3][8][4] [static]

look up tables for FRExt_chroma support

Definition at line 34 of file block.h.

Referenced by buildPredblockRegionYUV(), buildPredRegionYUV(), intrapred_chroma(), read_CBP_and_coeffs_from_NAL_CABAC(), and read_CBP_and_coeffs_from_NAL_CAVLC().


Documentation generated with DoxyGen