|
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 More... | |
| 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. More... | |
| 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 More... | |
| 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 | ||
| ) |