TUT HEVC Encoder
Loading...
Searching...
No Matches
kvz_config Struct Reference

Struct which contains all configuration data. More...

#include <kvazaar.h>

Collaboration diagram for kvz_config:

Data Fields

int32_t qp
 Quantization parameter.
 
int32_t intra_period
 the period of intra frames in stream
 
int32_t vps_period
 How often the VPS, SPS and PPS are re-sent.
 
int32_t width
 frame width, must be a multiple of 8
 
int32_t height
 frame height, must be a multiple of 8
 
double framerate
 Deprecated, will be removed.
 
int32_t framerate_num
 Framerate numerator.
 
int32_t framerate_denom
 Framerate denominator.
 
int32_t deblock_enable
 Flag to enable deblocking filter.
 
enum kvz_sao sao_type
 Flag to enable sample adaptive offset filter.
 
int32_t rdoq_enable
 Flag to enable RD optimized quantization.
 
int32_t signhide_enable
 Flag to enable sign hiding.
 
int32_t smp_enable
 Flag to enable SMP blocks.
 
int32_t amp_enable
 Flag to enable AMP blocks.
 
int32_t rdo
 RD-calculation level (0..2)
 
int32_t full_intra_search
 If true, don't skip modes in intra search.
 
int32_t trskip_enable
 Flag to enable transform skip (for 4x4 blocks).
 
int32_t tr_depth_intra
 Maximum transform depth for intra.
 
enum kvz_ime_algorithm ime_algorithm
 Integer motion estimation algorithm.
 
int32_t fme_level
 Fractional pixel motion estimation level (0: disabled, 1: enabled).
 
int8_t source_scan_type
 Source scan type (0: progressive, 1: top field first, 2: bottom field first).
 
int32_t bipred
 Bi-prediction (0: disabled, 1: enabled).
 
int32_t deblock_beta
 (deblocking) beta offset (div 2), range -6...6
 
int32_t deblock_tc
 (deblocking) tc offset (div 2), range -6...6
 
struct { 
 
   int32_t   sar_width 
 the horizontal size of the sample aspect ratio (in arbitrary units) More...
 
   int32_t   sar_height 
 the vertical size of the sample aspect ratio (in the same arbitrary units as sar_width). More...
 
   int8_t   overscan 
 Crop overscan setting. More...
 
   int8_t   videoformat 
 Video format. More...
 
   int8_t   fullrange 
 Flag to indicate full-range. More...
 
   int8_t   colorprim 
 Color primaries. More...
 
   int8_t   transfer 
 Transfer characteristics. More...
 
   int8_t   colormatrix 
 Color matrix coefficients. More...
 
   int32_t   chroma_loc 
 Chroma sample location. More...
 
vui 
 
int32_t aud_enable
 Flag to use access unit delimiters.
 
int32_t ref_frames
 number of reference frames to use
 
char * cqmfile
 Pointer to custom quantization matrices filename.
 
int32_t tiles_width_count
 number of tiles separation in x direction
 
int32_t tiles_height_count
 number of tiles separation in y direction
 
int32_t * tiles_width_split
 tiles split x coordinates (dimension: tiles_width_count)
 
int32_t * tiles_height_split
 tiles split y coordinates (dimension: tiles_height_count)
 
int wpp
 
int owf
 
int32_t slice_count
 
int32_t * slice_addresses_in_ts
 
int32_t threads
 
int32_t cpuid
 
struct { 
 
   int32_t   min [6] 
 
   int32_t   max [6] 
 
pu_depth_inter 
 
struct { 
 
   int32_t   min [6] 
 
