|
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"Functions | |
| 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) |
| Function for deriving intra luma predictions. More... | |
| static void | intra_filter_reference (int_fast8_t log2_width, kvz_intra_references *refs) |
| static void | intra_post_process_angular (unsigned width, unsigned stride, const kvz_pixel *ref, kvz_pixel *block) |
| static void | intra_pred_dc (const int_fast8_t log2_width, const kvz_pixel *const ref_top, const kvz_pixel *const ref_left, kvz_pixel *const out_block) |
| Generage planar prediction. More... | |
| 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) |
| Generate intra predictions. More... | |
| 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) |
| 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) |
| Generage angular predictions. More... | |
| static void | intra_recon_tb_leaf (encoder_state_t *const state, int x, int y, int depth, int8_t intra_mode, lcu_t *lcu, color_t color) |
| 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) |
| Reconstruct an intra CU. More... | |
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 |
|
static |
|
static |