#include "global.h"
#include "memalloc.h"
#include "q_matrix.h"
#include "q_offsets.h"
Go to the source code of this file.
Defines | |
#define | MAX_ITEMS_TO_PARSE 2000 |
Functions | |
char * | GetConfigFileContent (char *Filename, int error_type) |
static void | InitOffsetParam (QuantParameters *p_Quant, InputParameters *p_Inp) |
static void | allocate_QOffsets (QuantParameters *p_Quant, InputParameters *p_Inp) |
static void | update_q_offset4x4 (LevelQuantParams **q_params, short *offsetList, int q_bits) |
static void | update_q_offset8x8 (LevelQuantParams **q_params, short *offsetList, int q_bits) |
void | free_QOffsets (QuantParameters *p_Quant, InputParameters *p_Inp) |
int | CheckOffsetParameterName (char *s, int *type) |
void | ParseQOffsetMatrix (QuantParameters *p_Quant, char *buf, int bufsize) |
void | Init_QOffsetMatrix (ImageParameters *p_Img, InputParameters *p_Inp) |
void | CalculateOffset4x4Param (ImageParameters *p_Img, InputParameters *p_Inp) |
void | CalculateOffset8x8Param (ImageParameters *p_Img, InputParameters *p_Inp) |
Variables | |
int | offset4x4_check [6] = { 0, 0, 0, 0, 0, 0 } |
int | offset8x8_check [6] = { 0, 0, 0, 0, 0, 0 } |
static const char | OffsetType4x4 [15][24] |
static const char | OffsetType8x8 [15][24] |
static const short | Offset_intra_default_intra [16] |
static const short | Offset_intra_default_chroma [16] |
static const short | Offset_intra_default_inter [16] |
static const short | Offset_inter_default [16] |
static const short | Offset8_intra_default_intra [64] |
static const short | Offset8_intra_default_chroma [64] |
static const short | Offset8_intra_default_inter [64] |
static const short | Offset8_inter_default [64] |
Definition in file q_offsets.c.
static void allocate_QOffsets | ( | QuantParameters * | p_Quant, | |
InputParameters * | p_Inp | |||
) | [static] |
Allocate Q matrix arrays.
Definition at line 142 of file q_offsets.c.
References inp_par_enc::AdaptRoundingFixed, get_mem2Dshort(), get_mem3Dshort(), and inp_par_enc::output.
Referenced by Init_QOffsetMatrix().
void CalculateOffset4x4Param | ( | ImageParameters * | p_Img, | |
InputParameters * | p_Inp | |||
) |
Calculation of the quantization offset parameters at the frame level.
Definition at line 497 of file q_offsets.c.
References inp_par_enc::AdaptRndCrWFactor, inp_par_enc::AdaptRndWFactor, and inp_par_enc::AdaptRoundingFixed.
Referenced by code_a_plane(), encode_one_slice(), and encode_one_slice_MBAFF().
void CalculateOffset8x8Param | ( | ImageParameters * | p_Img, | |
InputParameters * | p_Inp | |||
) |
Calculate the quantisation offset parameters.
Definition at line 581 of file q_offsets.c.
References inp_par_enc::AdaptRoundingFixed.
Referenced by code_a_plane(), encode_one_slice(), and encode_one_slice_MBAFF().
int CheckOffsetParameterName | ( | char * | s, | |
int * | type | |||
) |
Check the parameter name.
s | parameter name string | |
type | 4x4 or 8x8 offset matrix type |
Definition at line 228 of file q_offsets.c.
Referenced by ParseQOffsetMatrix().
void free_QOffsets | ( | QuantParameters * | p_Quant, | |
InputParameters * | p_Inp | |||
) |
Free Q matrix arrays.
Definition at line 196 of file q_offsets.c.
References inp_par_enc::AdaptRoundingFixed, free_mem2Dshort(), and free_mem3Dshort().
Referenced by free_global_buffers().
void Init_QOffsetMatrix | ( | ImageParameters * | p_Img, | |
InputParameters * | p_Inp | |||
) |
Initialise Q offset matrix values.
Now set up all offset p_Inp. This process could be reused if we wish to re-init offsets
Definition at line 394 of file q_offsets.c.
References allocate_QOffsets(), errortext, GetConfigFileContent(), InitOffsetParam(), inp_par_enc::OffsetMatrixPresentFlag, ParseQOffsetMatrix(), and inp_par_enc::QOffsetMatrixFile.
Referenced by init_encoder().
static void InitOffsetParam | ( | QuantParameters * | p_Quant, | |
InputParameters * | p_Inp | |||
) | [static] |
Init quantization offset parameters.
Definition at line 436 of file q_offsets.c.
References inp_par_enc::AdaptRoundingFixed, inp_par_enc::OffsetMatrixPresentFlag, and inp_par_enc::output.
Referenced by Init_QOffsetMatrix().
void ParseQOffsetMatrix | ( | QuantParameters * | p_Quant, | |
char * | buf, | |||
int | bufsize | |||
) |
Parse the Q Offset Matrix values read from cfg file.
p_Quant | quantization parameters | |
buf | buffer to be parsed | |
bufsize | buffer size of buffer |
Definition at line 266 of file q_offsets.c.
References CheckOffsetParameterName(), error(), errortext, and ET_SIZE.
Referenced by Init_QOffsetMatrix().
const short Offset8_inter_default[64] [static] |
Initial value:
{ 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342 }
Definition at line 122 of file q_offsets.c.
const short Offset8_intra_default_chroma[64] [static] |
Initial value:
{ 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682 }
Definition at line 100 of file q_offsets.c.
const short Offset8_intra_default_inter[64] [static] |
Initial value:
{ 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342 }
Definition at line 111 of file q_offsets.c.
const short Offset8_intra_default_intra[64] [static] |
Initial value:
{ 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682 }
Definition at line 89 of file q_offsets.c.
const short Offset_inter_default[16] [static] |
Initial value:
{ 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, }
Definition at line 82 of file q_offsets.c.
const short Offset_intra_default_chroma[16] [static] |
Initial value:
{ 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682 }
Definition at line 67 of file q_offsets.c.
const short Offset_intra_default_inter[16] [static] |
Initial value:
{ 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, }
Definition at line 75 of file q_offsets.c.
const short Offset_intra_default_intra[16] [static] |
Initial value:
{ 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682 }
Definition at line 60 of file q_offsets.c.
const char OffsetType4x4[15][24] [static] |
Initial value:
{ "INTRA4X4_LUMA_INTRA", "INTRA4X4_CHROMAU_INTRA", "INTRA4X4_CHROMAV_INTRA", "INTRA4X4_LUMA_INTERP", "INTRA4X4_CHROMAU_INTERP", "INTRA4X4_CHROMAV_INTERP", "INTRA4X4_LUMA_INTERB", "INTRA4X4_CHROMAU_INTERB", "INTRA4X4_CHROMAV_INTERB", "INTER4X4_LUMA_INTERP", "INTER4X4_CHROMAU_INTERP", "INTER4X4_CHROMAV_INTERP", "INTER4X4_LUMA_INTERB", "INTER4X4_CHROMAU_INTERB", "INTER4X4_CHROMAV_INTERB" }
Definition at line 24 of file q_offsets.c.
const char OffsetType8x8[15][24] [static] |
Initial value:
{ "INTRA8X8_LUMA_INTRA", "INTRA8X8_LUMA_INTERP", "INTRA8X8_LUMA_INTERB", "INTER8X8_LUMA_INTERP", "INTER8X8_LUMA_INTERB", "INTRA8X8_CHROMAU_INTRA", "INTRA8X8_CHROMAU_INTERP", "INTRA8X8_CHROMAU_INTERB", "INTER8X8_CHROMAU_INTERP", "INTER8X8_CHROMAU_INTERB", "INTRA8X8_CHROMAV_INTRA", "INTRA8X8_CHROMAV_INTERP", "INTRA8X8_CHROMAV_INTERB", "INTER8X8_CHROMAV_INTERP", "INTER8X8_CHROMAV_INTERB" }
Definition at line 42 of file q_offsets.c.