|
TUT HEVC Encoder
|
Struct for CU info.
#include <cu.h>
Data Fields | ||
| uint8_t | type: 2 | |
| block type, one of cu_type_t values | ||
| uint8_t | depth: 3 | |
| depth / size of this block | ||
| uint8_t | part_size: 3 | |
| partition mode, one of part_mode_t values | ||
| uint8_t | tr_depth: 3 | |
| transform depth | ||
| uint8_t | skipped: 1 | |
| flag to indicate this block is skipped | ||
| uint8_t | merged: 1 | |
| flag to indicate this block is merged | ||
| uint8_t | merge_idx: 3 | |
| merge index | ||
| uint8_t | tr_skip: 1 | |
| transform skip flag | ||
| uint16_t | cbf | |
| uint8_t | qp | |
| QP used for the CU. | ||
| union { | ||
| struct { | ||
| int8_t mode | ||
| int8_t mode_chroma | ||
| } intra | ||
| struct { | ||
| int16_t mv [2][2] | ||
| uint8_t mv_ref [2] | ||
| uint8_t mv_cand0: 3 | ||
| uint8_t mv_cand1: 3 | ||
| uint8_t mv_dir: 2 | ||
| } inter | ||
| }; | ||
| union { ... } cu_info_t |
| uint16_t cu_info_t::cbf |
| uint8_t cu_info_t::depth |
| struct { ... } cu_info_t::inter |
| struct { ... } cu_info_t::intra |
| uint8_t cu_info_t::merge_idx |
| uint8_t cu_info_t::merged |
| int8_t cu_info_t::mode |
| int8_t cu_info_t::mode_chroma |
| int16_t cu_info_t::mv[2][2] |
| uint8_t cu_info_t::mv_cand0 |
| uint8_t cu_info_t::mv_cand1 |
| uint8_t cu_info_t::mv_dir |
| uint8_t cu_info_t::mv_ref[2] |
| uint8_t cu_info_t::part_size |
| uint8_t cu_info_t::qp |
This is required for deblocking when per-LCU QPs are enabled.
| uint8_t cu_info_t::skipped |
| uint8_t cu_info_t::tr_depth |
| uint8_t cu_info_t::tr_skip |
| uint8_t cu_info_t::type |