cabac.h File Reference

Headerfile for entropy coding routines. More...

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 writeMB_I_typeInfo_CABAC (Macroblock *currMB, SyntaxElement *se, DataPartition *dp)
void writeMB_B_typeInfo_CABAC (Macroblock *currMB, SyntaxElement *se, DataPartition *dp)
void writeMB_P_typeInfo_CABAC (Macroblock *currMB, SyntaxElement *se, DataPartition *dp)
void writeIntraPredMode_CABAC (SyntaxElement *se, DataPartition *dp)
void writeB8_typeInfo_CABAC (SyntaxElement *se, DataPartition *dp)
void writeB8_B_typeInfo_CABAC (SyntaxElement *se, DataPartition *dp)
void writeRefPic_B_CABAC (SyntaxElement *se, DataPartition *dp)
void writeRefPic_P_CABAC (SyntaxElement *se, DataPartition *dp)
void writeMVD_CABAC (Macroblock *currMB, SyntaxElement *se, DataPartition *dp)
void writeCBP_CABAC (Macroblock *currMB, SyntaxElement *se, DataPartition *dp)
void writeDquant_CABAC (Macroblock *currMB, SyntaxElement *se, DataPartition *dp)
void writeRunLevel_CABAC (Macroblock *currMB, SyntaxElement *se, DataPartition *dp)
void writeCIPredMode_CABAC (Macroblock *currMB, SyntaxElement *se, DataPartition *dp)
void print_ctx_TextureInfo (TextureInfoContexts *enco_ctx)
void writeMB_Pskip_flagInfo_CABAC (Macroblock *currMB, SyntaxElement *se, DataPartition *dp)
void writeMB_Bskip_flagInfo_CABAC (Macroblock *currMB, SyntaxElement *se, DataPartition *dp)
void writeFieldModeInfo_CABAC (Macroblock *currMB, SyntaxElement *se, DataPartition *dp)
void writeCBP_BIT_CABAC (Macroblock *currMB, int b8, int bit, int cbp, EncodingEnvironmentPtr eep_dp, TextureInfoContexts *ctx)
void CheckAvailabilityOfNeighborsCABAC (Macroblock *currMB)
void writeMB_transform_size_CABAC (Macroblock *currMB, SyntaxElement *se, DataPartition *dp)
void write_and_store_CBP_block_bit_444 (Macroblock *currMB, EncodingEnvironmentPtr eep_dp, int type, int cbp_bit, TextureInfoContexts *tex_ctx)
void write_and_store_CBP_block_bit (Macroblock *currMB, EncodingEnvironmentPtr eep_dp, int type, int cbp_bit, TextureInfoContexts *tex_ctx)

Variables

static const byte maxpos [] = {15, 14, 63, 31, 31, 15, 3, 14, 7, 15, 15, 14, 63, 31, 31, 15, 15, 14, 63, 31, 31, 15}
static const byte c1isdc [] = { 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1}
static const byte type2ctx_bcbp [] = { 0, 1, 2, 3, 3, 4, 5, 6, 5, 5, 10, 11, 12, 13, 13, 14, 16, 17, 18, 19, 19, 20}
static const byte type2ctx_map [] = { 0, 1, 2, 3, 4, 5, 6, 7, 6, 6, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21}
static const byte type2ctx_last [] = { 0, 1, 2, 3, 4, 5, 6, 7, 6, 6, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21}
static const byte type2ctx_one [] = { 0, 1, 2, 3, 3, 4, 5, 6, 5, 5, 10, 11, 12, 13, 13, 14, 16, 17, 18, 19, 19, 20}
static const byte type2ctx_abs [] = { 0, 1, 2, 3, 3, 4, 5, 6, 5, 5, 10, 11, 12, 13, 13, 14, 16, 17, 18, 19, 19, 20}
static const byte max_c2 [] = { 4, 4, 4, 4, 4, 4, 3, 4, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}
const bytepos2ctx_map []
const bytepos2ctx_map_int []
const bytepos2ctx_last []


Detailed Description

Headerfile 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

void CheckAvailabilityOfNeighborsCABAC ( Macroblock currMB  ) 

Check for available neighbouring blocks and set pointers in current macroblock.

Definition at line 306 of file cabac.c.

References img_par::mb_data, macroblock::mb_left, macroblock::mb_up, and macroblock::p_Img.

Referenced by start_macroblock(), writeMBLayerBSlice(), and writeMBLayerPSlice().

