Add test for cdf_update_mode
Add aomenc_av1_webm_cdf_update_mode test in aomenc.sh.
Change-Id: Ic2872f86ae08a36fe6ee8c863a38f8f01c76b09f
diff --git a/av1/encoder/encoder.c b/av1/encoder/encoder.c
index 0d14b8f..0cdcbf5 100644
--- a/av1/encoder/encoder.c
+++ b/av1/encoder/encoder.c
@@ -5927,10 +5927,8 @@
// compression loss).
// TODO(huisu@google.com): design schemes for various trade-offs between
// compression quality and decoding speed.
- if (frame_is_intra_only(cm) || !cm->show_frame)
- cm->disable_cdf_update = 0;
- else
- cm->disable_cdf_update = 1;
+ cm->disable_cdf_update =
+ (frame_is_intra_only(cm) || !cm->show_frame) ? 0 : 1;
break;
}
#endif // CONFIG_CDF_UPDATE_MODE
diff --git a/test/aomenc.sh b/test/aomenc.sh
index 5d17b0b..fcba898 100755
--- a/test/aomenc.sh
+++ b/test/aomenc.sh
@@ -198,12 +198,35 @@
fi
}
+aomenc_av1_webm_cdf_update_mode() {
+ if [ "$(aom_config_option_enabled CONFIG_CDF_UPDATE_MODE)" = "yes" ] && \
+ [ "$(aomenc_can_encode_av1)" = "yes" ] && \
+ [ "$(webm_io_available)" = "yes" ]; then
+ for mode in 0 1 2; do
+ local readonly output="${AOM_TEST_OUTPUT_DIR}/cdf_mode_${mode}.webm"
+ aomenc $(yuv_raw_input) \
+ --codec=av1 \
+ $(aomenc_encode_test_fast_params) \
+ --passes=2 \
+ --cpu-used=2 \
+ --cdf-update-mode=${mode} \
+ --output="${output}"
+
+ if [ ! -e "${output}" ]; then
+ elog "Output file does not exist."
+ return 1
+ fi
+ done
+ fi
+}
+
aomenc_tests="aomenc_av1_ivf
aomenc_av1_webm
aomenc_av1_webm_2pass
aomenc_av1_ivf_lossless
aomenc_av1_ivf_minq0_maxq0
aomenc_av1_webm_lag5_frames10
- aomenc_av1_webm_non_square_par"
+ aomenc_av1_webm_non_square_par
+ aomenc_av1_webm_cdf_update_mode"
run_tests aomenc_verify_environment "${aomenc_tests}"