TUT HEVC Encoder
|
#include "encode_coding_tree.h"
#include "cabac.h"
#include "context.h"
#include "cu.h"
#include "encoder.h"
#include "extras/crypto.h"
#include "global.h"
#include "imagelist.h"
#include "inter.h"
#include "intra.h"
#include "kvazaar.h"
#include "kvz_math.h"
#include "strategyselector.h"
#include "tables.h"
#include "videoframe.h"
Functions | |
void | kvz_encode_last_significant_xy (cabac_data_t *const cabac, uint8_t lastpos_x, uint8_t lastpos_y, uint8_t width, uint8_t height, uint8_t type, uint8_t scan, double *bits_out) |
Encode (X,Y) position of the last significant coefficient. More... | |
static void | encode_transform_unit (encoder_state_t *const state, int x, int y, int depth) |
static void | encode_transform_coeff (encoder_state_t *const state, int32_t x, int32_t y, int8_t depth, int8_t tr_depth, uint8_t parent_coeff_u, uint8_t parent_coeff_v) |
void | kvz_encode_inter_prediction_unit (encoder_state_t *const state, cabac_data_t *const cabac, const cu_info_t *const cur_cu, int x, int y, int width, int height, int depth, lcu_t *lcu, double *bits_out) |
static uint8_t | intra_mode_encryption (encoder_state_t *const state, uint8_t intra_pred_mode) |
static void | encode_intra_coding_unit (encoder_state_t *const state, cabac_data_t *const cabac, const cu_info_t *const cur_cu, int x, int y, int depth, lcu_t *lcu, double *bits_out) |
double | kvz_encode_part_mode (encoder_state_t *const state, cabac_data_t *const cabac, const cu_info_t *const cur_cu, int depth) |
void | kvz_encode_coding_tree (encoder_state_t *const state, uint16_t x, uint16_t y, uint8_t depth) |
double | kvz_mock_encode_coding_unit (encoder_state_t *const state, cabac_data_t *cabac, int x, int y, int depth, lcu_t *lcu, cu_info_t *cur_cu) |
void | kvz_encode_mvd (encoder_state_t *const state, cabac_data_t *cabac, int32_t mvd_hor, int32_t mvd_ver, double *bits_out) |
|
static |
Table 9-35 - Binarization for intra_chroma_pred_mode intra_chroma_pred_mode bin_string 4 0 0 100 1 101 2 110 3 111 Table 9-37 - Assignment of ctxInc to syntax elements with context coded bins intra_chroma_pred_mode[][] = 0, bypass, bypass
|
static |
encoder | |
x_pu | Prediction units' x coordinate. |
y_pu | Prediction units' y coordinate. |
depth | Depth from LCU. |
tr_depth | Depth from last CU. |
parent_coeff_u | What was signaled at previous level for cbf_cb. |
parent_coeff_v | What was signlaed at previous level for cbf_cr. |
|
static |
|
inlinestatic |
void kvz_encode_coding_tree | ( | encoder_state_t *const | state, |
uint16_t | x, | ||
uint16_t | y, | ||
uint8_t | depth | ||
) |
< are we in any border CU
void kvz_encode_inter_prediction_unit | ( | encoder_state_t *const | state, |
cabac_data_t *const | cabac, | ||
const cu_info_t *const | cur_cu, | ||
int | x, | ||
int | y, | ||
int | width, | ||
int | height, | ||
int | depth, | ||
lcu_t * | lcu, | ||
double * | bits_out | ||
) |
void kvz_encode_last_significant_xy | ( | cabac_data_t *const | cabac, |
uint8_t | lastpos_x, | ||
uint8_t | lastpos_y, | ||
uint8_t | width, | ||
uint8_t | height, | ||
uint8_t | type, | ||
uint8_t | scan, | ||
double * | bits_out | ||
) |
lastpos_x | X component of last coefficient |
lastpos_y | Y component of last coefficient |
width | Block width |
height | Block height |
type | plane type / luminance or chrominance |
scan | scan type (diag, hor, ver) |
This method encodes the X and Y component within a block of the last significant coefficient.
void kvz_encode_mvd | ( | encoder_state_t *const | state, |
cabac_data_t * | cabac, | ||
int32_t | mvd_hor, | ||
int32_t | mvd_ver, | ||
double * | bits_out | ||
) |
double kvz_encode_part_mode | ( | encoder_state_t *const | state, |
cabac_data_t *const | cabac, | ||
const cu_info_t *const | cur_cu, | ||
int | depth | ||
) |
double kvz_mock_encode_coding_unit | ( | encoder_state_t *const | state, |
cabac_data_t * | cabac, | ||
int | x, | ||
int | y, | ||
int | depth, | ||
lcu_t * | lcu, | ||
cu_info_t * | cur_cu | ||
) |
< are we in any border CU