Clarify low complexity decode mode support Change-Id: I1b31ca127b4ee5838e368311f98a188651f7f64d
diff --git a/av1/arg_defs.c b/av1/arg_defs.c index 81d00c4..1086567 100644 --- a/av1/arg_defs.c +++ b/av1/arg_defs.c
@@ -709,9 +709,11 @@ ARG_DEF(NULL, "sb-qp-sweep", 1, "When set to 1, enable the superblock level qp sweep for a " "given lambda to minimize the rdcost."), - .enable_low_complexity_decode = - ARG_DEF(NULL, "enable-low-complexity-decode", 1, - "Enable low complexity decode (0: false (default), 1: true)"), + .enable_low_complexity_decode = ARG_DEF( + NULL, "enable-low-complexity-decode", 1, + "Enable low complexity decode (0: false (default), 1: true). As of now, " + "this only supports good-quality encoding (speed 1 to 3) for vertical " + "videos between 608p and 720p."), .screen_detection_mode = ARG_DEF(NULL, "screen-detection-mode", 1, "Screen content detection mode (1: standard (default), "
diff --git a/av1/av1_cx_iface.c b/av1/av1_cx_iface.c index 07820d6..e414f8a 100644 --- a/av1/av1_cx_iface.c +++ b/av1/av1_cx_iface.c
@@ -1337,11 +1337,15 @@ oxcf->speed = 7; // Now, low complexity decode mode is only supported for good-quality - // encoding speed 1 to 3. This can be further modified if needed. + // encoding speed 1 to 3 and for vertical videos with a resolution between + // 608p and 720p. This can be further modified if needed. + const int is_low_complexity_decode_mode_supported = + (cfg->g_usage == AOM_USAGE_GOOD_QUALITY) && + (oxcf->speed >= 1 && oxcf->speed <= 3) && (cfg->g_w < cfg->g_h) && + (AOMMIN(cfg->g_w, cfg->g_h) >= 608 && AOMMIN(cfg->g_w, cfg->g_h) <= 720); oxcf->enable_low_complexity_decode = extra_cfg->enable_low_complexity_decode && - cfg->g_usage == AOM_USAGE_GOOD_QUALITY && oxcf->speed >= 1 && - oxcf->speed <= 3; + is_low_complexity_decode_mode_supported; // Set Color related configuration. color_cfg->color_primaries = extra_cfg->color_primaries;