biaridecod.c File Reference

Binary arithmetic decoder routines. More...

#include "global.h"
#include "memalloc.h"
#include "biaridecod.h"

Include dependency graph for biaridecod.c:

Go to the source code of this file.

Defines

#define B_BITS   10
#define HALF   0x0200
#define QUARTER   0x0100

Functions

DecodingEnvironmentPtr arideco_create_decoding_environment ()
void arideco_delete_decoding_environment (DecodingEnvironmentPtr dep)
void arideco_done_decoding (DecodingEnvironmentPtr dep)
unsigned int getbyte (DecodingEnvironmentPtr dep)
unsigned int getword (DecodingEnvironmentPtr dep)
void arideco_start_decoding (DecodingEnvironmentPtr dep, unsigned char *code_buffer, int firstbyte, int *code_len)
int arideco_bits_read (DecodingEnvironmentPtr dep)
unsigned int biari_decode_symbol (DecodingEnvironmentPtr dep, BiContextTypePtr bi_ct)
unsigned int biari_decode_symbol_eq_prob (DecodingEnvironmentPtr dep)
unsigned int biari_decode_final (DecodingEnvironmentPtr dep)
void biari_init_context (int qp, BiContextTypePtr ctx, const char *ini)

Variables

static const byte rLPS_table_64x4 [64][4]
static const byte AC_next_state_MPS_64 [64]
static const byte AC_next_state_LPS_64 [64]
static const byte renorm_table_32 [32] = {6,5,4,4,3,3,3,3,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}


Detailed Description

Binary arithmetic decoder routines.

This modified implementation of the M Coder is based on JVT-U084 with the choice of M_BITS = 16.

Date:
21. Oct 2000
Author:
Main contributors (see contributors.h for copyright, address and affiliation details)

Definition in file biaridecod.c.


Function Documentation

int arideco_bits_read ( DecodingEnvironmentPtr  dep  ) 

arideco_bits_read

Definition at line 247 of file biaridecod.c.

References DecodingEnvironment::DbitsLeft, and DecodingEnvironment::Dcodestrm_len.

Referenced by readSyntaxElement_CABAC().

DecodingEnvironmentPtr arideco_create_decoding_environment (  ) 

Allocates memory for the DecodingEnvironment struct.

Returns:
DecodingContextPtr allocates memory

Definition at line 144 of file biaridecod.c.

References no_mem_exit().

Here is the call graph for this function:

void arideco_delete_decoding_environment ( DecodingEnvironmentPtr  dep  ) 

Frees memory of the DecodingEnvironment struct.

Definition at line 160 of file biaridecod.c.

References error(), errortext, and ET_SIZE.

Here is the call graph for this function:

void arideco_done_decoding ( DecodingEnvironmentPtr  dep  ) 

finalize arithetic decoding():

Definition at line 177 of file biaridecod.c.

References DecodingEnvironment::Dcodestrm_len.

void arideco_start_decoding ( DecodingEnvironmentPtr  dep,
unsigned char *  code_buffer,
int  firstbyte,
int *  code_len 
)

Initializes the DecodingEnvironment for the arithmetic coder.

Definition at line 221 of file biaridecod.c.

References DecodingEnvironment::DbitsLeft, DecodingEnvironment::Dcodestrm, DecodingEnvironment::Dcodestrm_len, DecodingEnvironment::Drange, DecodingEnvironment::Dvalue, getbyte(), and getword().

Referenced by init_decoding_engine_IPCM(), and read_new_slice().

Here is the call graph for this function:

unsigned int biari_decode_final ( DecodingEnvironmentPtr  dep  ) 

biari_decode_symbol_final():

Returns:
the decoded symbol

Definition at line 361 of file biaridecod.c.

References DecodingEnvironment::DbitsLeft, DecodingEnvironment::Drange, DecodingEnvironment::Dvalue, and getword().

Referenced by cabac_startcode_follows(), and readMB_typeInfo_CABAC().

Here is the call graph for this function:

unsigned int biari_decode_symbol ( DecodingEnvironmentPtr  dep,
BiContextTypePtr  bi_ct 
)

unsigned int biari_decode_symbol_eq_prob ( DecodingEnvironmentPtr  dep  ) 

biari_decode_symbol_eq_prob():

Returns:
the decoded symbol

Definition at line 328 of file biaridecod.c.

References DecodingEnvironment::DbitsLeft, DecodingEnvironment::Drange, DecodingEnvironment::Dvalue, and getword().

Referenced by exp_golomb_decode_eq_prob(), read_significant_coefficients(), and readMVD_CABAC().

Here is the call graph for this function:

void biari_init_context ( int  qp,
BiContextTypePtr  ctx,
const char *  ini 
)

Initializes a given context with some pre-defined probability state.

Definition at line 400 of file biaridecod.c.

References BiContextType::MPS, and BiContextType::state.

unsigned int getbyte ( DecodingEnvironmentPtr  dep  ) 

read one byte from the bitstream

Definition at line 191 of file biaridecod.c.

References DecodingEnvironment::Dcodestrm, and DecodingEnvironment::Dcodestrm_len.

Referenced by arideco_start_decoding().

unsigned int getword ( DecodingEnvironmentPtr  dep  ) 


Variable Documentation

const byte AC_next_state_LPS_64[64] [static]

Initial value:

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

Definition at line 112 of file biaridecod.c.

const byte AC_next_state_MPS_64[64] [static]

Initial value:

    
{
  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,30,
  31,32,33,34,35,36,37,38,39,40,
  41,42,43,44,45,46,47,48,49,50,
  51,52,53,54,55,56,57,58,59,60,
  61,62,62,63
}

Definition at line 100 of file biaridecod.c.


Documentation generated with DoxyGen