TUT HEVC Encoder
|
#include "strategies/generic/quant-generic.h"
#include <stdlib.h>
#include "encoder.h"
#include "rdo.h"
#include "scalinglist.h"
#include "strategies/strategies-quant.h"
#include "strategyselector.h"
#include "transform.h"
#include "fast_coeff_cost.h"
Macros | |
#define | QUANT_SHIFT 14 |
#define | SCAN_SET_SIZE 16 |
#define | LOG2_SCAN_SET_SIZE 4 |
Functions | |
void | kvz_quant_generic (const encoder_state_t *const state, coeff_t *coef, coeff_t *q_coef, int32_t width, int32_t height, int8_t type, int8_t scan_idx, int8_t block_type) |
quantize transformed coefficents | |
int | kvz_quantize_residual_generic (encoder_state_t *const state, const cu_info_t *const cur_cu, const int width, const color_t color, const coeff_scan_order_t scan_order, const int use_trskip, const int in_stride, const int out_stride, const kvz_pixel *const ref_in, const kvz_pixel *const pred_in, kvz_pixel *rec_out, coeff_t *coeff_out, bool early_skip) |
Quantize residual and get both the reconstruction and coeffs. | |
void | kvz_dequant_generic (const encoder_state_t *const state, coeff_t *q_coef, coeff_t *coef, int32_t width, int32_t height, int8_t type, int8_t block_type) |
inverse quantize transformed and quantized coefficents | |
static uint32_t | coeff_abs_sum_generic (const coeff_t *coeffs, size_t length) |
static INLINE void | get_coeff_weights (uint64_t wts_packed, uint16_t *weights) |
static double | fast_coeff_cost_generic (const coeff_t *coeff, int32_t width, uint64_t weights) |
static void | find_last_scanpos_generic (coeff_t *coef, coeff_t *dest_coeff, int8_t type, int32_t q_bits, const coeff_t *quant_coeff, struct kvz_sh_rates_t *sh_rates, const uint32_t cg_size, uint16_t *ctx_set, const uint32_t *scan, int32_t *cg_last_scanpos, int32_t *last_scanpos, uint32_t cg_num, int32_t *cg_scanpos, int32_t width, int8_t scan_mode) |
int | kvz_strategy_register_quant_generic (void *opaque, uint8_t bitdepth) |
#define LOG2_SCAN_SET_SIZE 4 |
#define QUANT_SHIFT 14 |
#define SCAN_SET_SIZE 16 |
|
static |
|
static |
|
static |
|
static |
void kvz_dequant_generic | ( | const encoder_state_t *const | state, |
coeff_t * | q_coef, | ||
coeff_t * | coef, | ||
int32_t | width, | ||
int32_t | height, | ||
int8_t | type, | ||
int8_t | block_type ) |
void kvz_quant_generic | ( | const encoder_state_t *const | state, |
coeff_t * | coef, | ||
coeff_t * | q_coef, | ||
int32_t | width, | ||
int32_t | height, | ||
int8_t | type, | ||
int8_t | scan_idx, | ||
int8_t | block_type ) |
< Represents scaling through forward transform
int kvz_quantize_residual_generic | ( | encoder_state_t *const | state, |
const cu_info_t *const | cur_cu, | ||
const int | width, | ||
const color_t | color, | ||
const coeff_scan_order_t | scan_order, | ||
const int | use_trskip, | ||
const int | in_stride, | ||
const int | out_stride, | ||
const kvz_pixel *const | ref_in, | ||
const kvz_pixel *const | pred_in, | ||
kvz_pixel * | rec_out, | ||
coeff_t * | coeff_out, | ||
bool | early_skip ) |
width | Transform width. |
color | Color. |
scan_order | Coefficient scan order. |
use_trskip | Whether transform skip is used. |
stride | Stride for ref_in, pred_in and rec_out. |
ref_in | Reference pixels. |
pred_in | Predicted pixels. |
rec_out | Reconstructed pixels. |
coeff_out | Coefficients used for reconstruction of rec_out. |
early_skip | if this is used for early skip, bypass IT and IQ |
int kvz_strategy_register_quant_generic | ( | void * | opaque, |
uint8_t | bitdepth ) |