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 byte * | pos2ctx_map [] |
const byte * | pos2ctx_map_int [] |
const byte * | pos2ctx_last [] |
Definition in file cabac.h.
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().
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().
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.
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.
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.
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.
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().
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
void writeMVD_CABAC | ( | Macroblock * | currMB, | |
SyntaxElement * | se, | |||
DataPartition * | dp | |||
) |
This function is used to arithmetically encode the motion vector data of a B-frame MB.
Definition at line 1159 of file cabac.c.
References arienco_bits_written(), biari_encode_symbol(), biari_encode_symbol_eq_prob(), syntaxelement::context, get4x4Neighbour(), syntaxelement::len, img_par::mb_data, img_par::MbaffFrameFlag, slice::mot_ctx, macroblock::mvd, macroblock::p_Img, macroblock::subblock_x, macroblock::subblock_y, unary_exp_golomb_mv_encode(), syntaxelement::value1, syntaxelement::value2, and Bitstream::write_flag.
void writeRefPic_B_CABAC | ( | SyntaxElement * | se, | |
DataPartition * | dp | |||
) |
This function is used to arithmetically encode the reference parameter of a given MB.
Definition at line 1042 of file cabac.c.
References arienco_bits_written(), biari_encode_symbol(), syntaxelement::context, get4x4Neighbour(), syntaxelement::len, img_par::mb_data, macroblock::mb_type, img_par::MbaffFrameFlag, slice::mot_ctx, storable_picture::motion, pic_motion_params::ref_idx, macroblock::subblock_x, macroblock::subblock_y, unary_bin_encode(), syntaxelement::value1, syntaxelement::value2, and Bitstream::write_flag.
void writeRefPic_P_CABAC | ( | SyntaxElement * | se, | |
DataPartition * | dp | |||
) |
This function is used to arithmetically encode the reference parameter of a given MB.
Definition at line 976 of file cabac.c.
References arienco_bits_written(), biari_encode_symbol(), syntaxelement::context, get4x4Neighbour(), syntaxelement::len, img_par::mb_data, img_par::MbaffFrameFlag, slice::mot_ctx, storable_picture::motion, pic_motion_params::ref_idx, macroblock::subblock_x, macroblock::subblock_y, unary_bin_encode(), syntaxelement::value1, syntaxelement::value2, and Bitstream::write_flag.
void writeRunLevel_CABAC | ( | Macroblock * | currMB, | |
SyntaxElement * | se, | |||
DataPartition * | dp | |||
) |
Write Block-Transform Coefficients.
Definition at line 1840 of file cabac.c.
References arienco_bits_written(), syntaxelement::context, syntaxelement::len, macroblock::p_slice, slice::tex_ctx, syntaxelement::value1, syntaxelement::value2, Bitstream::write_flag, write_significance_map(), and write_significant_coefficients().
Referenced by writeChromaCoeff(), writeCoeff16x16_CABAC(), writeCoeff4x4_CABAC(), and writeCoeff8x8_CABAC().