MotionInfoContexts* create_contexts_MotionInfo ( void   ) 

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

Definition at line 333 of file cabac.c.

References no_mem_exit().

Referenced by create_coding_state(), and 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 encoding.

Definition at line 352 of file cabac.c.

References no_mem_exit().

Referenced by create_coding_state(), and 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 encoding of the motion info.

Definition at line 368 of file cabac.c.

Referenced by delete_coding_state(), and free_slice().

void delete_contexts_TextureInfo ( TextureInfoContexts *  enco_ctx  ) 

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

Definition at line 383 of file cabac.c.

Referenced by delete_coding_state(), and free_slice().

void write_and_store_CBP_block_bit ( Macroblock currMB,
EncodingEnvironmentPtr  eep_dp,
int  type,
int  cbp_bit,
TextureInfoContexts *  tex_ctx 
)

Write CBP4-BIT.

Definition at line 1632 of file cabac.c.

References biari_encode_symbol(), get4x4Neighbour(), img_par::mb_data, macroblock::mb_type, macroblock::p_Img, macroblock::subblock_x, and macroblock::subblock_y.

Here is the call graph for this function:

void write_and_store_CBP_block_bit_444 ( Macroblock currMB,
EncodingEnvironmentPtr  eep_dp,
int  type,
int  cbp_bit,
TextureInfoContexts *  tex_ctx 
)

Write CBP4-BIT (for 444 formats).

Definition at line 1405 of file cabac.c.

References biari_encode_symbol(), get4x4Neighbour(), img_par::mb_data, macroblock::mb_type, macroblock::p_Img, macroblock::subblock_x, macroblock::subblock_y, and YUV444.

Here is the call graph for this function:

void writeB8_B_typeInfo_CABAC ( SyntaxElement se,
DataPartition dp 
)

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

Definition at line 837 of file cabac.c.

References arienco_bits_written(), biari_encode_symbol(), syntaxelement::len, slice::mot_ctx, syntaxelement::value1, and Bitstream::write_flag.

Here is the call graph for this function:

void writeB8_typeInfo_CABAC ( SyntaxElement se,
DataPartition dp 
)

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

Definition at line 906 of file cabac.c.

References arienco_bits_written(), biari_encode_symbol(), syntaxelement::len, slice::mot_ctx, syntaxelement::value1, and Bitstream::write_flag.

Here is the call graph for this function:

void writeCBP_BIT_CABAC ( Macroblock currMB,
int  b8,
int  bit,
int  cbp,
EncodingEnvironmentPtr  eep_dp,
TextureInfoContexts *  ctx 
)

This function is used to arithmetically encode the coded block pattern of an 8x8 block.

Definition at line 1290 of file cabac.c.

References biari_encode_symbol(), get4x4Neighbour(), img_par::mb_data, macroblock::mb_type, macroblock::mb_up, and macroblock::p_Img.

Referenced by RDCost_for_8x8blocks(), and writeCBP_CABAC().

Here is the call graph for this function:

void writeCBP_CABAC ( Macroblock currMB,
SyntaxElement se,
DataPartition dp 
)

This function is used to arithmetically encode the coded block pattern of a macroblock.

Definition at line 1333 of file cabac.c.

References arienco_bits_written(), biari_encode_symbol(), syntaxelement::len, macroblock::mb_left, macroblock::mb_up, macroblock::p_slice, slice::tex_ctx, syntaxelement::value1, Bitstream::write_flag, writeCBP_BIT_CABAC(), YUV400, and YUV444.

Here is the call graph for this function:

void writeCIPredMode_CABAC ( Macroblock currMB,
SyntaxElement se,
DataPartition dp 
)

This function is used to arithmetically encode the chroma intra prediction mode of an 8x8 block.

Definition at line 1253 of file cabac.c.

References arienco_bits_written(), biari_encode_symbol(), macroblock::c_ipred_mode, syntaxelement::len, macroblock::mb_left, macroblock::mb_type, macroblock::mb_up, slice::tex_ctx, unary_bin_max_encode(), syntaxelement::value1, and Bitstream::write_flag.

Here is the call graph for this function:

void writeDquant_CABAC ( Macroblock currMB,
SyntaxElement se,
DataPartition dp 
)

This function is used to arithmetically encode the coded block pattern of a given delta quant.

Definition at line 1123 of file cabac.c.

