[api] Add new parameter "ref_wraparound" for motion vector wrapping

This commit is contained in:
Marko Viitanen 2024-07-08 10:17:52 +03:00
parent 7c7a56bb45
commit 544b59b7de
4 changed files with 11 additions and 1 deletions

View file

@ -243,6 +243,9 @@ int uvg_config_init(uvg_config *cfg)
cfg->ibc = 0;
cfg->dep_quant = 0;
cfg->ref_wraparound = 0;
return 1;
}
@ -1624,6 +1627,8 @@ int uvg_config_parse(uvg_config *cfg, const char *name, const char *value)
}
else if OPT("dep-quant") {
cfg->dep_quant = (bool)atobool(value);
} else if OPT ("ref-wraparound") {
cfg->ref_wraparound = (bool)atobool(value);
}
else {
return 0;

View file

@ -201,6 +201,8 @@ static const struct option long_options[] = {
{ "ibc", required_argument, NULL, 0 },
{ "dep-quant", no_argument, NULL, 0 },
{ "no-dep-quant", no_argument, NULL, 0 },
{ "ref-wraparound", no_argument, NULL, 0 },
{ "no-ref-wraparound", no_argument, NULL, 0 },
{0, 0, 0, 0}
};

View file

@ -612,7 +612,7 @@ static void encoder_state_write_bitstream_seq_parameter_set(bitstream_t* stream,
WRITE_UE(stream, 0, "num_ref_pic_lists_in_sps[0]");
WRITE_UE(stream, 0, "num_ref_pic_lists_in_sps[0]");
WRITE_U(stream, 0, 1, "sps_ref_wraparound_enabled_flag");
WRITE_U(stream, encoder->cfg.ref_wraparound, 1, "sps_ref_wraparound_enabled_flag");

View file

@ -553,6 +553,9 @@ typedef struct uvg_config
uint8_t ibc; /* \brief Intra Block Copy parameter */
uint8_t dep_quant;
uint8_t ref_wraparound; /* \brief MV reference wraparound */
} uvg_config;
/**