   int32_t   max [6] 
 
pu_depth_intra 
 
int32_t add_encoder_info
 
int8_t gop_len
 length of GOP for the video sequence
 
int8_t gop_lowdelay
 specifies that the GOP does not use future pictures
 
kvz_gop_config gop [32]
 Array of GOP settings.
 
int32_t target_bitrate
 
int8_t mv_rdo
 MV RDO calculation in search (0: estimation, 1: RDO).
 
int8_t calc_psnr
 Print PSNR in CLI.
 
enum kvz_mv_constraint mv_constraint
 Constrain movement vectors.
 
enum kvz_hash hash
 What hash algorithm to use.
 
enum kvz_cu_split_termination cu_split_termination
 Mode of cu split termination.
 
enum kvz_crypto_features crypto_features
 
uint8_t * optional_key
 
enum kvz_me_early_termination me_early_termination
 Mode of me early termination.
 
int32_t intra_rdo_et
 Use early termination in intra rdo.
 
int32_t lossless
 Use lossless coding.
 
int32_t tmvp_enable
 
int32_t rdoq_skip
 Use Temporal Motion Vector Predictors.
 
enum kvz_input_format input_format
 Use Temporal Motion Vector Predictors.
 
int32_t input_bitdepth
 Use Temporal Motion Vector Predictors.
 
struct { 
 
   unsigned   d 
 
   unsigned   t 
 
gop_lp_definition 
 
int32_t implicit_rdpcm
 Enable implicit residual DPCM.
 
struct { 
 
   char *   file_path 
 
   enum kvz_roi_format   format 
 
roi 
 Specify delta QPs for region of interest coding.
 
unsigned slices
 How to map slices to frame.
 
int32_t erp_aqp
 Use adaptive QP for 360 video with equirectangular projection.
 
uint8_t level
 The HEVC level.
 
uint8_t force_level
 Whether we ignore and just warn from all of the errors about the output not conforming to the level's requirements.
 
uint8_t high_tier
 Whether we use the high tier bitrates.
 
uint32_t max_bitrate
 The maximum allowed bitrate for this level and tier.
 
uint32_t me_max_steps
 Maximum steps that hexagonal and diagonal motion estimation can use.
 
int8_t intra_qp_offset
 Offset to add to QP for intra frames.
 
uint8_t intra_qp_offset_auto
 Select intra QP Offset based on GOP length.
 
int8_t fast_residual_cost_limit
 Minimum QP that uses CABAC for residual cost instead of a fast estimate.
 
int8_t set_qp_in_cu
 Set QP at CU level keeping pic_init_qp_minus26 in PPS zero.
 
int8_t open_gop
 Flag to enable/disable open GOP configuration.
 
int32_t vaq
 
int8_t scaling_list
 Enable variance adaptive quantization.
 
uint8_t max_merge
 Maximum number of merge cadidates.
 
uint8_t early_skip
 Enable Early Skip Mode Decision.
 
uint8_t ml_pu_depth_intra
 Enable Machine learning CU depth prediction for Intra encoding.
 
struct { 
 
   uint8_t   startCTU_x 
 
   uint8_t   startCTU_y 
 
   uint16_t   fullWidth 
 
