cabac.h File Reference

Header file for entropy coding routines. More...

#include "global.h"

Include dependency graph for cabac.h:

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

Go to the source code of this file.

Functions

MotionInfoContexts * create_contexts_MotionInfo (void)
TextureInfoContexts * create_contexts_TextureInfo (void)
void delete_contexts_MotionInfo (MotionInfoContexts *enco_ctx)
void delete_contexts_TextureInfo (TextureInfoContexts *enco_ctx)
void cabac_new_slice (void)
void readMB_typeInfo_CABAC (Macroblock *currMB, SyntaxElement *se, ImageParameters *img, DecodingEnvironmentPtr dep_dp)
void readB8_typeInfo_CABAC (Macroblock *currMB, SyntaxElement *se, ImageParameters *img, DecodingEnvironmentPtr dep_dp)
void readIntraPredMode_CABAC (Macroblock *currMB, SyntaxElement *se, ImageParameters *img, DecodingEnvironmentPtr dep_dp)
void readRefFrame_CABAC (Macroblock *currMB, SyntaxElement *se, ImageParameters *img, DecodingEnvironmentPtr dep_dp)
void readMVD_CABAC (Macroblock *currMB, SyntaxElement *se, ImageParameters *img, DecodingEnvironmentPtr dep_dp)
void readCBP_CABAC (Macroblock *currMB, SyntaxElement *se, ImageParameters *img, DecodingEnvironmentPtr dep_dp)
void readRunLevel_CABAC (Macroblock *currMB, SyntaxElement *se, ImageParameters *img, DecodingEnvironmentPtr dep_dp)
void readDquant_CABAC (Macroblock *currMB, SyntaxElement *se, ImageParameters *img, DecodingEnvironmentPtr dep_dp)
void readCIPredMode_CABAC (Macroblock *currMB, SyntaxElement *se, ImageParameters *img, DecodingEnvironmentPtr dep_dp)
void readMB_skip_flagInfo_CABAC (Macroblock *currMB, SyntaxElement *se, ImageParameters *img, DecodingEnvironmentPtr dep_dp)
void readFieldModeInfo_CABAC (Macroblock *currMB, SyntaxElement *se, ImageParameters *img, DecodingEnvironmentPtr dep_dp)
void readMB_transform_size_flag_CABAC (Macroblock *currMB, SyntaxElement *se, ImageParameters *img, DecodingEnvironmentPtr dep_dp)
void readIPCM_CABAC (struct datapartition *dP)
int cabac_startcode_follows (Slice *currSlice, int eos_bit)
int readSyntaxElement_CABAC (SyntaxElement *se, ImageParameters *img, DataPartition *this_dataPart)
int check_next_mb_and_get_field_mode_CABAC (SyntaxElement *se, ImageParameters *img, DataPartition *act_dp)
void CheckAvailabilityOfNeighborsCABAC (Macroblock *currMB)


Detailed Description

Header file for entropy coding routines.

cabac.h

Author:
Detlev Marpe
Copyright (C) 2000 HEINRICH HERTZ INSTITUTE All Rights Reserved.
Date:
21. Oct 2000 (Changes by Tobias Oelbaum 28.08.2001)

Definition in file cabac.h.


Function Documentation

int cabac_startcode_follows ( Slice *  currSlice,
int  eos_bit 
)

finding end of a slice in case this is not the end of a frame

