TUT HEVC Encoder
Loading...
Searching...
No Matches
transform.h File Reference

Quantization and transform functions.

#include "cu.h"
#include "encoder.h"
#include "encoderstate.h"
#include "global.h"
Include dependency graph for transform.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void kvz_transformskip (const encoder_control_t *encoder, int16_t *block, int16_t *coeff, int8_t block_size)
 NxN inverse transform (2D)
 
void kvz_itransformskip (const encoder_control_t *encoder, int16_t *block, int16_t *coeff, int8_t block_size)
 inverse transform skip
 
void kvz_transform2d (const encoder_control_t *const encoder, int16_t *block, int16_t *coeff, int8_t block_size, color_t color, cu_type_t type)
 forward transform (2D)
 
void kvz_itransform2d (const encoder_control_t *const encoder, int16_t *block, int16_t *coeff, int8_t block_size, color_t color, cu_type_t type)
 
int32_t kvz_get_scaled_qp (int8_t type, int8_t qp, int8_t qp_offset)
 Get scaled QP used in quantization.
 
void kvz_quantize_lcu_residual (encoder_state_t *state, bool luma, bool chroma, int32_t x, int32_t y, uint8_t depth, cu_info_t *cur_cu, lcu_t *lcu, bool early_skip)
 This function calculates the residual coefficients for a region of the LCU (defined by x, y and depth) and updates the reconstruction with the kvantized residual.
 

Variables

const uint8_t kvz_g_chroma_scale [58]
 
const int16_t kvz_g_inv_quant_scales [6]
 

Function Documentation

◆ kvz_get_scaled_qp()

int32_t kvz_get_scaled_qp ( int8_t type,
int8_t qp,
int8_t qp_offset )
Here is the caller graph for this function:

◆ kvz_itransform2d()

void kvz_itransform2d ( const encoder_control_t *const encoder,
int16_t * block,
int16_t * coeff,
int8_t block_size,
color_t color,
cu_type_t type )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ kvz_itransformskip()

void kvz_itransformskip ( const encoder_control_t *const encoder,
int16_t * block,
int16_t * coeff,
int8_t block_size )
Parameters
coeffinput data (transform coefficients)
blockoutput data (residual)
block_sizewidth of transform
Here is the caller graph for this function:

◆ kvz_quantize_lcu_residual()

void kvz_quantize_lcu_residual ( encoder_state_t *const state,
const bool luma,
const bool chroma,
const int32_t x,
const int32_t y,
const uint8_t depth,
cu_info_t * cur_pu,
lcu_t * lcu,
bool early_skip )

Processes the TU tree recursively.

Inputs are:

  • lcu->rec pixels after prediction for the area
  • lcu->ref reference pixels for the area
  • lcu->cu for the area
  • early_skip if this is used for early skip, bypass IT and IQ

Outputs are:

  • lcu->rec reconstruction after quantized residual
  • lcu->coeff quantized coefficients for the area
  • lcu->cbf coded block flags for the area
  • lcu->cu.intra.tr_skip tr skip flags for the area (in case of luma)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ kvz_transform2d()

void kvz_transform2d ( const encoder_control_t *const encoder,
int16_t * block,
int16_t * coeff,
int8_t block_size,
color_t color,
cu_type_t type )
Parameters
blockinput residual
coefftransform coefficients
block_sizewidth of transform
Here is the call graph for this function:
Here is the caller graph for this function:

◆ kvz_transformskip()

void kvz_transformskip ( const encoder_control_t *const encoder,
int16_t * block,
int16_t * coeff,
int8_t block_size )
Parameters
coeffinput data (transform coefficients)
blockoutput data (residual)
block_sizeinput data (width of transform)
Here is the caller graph for this function:

Variable Documentation

◆ kvz_g_chroma_scale

const uint8_t kvz_g_chroma_scale[58]
extern

◆ kvz_g_inv_quant_scales

const int16_t kvz_g_inv_quant_scales[6]
extern