   uint16_t   fullHeight 
 
partial_coding 
 Used for partial frame encoding.
 
uint8_t zero_coeff_rdo
 Always consider CU without any quantized residual.
 
int8_t frame_allocation
 Currently unused parameter for OBA rc.
 
int8_t rc_algorithm
 used rc scheme, 0 for QP
 
uint8_t intra_bit_allocation
 whether to use hadamard based bit allocation for intra frames or not
 
uint8_t clip_neighbour
 
enum kvz_file_format file_format
 
char * stats_file_prefix
 
char * fast_coeff_table_fn
 Pointer to fast coeff table filename.
 
uint8_t rdo_cost_sampling_mode_on
 whether we're sampling TBs and their costs for fast cost estimation training
 
uint8_t fastrd_sampling_on
 whether we're running in normal mode, sampling TBs and their cost for fast estimation training, or comparing estimator accuracy to CABAC
 
uint8_t fastrd_accuracy_check_on
 
char * fastrd_learning_outdir_fn
 
uint8_t combine_intra_cus
 whether to try combining intra cus at the lower depth when search is not performed at said depth
 
uint8_t force_inter
 
uint8_t intra_chroma_search
 
uint8_t fast_bipred
 
uint8_t enable_logging_output
 May be used to disable the logging output to stderr. Default: on.
 

Detailed Description

Functions config_alloc, config_init and config_destroy must be used to maintain ABI compatibility. Do not copy this struct, as the size might change.

Field Documentation

◆ add_encoder_info

int32_t kvz_config::add_encoder_info

◆ amp_enable

int32_t kvz_config::amp_enable

◆ aud_enable

int32_t kvz_config::aud_enable

◆ bipred

int32_t kvz_config::bipred

◆ calc_psnr

int8_t kvz_config::calc_psnr
Since
3.1.0

◆ chroma_loc

int32_t kvz_config::chroma_loc

◆ clip_neighbour

uint8_t kvz_config::clip_neighbour

◆ colormatrix

int8_t kvz_config::colormatrix

◆ colorprim

int8_t kvz_config::colorprim

◆ combine_intra_cus

uint8_t kvz_config::combine_intra_cus

◆ cpuid

int32_t kvz_config::cpuid

◆ cqmfile

char* kvz_config::cqmfile

◆ crypto_features

enum kvz_crypto_features kvz_config::crypto_features
Since
3.7.0

◆ cu_split_termination

enum kvz_cu_split_termination kvz_config::cu_split_termination
Since
3.8.0

◆ d

unsigned kvz_config::d

◆ deblock_beta

int32_t kvz_config::deblock_beta

◆ deblock_enable

int32_t kvz_config::deblock_enable

◆ deblock_tc

int32_t kvz_config::deblock_tc

◆ early_skip

uint8_t kvz_config::early_skip

◆ enable_logging_output

uint8_t kvz_config::enable_logging_output

◆ erp_aqp

int32_t kvz_config::erp_aqp

◆ fast_bipred

uint8_t kvz_config::fast_bipred

◆ fast_coeff_table_fn

char* kvz_config::fast_coeff_table_fn

◆ fast_residual_cost_limit

int8_t kvz_config::fast_residual_cost_limit

◆ fastrd_accuracy_check_on

uint8_t kvz_config::fastrd_accuracy_check_on

◆ fastrd_learning_outdir_fn

char* kvz_config::fastrd_learning_outdir_fn

◆ fastrd_sampling_on

uint8_t kvz_config::fastrd_sampling_on

◆ file_format

enum kvz_file_format kvz_config::file_format

◆ file_path

char* kvz_config::file_path

◆ fme_level

int32_t kvz_config::fme_level

◆ force_inter

uint8_t kvz_config::force_inter

◆ force_level

uint8_t kvz_config::force_level

◆ format

enum kvz_roi_format kvz_config::format

◆ frame_allocation

int8_t kvz_config::frame_allocation

◆ framerate

double kvz_config::framerate

◆ framerate_denom

int32_t kvz_config::framerate_denom

◆ framerate_num

int32_t kvz_config::framerate_num

◆ full_intra_search

int32_t kvz_config::full_intra_search

◆ fullHeight

uint16_t kvz_config::fullHeight

◆ fullrange

int8_t kvz_config::fullrange

◆ fullWidth

uint16_t kvz_config::fullWidth

◆ gop

kvz_gop_config kvz_config::gop[32]

◆ gop_len

int8_t kvz_config::gop_len

◆ gop_lowdelay

int8_t kvz_config::gop_lowdelay

◆ [struct]

struct { ... } kvz_config::gop_lp_definition

◆ hash

enum kvz_hash kvz_config::hash
Since
3.5.0

◆ height

int32_t kvz_config::height

◆ high_tier

uint8_t kvz_config::high_tier

Requires the level to be 4 or higher.

◆ ime_algorithm

enum kvz_ime_algorithm kvz_config::ime_algorithm

◆ implicit_rdpcm

int32_t kvz_config::implicit_rdpcm

◆ input_bitdepth

int32_t kvz_config::input_bitdepth

◆ input_format

enum kvz_input_format kvz_config::input_format

◆ intra_bit_allocation

uint8_t kvz_config::intra_bit_allocation

◆ intra_chroma_search

uint8_t kvz_config::intra_chroma_search

◆ intra_period

int32_t kvz_config::intra_period

◆ intra_qp_offset

int8_t kvz_config::intra_qp_offset

◆ intra_qp_offset_auto

uint8_t kvz_config::intra_qp_offset_auto

◆ intra_rdo_et

int32_t kvz_config::intra_rdo_et
Since
4.1.0

◆ level

uint8_t kvz_config::level

◆ lossless

int32_t kvz_config::lossless

◆ max

int32_t kvz_config::max[6]

◆ max_bitrate

uint32_t kvz_config::max_bitrate

◆ max_merge

uint8_t kvz_config::max_merge

◆ me_early_termination

enum kvz_me_early_termination kvz_config::me_early_termination
Since
3.8.0

◆ me_max_steps

uint32_t kvz_config::me_max_steps

-1 to disable

◆ min

int32_t kvz_config::min[6]

◆ ml_pu_depth_intra

uint8_t kvz_config::ml_pu_depth_intra

◆ mv_constraint

enum kvz_mv_constraint kvz_config::mv_constraint
Since
3.3.0

◆ mv_rdo

int8_t kvz_config::mv_rdo

◆ open_gop

int8_t kvz_config::open_gop

◆ optional_key

uint8_t* kvz_config::optional_key

◆ overscan

int8_t kvz_config::overscan

◆ owf

int kvz_config::owf

◆ [struct]

struct { ... } kvz_config::partial_coding

◆ [struct]

struct { ... } kvz_config::pu_depth_inter

◆ [struct]

struct { ... } kvz_config::pu_depth_intra

◆ qp

int32_t kvz_config::qp

◆ rc_algorithm

int8_t kvz_config::rc_algorithm

◆ rdo

int32_t kvz_config::rdo

◆ rdo_cost_sampling_mode_on

uint8_t kvz_config::rdo_cost_sampling_mode_on

◆ rdoq_enable

int32_t kvz_config::rdoq_enable

◆ rdoq_skip

int32_t kvz_config::rdoq_skip

Mode of rdoq skip

◆ ref_frames

int32_t kvz_config::ref_frames

◆ [struct]

struct { ... } kvz_config::roi

◆ sao_type

enum kvz_sao kvz_config::sao_type

◆ sar_height

int32_t kvz_config::sar_height

◆ sar_width

int32_t kvz_config::sar_width

◆ scaling_list

int8_t kvz_config::scaling_list

Type of scaling lists to use

◆ set_qp_in_cu

int8_t kvz_config::set_qp_in_cu

◆ signhide_enable

int32_t kvz_config::signhide_enable

◆ slice_addresses_in_ts

int32_t* kvz_config::slice_addresses_in_ts

◆ slice_count

int32_t kvz_config::slice_count

◆ slices

unsigned kvz_config::slices
Since
3.15.0

◆ smp_enable

int32_t kvz_config::smp_enable

◆ source_scan_type

int8_t kvz_config::source_scan_type

◆ startCTU_x

uint8_t kvz_config::startCTU_x

◆ startCTU_y

uint8_t kvz_config::startCTU_y

◆ stats_file_prefix

char* kvz_config::stats_file_prefix

◆ t

unsigned kvz_config::t

◆ target_bitrate

int32_t kvz_config::target_bitrate

◆ threads

int32_t kvz_config::threads

◆ tiles_height_count

int32_t kvz_config::tiles_height_count

◆ tiles_height_split

int32_t* kvz_config::tiles_height_split

◆ tiles_width_count

int32_t kvz_config::tiles_width_count

◆ tiles_width_split

int32_t* kvz_config::tiles_width_split

◆ tmvp_enable

int32_t kvz_config::tmvp_enable

◆ tr_depth_intra

int32_t kvz_config::tr_depth_intra

◆ transfer

int8_t kvz_config::transfer

◆ trskip_enable

int32_t kvz_config::trskip_enable

◆ vaq

int32_t kvz_config::vaq

◆ videoformat

int8_t kvz_config::videoformat

◆ vps_period

int32_t kvz_config::vps_period

-1: never 0: first frame only 1: every intra frame 2: every other intra frame 3: every third intra frame and so on

◆ [struct]

struct { ... } kvz_config::vui

◆ width

int32_t kvz_config::width

◆ wpp

int kvz_config::wpp

◆ zero_coeff_rdo

uint8_t kvz_config::zero_coeff_rdo

The documentation for this struct was generated from the following file: