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 writeHeaderToBuffer (void)
void writeMB_typeInfo_CABAC (SyntaxElement *se, DataPartition *dp)
void writeIntraPredMode_CABAC (SyntaxElement *se, DataPartition *dp)
void writeB8_typeInfo_CABAC (SyntaxElement *se, DataPartition *dp)
void writeRefFrame_CABAC (SyntaxElement *se, DataPartition *dp)
void writeMVD_CABAC (SyntaxElement *se, DataPartition *dp)
void writeCBP_CABAC (Macroblock *currMB, SyntaxElement *se, DataPartition *dp)
void writeDquant_CABAC (SyntaxElement *se, DataPartition *dp)
void writeRunLevel_CABAC (Macroblock *currMB, SyntaxElement *se, DataPartition *dp)
void writeCIPredMode_CABAC (SyntaxElement *se, DataPartition *dp)
void print_ctx_TextureInfo (TextureInfoContexts *enco_ctx)
void writeMB_skip_flagInfo_CABAC (Macroblock *currMB, SyntaxElement *se, DataPartition *dp)
void writeFieldModeInfo_CABAC (SyntaxElement *se, DataPartition *dp)
void writeCBP_BIT_CABAC (Macroblock *currMB, int b8, int bit, int cbp, int inter, EncodingEnvironmentPtr eep_dp, TextureInfoContexts *ctx)
void cabac_new_slice (void)
void CheckAvailabilityOfNeighborsCABAC (Macroblock *currMB)
void writeMB_transform_size_CABAC (SyntaxElement *se, DataPartition *dp)

Variables

const byte maxpos []
const byte c1isdc []
const byte type2ctx_bcbp []
const byte type2ctx_map []
const byte type2ctx_last []
const byte type2ctx_one []
const byte type2ctx_abs []
const byte max_c2 []
const byte pos2ctx_map8x8 []
const byte pos2ctx_map8x4 []
const byte pos2ctx_map4x4 []
const byte pos2ctx_map2x4c []
const byte pos2ctx_map4x4c []
const byte * pos2ctx_map []
const byte pos2ctx_map8x8i []
const byte pos2ctx_map8x4i []
const byte pos2ctx_map4x8i []
const byte * pos2ctx_map_int []
const byte pos2ctx_last8x8 []
const byte pos2ctx_last8x4 []
const byte pos2ctx_last4x4 []
const byte pos2ctx_last2x4c []
const byte pos2ctx_last4x4c []
const byte * pos2ctx_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 180 of file cabac.c.

References pix_pos::available, pix_pos::mb_addr, macroblock::mb_available_left, macroblock::mb_available_up, ImageParameters::mb_data, and ImageParameters::mb_size.

Referenced by start_macroblock(), and writeMBLayer().

MotionInfoContexts* create_contexts_MotionInfo ( void   ) 

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

Definition at line 206 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 225 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 244 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 259 of file cabac.c.

Referenced by delete_coding_state(), and free_slice().

void writeB8_typeInfo_CABAC ( SyntaxElement *  se,
DataPartition *  dp 
)

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

Definition at line 621 of file cabac.c.

References arienco_bits_written(), biari_encode_symbol(), datapartition::bitstream, ImageParameters::currentSlice, datapartition::ee_cabac, syntaxelement::len, ImageParameters::type, syntaxelement::value1, and Bitstream::write_flag.

Referenced by init_slice().

Here is the call graph for this function:

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

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

Definition at line 1006 of file cabac.c.

References pix_pos::available, biari_encode_symbol(), macroblock::cbp, get4x4Neighbour(), pix_pos::mb_addr, macroblock::mb_available_up, ImageParameters::mb_data, ImageParameters::mb_size, macroblock::mb_type, and pix_pos::y.

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 
)

void writeCIPredMode_CABAC ( SyntaxElement *  se,
DataPartition *  dp 
)

void writeDquant_CABAC ( SyntaxElement *  se,
DataPartition *  dp 
)

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

Definition at line 839 of file cabac.c.

References arienco_bits_written(), biari_encode_symbol(), datapartition::bitstream, ImageParameters::current_mb_nr, ImageParameters::currentSlice, datapartition::ee_cabac, syntaxelement::len, ImageParameters::mb_data, Slice::mot_ctx, macroblock::prev_dqp, unary_bin_encode(), syntaxelement::value1, and Bitstream::write_flag.

Referenced by init_slice().

Here is the call graph for this function:

void writeFieldModeInfo_CABAC ( 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 275 of file cabac.c.

References arienco_bits_written(), biari_encode_symbol(), datapartition::bitstream, syntaxelement::context, ImageParameters::current_mb_nr, ImageParameters::currentSlice, datapartition::ee_cabac, syntaxelement::len, ImageParameters::mb_data, macroblock::mb_field, macroblock::mbAddrA, macroblock::mbAddrB, macroblock::mbAvailA, macroblock::mbAvailB, syntaxelement::value1, and Bitstream::write_flag.

Referenced by init_slice().

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 722 of file cabac.c.

References arienco_bits_written(), biari_encode_symbol(), datapartition::bitstream, ImageParameters::currentSlice, datapartition::ee_cabac, syntaxelement::len, syntaxelement::value1, and Bitstream::write_flag.

Referenced by init_slice().

Here is the call graph for this function:

void writeMB_skip_flagInfo_CABAC ( Macroblock *  currMB,
SyntaxElement *  se,
DataPartition *  dp 
)

void writeMB_transform_size_CABAC ( SyntaxElement *  se,
DataPartition *  dp 
)

void writeMB_typeInfo_CABAC ( SyntaxElement *  se,
DataPartition *  dp 
)

void writeMVD_CABAC ( SyntaxElement *  se,
DataPartition *  dp 
)

void writeRefFrame_CABAC ( SyntaxElement *  se,
DataPartition *  dp 
)

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


Documentation generated with DoxyGen