|
TUT HEVC Encoder
|
Inter prediction. More...
#include "cu.h"#include "encoderstate.h"#include "global.h"#include "image.h"#include "kvazaar.h"Go to the source code of this file.
Data Structures | |
| struct | inter_merge_cand_t |
Functions | |
| void | kvz_inter_recon_cu (const encoder_state_t *const state, lcu_t *lcu, int32_t x, int32_t y, int32_t width, bool predict_luma, bool predict_chroma) |
| Reconstruct a single CU. More... | |
| void | kvz_inter_pred_pu (const encoder_state_t *const state, lcu_t *lcu, int32_t x, int32_t y, int32_t width, bool predict_luma, bool predict_chroma, int i_pu) |
| Predict a single PU. More... | |
| void | kvz_inter_recon_bipred (const encoder_state_t *const state, const kvz_picture *ref1, const kvz_picture *ref2, int32_t xpos, int32_t ypos, int32_t width, int32_t height, int16_t mv_param[2][2], lcu_t *lcu, bool predict_luma, bool predict_chroma) |
| Reconstruct bi-pred inter PU. More... | |
| void | kvz_inter_get_mv_cand (const encoder_state_t *const state, int32_t x, int32_t y, int32_t width, int32_t height, int16_t mv_cand[2][2], const cu_info_t *cur_cu, lcu_t *lcu, int8_t reflist) |
| Get MV prediction for current block. More... | |
| void | kvz_inter_get_mv_cand_cua (const encoder_state_t *const state, int32_t x, int32_t y, int32_t width, int32_t height, int16_t mv_cand[2][2], const cu_info_t *cur_cu, int8_t reflist) |
| Get MV prediction for current block using state->tile->frame->cu_array. More... | |
| uint8_t | kvz_inter_get_merge_cand (const encoder_state_t *const state, int32_t x, int32_t y, int32_t width, int32_t height, bool use_a1, bool use_b1, inter_merge_cand_t mv_cand[5], lcu_t *lcu) |
| Get merge predictions for current block. More... | |
| uint8_t kvz_inter_get_merge_cand | ( | const encoder_state_t *const | state, |
| int32_t | x, | ||
| int32_t | y, | ||
| int32_t | width, | ||
| int32_t | height, | ||
| bool | use_a1, | ||
| bool | use_b1, | ||
| inter_merge_cand_t | mv_cand[5], | ||
| lcu_t * | lcu | ||
| ) |
| state | the encoder state |
| x | block x position in SCU |
| y | block y position in SCU |
| width | block width |
| height | block height |
| use_a1 | true, if candidate a1 can be used |
| use_b1 | true, if candidate b1 can be used |
| mv_cand | Returns the merge candidates. |
| lcu | lcu containing the block |
| void kvz_inter_get_mv_cand | ( | const encoder_state_t *const | state, |
| int32_t | x, | ||
| int32_t | y, | ||
| int32_t | width, | ||
| int32_t | height, | ||
| int16_t | mv_cand[2][2], | ||
| const cu_info_t *const | cur_cu, | ||
| lcu_t * | lcu, | ||
| int8_t | reflist | ||
| ) |
| state | encoder state |
| x | block x position in pixels |
| y | block y position in pixels |
| width | block width in pixels |
| height | block height in pixels |
| mv_cand | Return the motion vector candidates. |
| cur_cu | current CU |
| lcu | current LCU |
| reflist | reflist index (either 0 or 1) |
| void kvz_inter_get_mv_cand_cua | ( | const encoder_state_t *const | state, |
| int32_t | x, | ||
| int32_t | y, | ||
| int32_t | width, | ||
| int32_t | height, | ||
| int16_t | mv_cand[2][2], | ||
| const cu_info_t * | cur_cu, | ||
| int8_t | reflist | ||
| ) |
| state | encoder state |
| x | block x position in pixels |
| y | block y position in pixels |
| width | block width in pixels |
| height | block height in pixels |
| mv_cand | Return the motion vector candidates. |
| cur_cu | current CU |
| reflist | reflist index (either 0 or 1) |
| void kvz_inter_pred_pu | ( | const encoder_state_t *const | state, |
| lcu_t * | lcu, | ||
| int32_t | x, | ||
| int32_t | y, | ||
| int32_t | width, | ||
| bool | predict_luma, | ||
| bool | predict_chroma, | ||
| int | i_pu | ||
| ) |
The PU may use either uniprediction or biprediction.
| state | encoder state |
| lcu | containing LCU |
| x | x-coordinate of the CU in pixels |
| y | y-coordinate of the CU in pixels |
| width | CU width |
| predict_luma | Enable or disable luma prediction for this call. |
| predict_chroma | Enable or disable chroma prediction for this call. |
| i_pu | Index of the PU. Always zero for 2Nx2N. Used for SMP+AMP. |
| void kvz_inter_recon_bipred | ( | const encoder_state_t *const | state, |
| const kvz_picture * | ref1, | ||
| const kvz_picture * | ref2, | ||
| int32_t | pu_x, | ||
| int32_t | pu_y, | ||
| int32_t | pu_w, | ||
| int32_t | pu_h, | ||
| int16_t | mv_param[2][2], | ||
| lcu_t * | lcu, | ||
| bool | predict_luma, | ||
| bool | predict_chroma | ||
| ) |
| state | encoder state |
| ref1 | reference picture to copy the data from |
| ref2 | other reference picture to copy the data from |
| pu_x | PU x position |
| pu_y | PU y position |
| width | PU width |
| height | PU height |
| mv_param | motion vectors |
| lcu | destination lcu |
| predict_luma | Enable or disable luma prediction for this call. |
| predict_chroma | Enable or disable chroma prediction for this call. |
| void kvz_inter_recon_cu | ( | const encoder_state_t *const | state, |
| lcu_t * | lcu, | ||
| int32_t | x, | ||
| int32_t | y, | ||
| int32_t | width, | ||
| bool | predict_luma, | ||
| bool | predict_chroma | ||
| ) |
The CU may consist of multiple PUs, each of which can use either uniprediction or biprediction.
| state | encoder state |
| lcu | containing LCU |
| x | x-coordinate of the CU in pixels |
| y | y-coordinate of the CU in pixels |
| width | CU width |
| predict_luma | Enable or disable luma prediction for this call. |
| predict_chroma | Enable or disable chroma prediction for this call. |