Unsure whether the "correction" below actually solves an off-by-one problem or whether it introduces one in some cases :-( Anyway, with this change the bit stream format works with CABAC again. StW, 8.7.02

Definition at line 1627 of file cabac.c.

References assignSE2partition, biari_decode_final(), datapartition::de_cabac, Slice::dp_mode, and Slice::partArr.

Here is the call graph for this function:

MotionInfoContexts* create_contexts_MotionInfo ( void   ) 

Allocation of contexts models for the motion info used for arithmetic decoding.

Definition at line 81 of file cabac.c.

References no_mem_exit().

Referenced by malloc_slice().

Here is the call graph for this function:

TextureInfoContexts* create_contexts_TextureInfo ( void   ) 

Allocates of contexts models for the texture info used for arithmetic decoding.

Definition at line 100 of file cabac.c.

References no_mem_exit().

Referenced by malloc_slice().

Here is the call graph for this function:

void delete_contexts_MotionInfo ( MotionInfoContexts *  enco_ctx  ) 

Frees the memory of the contexts models used for arithmetic decoding of the motion info.

Definition at line 121 of file cabac.c.

Referenced by free_slice().

void delete_contexts_TextureInfo ( TextureInfoContexts *  enco_ctx  ) 

Frees the memory of the contexts models used for arithmetic decoding of the texture info.

Definition at line 137 of file cabac.c.

Referenced by free_slice().

void readB8_typeInfo_CABAC ( Macroblock *  currMB,
SyntaxElement *  se,
ImageParameters *  img,
DecodingEnvironmentPtr  dep_dp 
)

This function is used to arithmetically decode the 8x8 block type.

Definition at line 337 of file cabac.c.

References biari_decode_symbol(), and syntaxelement::value1.

Referenced by read_one_macroblock().

Here is the call graph for this function:

void readCBP_CABAC ( Macroblock *  currMB,
SyntaxElement *  se,
ImageParameters *  img,
DecodingEnvironmentPtr  dep_dp 
)

This function is used to arithmetically decode the coded block pattern of a given MB.

Definition at line 907 of file cabac.c.

References biari_decode_symbol(), macroblock::cbp, storable_picture::chroma_format_idc, get4x4Neighbour(), macroblock::mb_available_left, macroblock::mb_available_up, macroblock::mb_type, syntaxelement::value1, YUV400, and YUV444.

Referenced by readCBPandCoeffsFromNAL().

Here is the call graph for this function:

void readCIPredMode_CABAC ( Macroblock *  currMB,
SyntaxElement *  se,
ImageParameters *  img,
DecodingEnvironmentPtr  dep_dp 
)

This function is used to arithmetically decode the chroma intra prediction mode of a given MB.

Definition at line 1039 of file cabac.c.

References biari_decode_symbol(), macroblock::c_ipred_mode, macroblock::mb_available_left, macroblock::mb_available_up, macroblock::mb_type, unary_bin_max_decode(), and syntaxelement::value1.

Referenced by read_ipred_modes().

Here is the call graph for this function:

void readDquant_CABAC ( Macroblock *  currMB,
SyntaxElement *  se,
ImageParameters *  img,
DecodingEnvironmentPtr  dep_dp 
)

This function is used to arithmetically decode the delta qp of a given MB.

Definition at line 872 of file cabac.c.

References biari_decode_symbol(), unary_bin_decode(), and syntaxelement::value1.

Here is the call graph for this function:

void readIntraPredMode_CABAC ( Macroblock *  currMB,
SyntaxElement *  se,
ImageParameters *  img,
DecodingEnvironmentPtr  dep_dp 
)

This function is used to arithmetically decode a pair of intra prediction modes of a given MB.

Definition at line 765 of file cabac.c.

References biari_decode_symbol(), and syntaxelement::value1.

Referenced by read_ipred_modes().

Here is the call graph for this function:

void readIPCM_CABAC ( struct datapartition *  dP  ) 

void readMB_skip_flagInfo_CABAC ( Macroblock *  currMB,
SyntaxElement *  se,
ImageParameters *  img,
DecodingEnvironmentPtr  dep_dp 
)

This function is used to arithmetically decode the macroblock type info of a given MB.

Definition at line 421 of file cabac.c.

References biari_decode_symbol(), macroblock::mb_available_left, macroblock::mb_available_up, macroblock::skip_flag, syntaxelement::value1, and syntaxelement::value2.

Referenced by read_one_macroblock().

Here is the call graph for this function:

void readMB_transform_size_flag_CABAC ( Macroblock *  currMB,
SyntaxElement *  se,
ImageParameters *  img,
DecodingEnvironmentPtr  dep_dp 
)

This function is used to arithmetically decode the macroblock intra_pred_size flag info of a given MB.

Definition at line 470 of file cabac.c.

References biari_decode_symbol(), macroblock::luma_transform_size_8x8_flag, macroblock::mb_available_left, macroblock::mb_available_up, and syntaxelement::value1.

Referenced by read_one_macroblock(), and readCBPandCoeffsFromNAL().

Here is the call graph for this function:

void readMB_typeInfo_CABAC ( Macroblock *  currMB,
SyntaxElement *  se,
ImageParameters *  img,
DecodingEnvironmentPtr  dep_dp 
)

This function is used to arithmetically decode the macroblock type info of a given MB.

Definition at line 499 of file cabac.c.

References biari_decode_final(), biari_decode_symbol(), syntaxelement::context, macroblock::mb_available_left, macroblock::mb_available_up, macroblock::mb_type, and syntaxelement::value1.

Referenced by read_one_macroblock().

Here is the call graph for this function:

void readMVD_CABAC ( Macroblock *  currMB,
SyntaxElement *  se,
ImageParameters *  img,
DecodingEnvironmentPtr  dep_dp 
)

This function is used to arithmetically decode the motion vector data of a B-frame MB.

Definition at line 254 of file cabac.c.

References biari_decode_symbol(), biari_decode_symbol_eq_prob(), syntaxelement::context, get4x4Neighbour(), macroblock::mb_field, unary_exp_golomb_mv_decode(), syntaxelement::value1, and syntaxelement::value2.

Referenced by readMotionInfoFromNAL().

Here is the call graph for this function:

void readRefFrame_CABAC ( Macroblock *  currMB,
SyntaxElement *  se,
ImageParameters *  img,
DecodingEnvironmentPtr  dep_dp 
)

This function is used to arithmetically decode the reference parameter of a given MB.

Definition at line 799 of file cabac.c.

References macroblock::b8mode, macroblock::b8pdir, biari_decode_symbol(), syntaxelement::context, get4x4Neighbour(), macroblock::mb_field, macroblock::mb_type, storable_picture::motion, pic_motion_params::ref_idx, unary_bin_decode(), syntaxelement::value1, and syntaxelement::value2.

Referenced by prepareListforRefIdx().

Here is the call graph for this function:

void readRunLevel_CABAC ( Macroblock *  currMB,
SyntaxElement *  se,
ImageParameters *  img,
DecodingEnvironmentPtr  dep_dp 
)

Read Block-Transform Coefficients.

Definition at line 1479 of file cabac.c.

References syntaxelement::context, read_and_store_CBP_block_bit(), read_significance_map(), read_significant_coefficients(), syntaxelement::value1, and syntaxelement::value2.

Referenced by readCBPandCoeffsFromNAL(), readCompCoeff4x4SMB_CABAC(), and readCompCoeff8x8_CABAC().

Here is the call graph for this function:

int readSyntaxElement_CABAC ( SyntaxElement *  se,
ImageParameters *  img,
DataPartition *  this_dataPart 
)

arithmetic decoding

Definition at line 1529 of file cabac.c.

References arideco_bits_read(), datapartition::de_cabac, syntaxelement::len, and syntaxelement::reading.

Here is the call graph for this function:


Documentation generated with DoxyGen