|
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 |