References arienco_bits_written(), biari_encode_symbol(), syntaxelement::len, slice::tex_ctx, unary_bin_encode(), syntaxelement::value1, and Bitstream::write_flag.

Here is the call graph for this function:

void writeFieldModeInfo_CABAC ( Macroblock currMB,
SyntaxElement se,
DataPartition dp 
)

This function is used to arithmetically encode the field mode info of a given MB in the case of mb-based frame/field decision.

Definition at line 399 of file cabac.c.

References arienco_bits_written(), biari_encode_symbol(), syntaxelement::context, syntaxelement::len, img_par::mb_data, macroblock::p_Img, slice::tex_ctx, syntaxelement::value1, and Bitstream::write_flag.

Here is the call graph for this function:

void writeIntraPredMode_CABAC ( SyntaxElement se,
DataPartition dp 
)

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

Definition at line 945 of file cabac.c.

References arienco_bits_written(), biari_encode_symbol(), syntaxelement::len, syntaxelement::value1, and Bitstream::write_flag.

Here is the call graph for this function:

void writeMB_B_typeInfo_CABAC ( Macroblock currMB,
SyntaxElement se,
DataPartition dp 
)

This function is used to arithmetically encode the macroblock type info of a given MB in a B slice.

Definition at line 632 of file cabac.c.

References arienco_bits_written(), biari_encode_symbol(), biari_encode_symbol_final(), syntaxelement::context, syntaxelement::len, macroblock::mb_left, macroblock::mb_type, macroblock::mb_up, slice::mot_ctx, syntaxelement::value1, and Bitstream::write_flag.

Here is the call graph for this function:

void writeMB_Bskip_flagInfo_CABAC ( Macroblock currMB,
SyntaxElement se,
DataPartition dp 
)

This function is used to arithmetically encode the mb_skip_flag for B slices.

Definition at line 462 of file cabac.c.

References arienco_bits_written(), biari_encode_symbol(), syntaxelement::context, syntaxelement::len, macroblock::mb_left, macroblock::mb_up, slice::mot_ctx, macroblock::p_slice, syntaxelement::value1, syntaxelement::value2, and Bitstream::write_flag.

Here is the call graph for this function:

void writeMB_I_typeInfo_CABAC ( Macroblock currMB,
SyntaxElement se,
DataPartition dp 
)

This function is used to arithmetically encode the macroblock type info of a given MB in an I Slice.

Definition at line 758 of file cabac.c.

References arienco_bits_written(), biari_encode_symbol(), biari_encode_symbol_final(), syntaxelement::context, syntaxelement::len, macroblock::mb_left, macroblock::mb_type, macroblock::mb_up, slice::mot_ctx, syntaxelement::value1, and Bitstream::write_flag.

Here is the call graph for this function:

void writeMB_P_typeInfo_CABAC ( Macroblock currMB,
SyntaxElement se,
DataPartition dp 
)

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

Definition at line 526 of file cabac.c.

References arienco_bits_written(), biari_encode_symbol(), biari_encode_symbol_final(), syntaxelement::len, slice::mot_ctx, syntaxelement::value1, and Bitstream::write_flag.

Here is the call graph for this function:

void writeMB_Pskip_flagInfo_CABAC ( Macroblock currMB,
SyntaxElement se,
DataPartition dp 
)

This function is used to arithmetically encode the mb_skip_flag.

Definition at line 430 of file cabac.c.

References arienco_bits_written(), biari_encode_symbol(), syntaxelement::context, syntaxelement::len, macroblock::mb_left, macroblock::mb_up, slice::mot_ctx, macroblock::p_slice, syntaxelement::value1, and Bitstream::write_flag.

Here is the call graph for this function:

void writeMB_transform_size_CABAC ( Macroblock currMB,
SyntaxElement se,
DataPartition dp 
)

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

Definition at line 497 of file cabac.c.

References arienco_bits_written(), biari_encode_symbol(), syntaxelement::context, syntaxelement::len, macroblock::mb_left, macroblock::mb_up, and Bitstream::write_flag.

Here is the call graph for this function:

void writeMVD_CABAC ( Macroblock currMB,
SyntaxElement se,
DataPartition dp 
)

void writeRefPic_B_CABAC ( SyntaxElement se,
DataPartition dp 
)

void writeRefPic_P_CABAC ( SyntaxElement se,
DataPartition dp 
)

void writeRunLevel_CABAC ( Macroblock currMB,
SyntaxElement se,
DataPartition dp 
)


Documentation generated with DoxyGen