diff --git a/src/cfg.c b/src/cfg.c index 1ca30b60..aae7ee0b 100644 --- a/src/cfg.c +++ b/src/cfg.c @@ -48,6 +48,7 @@ int kvz_config_init(kvz_config *cfg) cfg->intra_qp_offset_auto = true; cfg->intra_period = 64; cfg->vps_period = 0; + cfg->lmcs_enable = 0; cfg->deblock_enable = 0; cfg->deblock_beta = 0; cfg->deblock_tc = 0; @@ -882,6 +883,9 @@ int kvz_config_parse(kvz_config *cfg, const char *name, const char *value) cfg->vps_period = atoi(value); else if OPT("ref") cfg->ref_frames = atoi(value); + else if OPT("lmcs") { + cfg->lmcs_enable = atobool(value); + } else if OPT("deblock") { int beta, tc; if (2 == sscanf(value, "%d:%d", &beta, &tc)) { diff --git a/src/cli.c b/src/cli.c index 7203ab74..7ff5c453 100644 --- a/src/cli.c +++ b/src/cli.c @@ -45,6 +45,7 @@ static const struct option long_options[] = { { "vps-period", required_argument, NULL, 0 }, { "input-res", required_argument, NULL, 0 }, { "input-fps", required_argument, NULL, 0 }, + { "lmcs", no_argument, NULL, 0 }, { "deblock", required_argument, NULL, 0 }, { "no-deblock", no_argument, NULL, 0 }, { "sao", required_argument, NULL, 0 }, diff --git a/src/kvazaar.h b/src/kvazaar.h index 0b0a10d3..df3d50bb 100644 --- a/src/kvazaar.h +++ b/src/kvazaar.h @@ -299,6 +299,7 @@ typedef struct kvz_config double framerate; /*!< \brief Deprecated, will be removed. */ int32_t framerate_num; /*!< \brief Framerate numerator */ int32_t framerate_denom; /*!< \brief Framerate denominator */ + int32_t lmcs_enable; /*!< \brief Flag to enable luma mapping with chroma scaling - filter */ int32_t deblock_enable; /*!< \brief Flag to enable deblocking filter */ enum kvz_sao sao_type; /*!< \brief Flag to enable sample adaptive offset filter */ enum kvz_alf alf_type; /*!< \brief Flag to enable adaptive loop filter */