TUT HEVC Encoder
|
#include "intra.h"
#include <stdlib.h>
#include "image.h"
#include "kvz_math.h"
#include "strategies/strategies-intra.h"
#include "tables.h"
#include "transform.h"
#include "videoframe.h"
Variables | |
static const uint8_t | num_ref_pixels_top [16][16] |
static const uint8_t | num_ref_pixels_left [16][16] |
|
static |
|
static |
|
static |
log2_width | Log2 of width, range 2..5. |
in_ref_above | Pointer to -1 index of above reference, length=width*2+1. |
in_ref_left | Pointer to -1 index of left reference, length=width*2+1. |
dst | Buffer of size width*width. |
|
static |
void kvz_intra_build_reference | ( | const int_fast8_t | log2_width, |
const color_t | color, | ||
const vector2d_t *const | luma_px, | ||
const vector2d_t *const | pic_px, | ||
const lcu_t *const | lcu, | ||
kvz_intra_references *const | refs | ||
) |
width | Width in pixels, range 4..32. |
color | What color pixels to use. |
luma_px | Luma coordinates of the prediction block. |
pic_px | Picture dimensions in luma pixels. |
lcu | LCU struct. |
out_left_ref | Left reference pixels, index 0 is the top-left. |
out_top_ref | Top reference pixels, index 0 is the top-left. |
void kvz_intra_build_reference_any | ( | const int_fast8_t | log2_width, |
const color_t | color, | ||
const vector2d_t *const | luma_px, | ||
const vector2d_t *const | pic_px, | ||
const lcu_t *const | lcu, | ||
kvz_intra_references *const | refs | ||
) |
void kvz_intra_build_reference_inner | ( | const int_fast8_t | log2_width, |
const color_t | color, | ||
const vector2d_t *const | luma_px, | ||
const vector2d_t *const | pic_px, | ||
const lcu_t *const | lcu, | ||
kvz_intra_references *const | refs | ||
) |
int8_t kvz_intra_get_dir_luma_predictor | ( | const uint32_t | x, |
const uint32_t | y, | ||
int8_t * | preds, | ||
const cu_info_t *const | cur_pu, | ||
const cu_info_t *const | left_pu, | ||
const cu_info_t *const | above_pu | ||
) |
x | x-coordinate of the PU in pixels |
y | y-coordinate of the PU in pixels |
preds | output buffer for 3 predictions |
cur_pu | PU to check |
left_pu | PU to the left of cur_pu |
above_pu | PU above cur_pu |
void kvz_intra_predict | ( | kvz_intra_references * | refs, |
int_fast8_t | log2_width, | ||
int_fast8_t | mode, | ||
color_t | color, | ||
kvz_pixel * | dst, | ||
bool | filter_boundary | ||
) |
refs | Reference pixels used for the prediction. |
log2_width | Width of the predicted block. |
mode | Intra mode used for the prediction. |
color | Color of the prediction. |
dst | Buffer for the predicted pixels. |
filter_boundary | Whether to filter the boundary on modes 10 and 26. |
void kvz_intra_recon_cu | ( | encoder_state_t *const | state, |
int | x, | ||
int | y, | ||
int | depth, | ||
int8_t | mode_luma, | ||
int8_t | mode_chroma, | ||
cu_info_t * | cur_cu, | ||
lcu_t * | lcu | ||
) |
state | encoder state |
x | x-coordinate of the CU in luma pixels |
y | y-coordinate of the CU in luma pixels |
depth | depth in the CU tree |
mode_luma | intra mode for luma, or -1 to skip luma recon |
mode_chroma | intra mode for chroma, or -1 to skip chroma recon |
cur_cu | pointer to the CU, or NULL to fetch CU from LCU |
lcu | containing LCU |