Remove unused variables related to fixed qp
These parameters have been deprecated.
Change-Id: I716ceed4305dd8e34c6d330252336578513c2ce6
diff --git a/aom/aom_encoder.h b/aom/aom_encoder.h
index c324c56..28f3e96 100644
--- a/aom/aom_encoder.h
+++ b/aom/aom_encoder.h
@@ -878,28 +878,6 @@
*/
unsigned int use_fixed_qp_offsets;
-/*!\brief Number of fixed QP offsets
- *
- * This defines the number of elements in the fixed_qp_offsets array.
- */
-#define FIXED_QP_OFFSET_COUNT 5
-
- /*!\brief Array of fixed QP offsets
- *
- * This array specifies fixed QP offsets (range: 0 to 63) for frames at
- * different levels of the pyramid. It is a comma-separated list of 5 values:
- * - QP offset for keyframe
- * - QP offset for ALTREF frame
- * - QP offset for 1st level internal ARF
- * - QP offset for 2nd level internal ARF
- * - QP offset for 3rd level internal ARF
- * Notes:
- * - QP offset for leaf level frames is not explicitly specified. These frames
- * use the worst quality allowed (--cq-level).
- * - This option is only relevant for --end-usage=q.
- */
- int fixed_qp_offsets[FIXED_QP_OFFSET_COUNT];
-
/*!\brief Options defined per config file
*
*/
diff --git a/apps/aomenc.c b/apps/aomenc.c
index 20a4d2a..231f7fe 100644
--- a/apps/aomenc.c
+++ b/apps/aomenc.c
@@ -1131,13 +1131,6 @@
argi)) {
config->cfg.use_fixed_qp_offsets = arg_parse_uint(&arg);
} else if (arg_match(&arg, &g_av1_codec_arg_defs.fixed_qp_offsets, argi)) {
- const int fixed_qp_offset_count = arg_parse_list(
- &arg, config->cfg.fixed_qp_offsets, FIXED_QP_OFFSET_COUNT);
- if (fixed_qp_offset_count < FIXED_QP_OFFSET_COUNT) {
- die("Option --fixed_qp_offsets requires %d comma-separated values, but "
- "only %d values were provided.\n",
- FIXED_QP_OFFSET_COUNT, fixed_qp_offset_count);
- }
config->cfg.use_fixed_qp_offsets = 1;
} else if (global->usage == AOM_USAGE_REALTIME &&
arg_match(&arg, &g_av1_codec_arg_defs.enable_restoration,
diff --git a/av1/av1_cx_iface.c b/av1/av1_cx_iface.c
index 68a7766..c3c493d 100644
--- a/av1/av1_cx_iface.c
+++ b/av1/av1_cx_iface.c
@@ -750,18 +750,10 @@
if (cfg->rc_end_usage == AOM_Q) {
RANGE_CHECK_HI(cfg, use_fixed_qp_offsets, 1);
- for (int i = 0; i < FIXED_QP_OFFSET_COUNT; ++i) {
- RANGE_CHECK_HI(cfg, fixed_qp_offsets[i], 63);
- }
} else {
if (cfg->use_fixed_qp_offsets > 0) {
ERROR("--use_fixed_qp_offsets can only be used with --end-usage=q");
}
- for (int i = 0; i < FIXED_QP_OFFSET_COUNT; ++i) {
- if (cfg->fixed_qp_offsets[i] >= 0) {
- ERROR("--fixed_qp_offsets can only be used with --end-usage=q");
- }
- }
}
RANGE_CHECK(extra_cfg, color_primaries, AOM_CICP_CP_BT_709,
@@ -957,23 +949,6 @@
extra_cfg->reduced_tx_type_set = cfg->reduced_tx_type_set;
}
-static double convert_qp_offset(int cq_level, int q_offset, int bit_depth) {
- const double base_q_val = av1_convert_qindex_to_q(cq_level, bit_depth);
- const int new_q_index_offset = av1_quantizer_to_qindex(q_offset);
- const int new_q_index = AOMMAX(cq_level - new_q_index_offset, 0);
- const double new_q_val = av1_convert_qindex_to_q(new_q_index, bit_depth);
- return (base_q_val - new_q_val);
-}
-
-static double get_modeled_qp_offset(int cq_level, int level, int bit_depth) {
- // 80% for keyframe was derived empirically.
- // 40% similar to rc_pick_q_and_bounds_one_pass_vbr() for Q mode ARF.
- // Rest derived similar to rc_pick_q_and_bounds_two_pass()
- static const int percents[FIXED_QP_OFFSET_COUNT] = { 76, 60, 30, 15, 8 };
- const double q_val = av1_convert_qindex_to_q(cq_level, bit_depth);
- return q_val * percents[level] / 100;
-}
-
static aom_codec_err_t set_encoder_config(AV1EncoderConfig *oxcf,
const aom_codec_enc_cfg_t *cfg,
struct av1_extracfg *extra_cfg) {
@@ -1163,19 +1138,6 @@
(q_cfg->deltaq_mode == DELTA_Q_HDR) &&
(cfg->g_bit_depth == AOM_BITS_10) &&
(extra_cfg->color_primaries == AOM_CICP_CP_BT_2020);
- for (int i = 0; i < FIXED_QP_OFFSET_COUNT; ++i) {
- if (q_cfg->use_fixed_qp_offsets) {
- if (cfg->fixed_qp_offsets[i] >= 0) { // user-provided qp offset
- q_cfg->fixed_qp_offsets[i] = convert_qp_offset(
- rc_cfg->cq_level, cfg->fixed_qp_offsets[i], tool_cfg->bit_depth);
- } else { // auto-selected qp offset
- q_cfg->fixed_qp_offsets[i] =
- get_modeled_qp_offset(rc_cfg->cq_level, i, tool_cfg->bit_depth);
- }
- } else {
- q_cfg->fixed_qp_offsets[i] = -1.0;
- }
- }
tool_cfg->enable_deltalf_mode =
(q_cfg->deltaq_mode != NO_DELTA_Q) && extra_cfg->deltalf_mode;
@@ -4189,22 +4151,21 @@
2000, // rc_two_pass_vbrmax_section
// keyframing settings (kf)
- 0, // fwd_kf_enabled
- AOM_KF_AUTO, // kf_mode
- 0, // kf_min_dist
- 9999, // kf_max_dist
- 0, // sframe_dist
- 1, // sframe_mode
- 0, // large_scale_tile
- 0, // monochrome
- 0, // full_still_picture_hdr
- 0, // save_as_annexb
- 0, // tile_width_count
- 0, // tile_height_count
- { 0 }, // tile_widths
- { 0 }, // tile_heights
- 0, // use_fixed_qp_offsets
- { -1, -1, -1, -1, -1 }, // fixed_qp_offsets
+ 0, // fwd_kf_enabled
+ AOM_KF_AUTO, // kf_mode
+ 0, // kf_min_dist
+ 9999, // kf_max_dist
+ 0, // sframe_dist
+ 1, // sframe_mode
+ 0, // large_scale_tile
+ 0, // monochrome
+ 0, // full_still_picture_hdr
+ 0, // save_as_annexb
+ 0, // tile_width_count
+ 0, // tile_height_count
+ { 0 }, // tile_widths
+ { 0 }, // tile_heights
+ 0, // use_fixed_qp_offsets
{ 0, 128, 128, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // cfg
},
@@ -4260,22 +4221,21 @@
2000, // rc_two_pass_vbrmax_section
// keyframing settings (kf)
- 0, // fwd_kf_enabled
- AOM_KF_AUTO, // kf_mode
- 0, // kf_min_dist
- 9999, // kf_max_dist
- 0, // sframe_dist
- 1, // sframe_mode
- 0, // large_scale_tile
- 0, // monochrome
- 0, // full_still_picture_hdr
- 0, // save_as_annexb
- 0, // tile_width_count
- 0, // tile_height_count
- { 0 }, // tile_widths
- { 0 }, // tile_heights
- 0, // use_fixed_qp_offsets
- { -1, -1, -1, -1, -1 }, // fixed_qp_offsets
+ 0, // fwd_kf_enabled
+ AOM_KF_AUTO, // kf_mode
+ 0, // kf_min_dist
+ 9999, // kf_max_dist
+ 0, // sframe_dist
+ 1, // sframe_mode
+ 0, // large_scale_tile
+ 0, // monochrome
+ 0, // full_still_picture_hdr
+ 0, // save_as_annexb
+ 0, // tile_width_count
+ 0, // tile_height_count
+ { 0 }, // tile_widths
+ { 0 }, // tile_heights
+ 0, // use_fixed_qp_offsets
{ 0, 128, 128, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // cfg
},
@@ -4331,22 +4291,21 @@
2000, // rc_two_pass_vbrmax_section
// keyframing settings (kf)
- 0, // fwd_kf_enabled
- AOM_KF_DISABLED, // kf_mode
- 0, // kf_min_dist
- 0, // kf_max_dist
- 0, // sframe_dist
- 1, // sframe_mode
- 0, // large_scale_tile
- 0, // monochrome
- 0, // full_still_picture_hdr
- 0, // save_as_annexb
- 0, // tile_width_count
- 0, // tile_height_count
- { 0 }, // tile_widths
- { 0 }, // tile_heights
- 0, // use_fixed_qp_offsets
- { -1, -1, -1, -1, -1 }, // fixed_qp_offsets
+ 0, // fwd_kf_enabled
+ AOM_KF_DISABLED, // kf_mode
+ 0, // kf_min_dist
+ 0, // kf_max_dist
+ 0, // sframe_dist
+ 1, // sframe_mode
+ 0, // large_scale_tile
+ 0, // monochrome
+ 0, // full_still_picture_hdr
+ 0, // save_as_annexb
+ 0, // tile_width_count
+ 0, // tile_height_count
+ { 0 }, // tile_widths
+ { 0 }, // tile_heights
+ 0, // use_fixed_qp_offsets
{ 0, 128, 128, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // cfg
},
diff --git a/av1/encoder/encoder.h b/av1/encoder/encoder.h
index 79bb5fb..2f3142f 100644
--- a/av1/encoder/encoder.h
+++ b/av1/encoder/encoder.h
@@ -777,10 +777,6 @@
} InputCfg;
typedef struct {
- // List of QP offsets for: keyframe, ALTREF, and 3 levels of internal ARFs.
- // If any of these values are negative, fixed offsets are disabled.
- // Uses internal q range.
- double fixed_qp_offsets[FIXED_QP_OFFSET_COUNT];
// If true, encoder will use fixed QP offsets, that are either:
// - Given by the user, and stored in 'fixed_qp_offsets' array, OR
// - Picked automatically from cq_level.