update CTC script
1. add control flag to enable/disable temporal filtering
2. update QPs for still image class for CTC v2.
3. update excel template file name
Change-Id: Ie454c52f5e3a9bd710b9269d4d6cf13aa3e0e0af
diff --git a/tools/convexhull_framework/bin/AOM_CWG_AS_CTC_v9.6.xlsm b/tools/convexhull_framework/bin/AOM_CWG_AS_CTC_v9.6.xlsm
index 1979e7d..c007ff3 100644
--- a/tools/convexhull_framework/bin/AOM_CWG_AS_CTC_v9.6.xlsm
+++ b/tools/convexhull_framework/bin/AOM_CWG_AS_CTC_v9.6.xlsm
Binary files differ
diff --git a/tools/convexhull_framework/bin/AOM_CWG_AS_CTC_v9.7.xlsm b/tools/convexhull_framework/bin/AOM_CWG_AS_CTC_v9.7.xlsm
new file mode 100644
index 0000000..167fadb
--- /dev/null
+++ b/tools/convexhull_framework/bin/AOM_CWG_AS_CTC_v9.7.xlsm
Binary files differ
diff --git a/tools/convexhull_framework/bin/AOM_CWG_Regular_CTC_v6.1.xlsm b/tools/convexhull_framework/bin/AOM_CWG_Regular_CTC_v6.1.xlsm
new file mode 100644
index 0000000..d6a3578
--- /dev/null
+++ b/tools/convexhull_framework/bin/AOM_CWG_Regular_CTC_v6.1.xlsm
Binary files differ
diff --git a/tools/convexhull_framework/bin/AOM_CWG_Regular_CTC_v6.xlsm b/tools/convexhull_framework/bin/AOM_CWG_Regular_CTC_v6.xlsm
deleted file mode 100644
index 3969919..0000000
--- a/tools/convexhull_framework/bin/AOM_CWG_Regular_CTC_v6.xlsm
+++ /dev/null
Binary files differ
diff --git a/tools/convexhull_framework/bin/AOM_CWG_Regular_CTC_v7.1.xlsm b/tools/convexhull_framework/bin/AOM_CWG_Regular_CTC_v7.1.xlsm
new file mode 100644
index 0000000..2d84cd1
--- /dev/null
+++ b/tools/convexhull_framework/bin/AOM_CWG_Regular_CTC_v7.1.xlsm
Binary files differ
diff --git a/tools/convexhull_framework/src/AV2CTCProgress.py b/tools/convexhull_framework/src/AV2CTCProgress.py
index 83723cc..d5518e9 100644
--- a/tools/convexhull_framework/src/AV2CTCProgress.py
+++ b/tools/convexhull_framework/src/AV2CTCProgress.py
@@ -327,7 +327,7 @@
csv.write(',%s'%qty)
csv.write(",EncTime(s),EncInstr\n")
- wb = xlsxwriter.Workbook(summary + ".xls")
+ wb = xlsxwriter.Workbook(summary + ".xlsx")
shts = []
for mode in csv_files.keys():
diff --git a/tools/convexhull_framework/src/Config.py b/tools/convexhull_framework/src/Config.py
index c048ff4..93f6fb7 100644
--- a/tools/convexhull_framework/src/Config.py
+++ b/tools/convexhull_framework/src/Config.py
@@ -36,6 +36,7 @@
UsePerfUtil = False
EnableMD5 = True
EnableOpenGOP = False
+EnableTemporalFilter = False
Platform = platform.system()
PSNR_Y_WEIGHT = 14.0
PSNR_U_WEIGHT = 1.0
@@ -43,8 +44,12 @@
APSNR_Y_WEIGHT = 4.0
APSNR_U_WEIGHT = 1.0
APSNR_V_WEIGHT = 1.0
-CTC_RegularXLSTemplate = os.path.join(BinPath, 'AOM_CWG_Regular_CTC_v6.xlsm')
-CTC_ASXLSTemplate = os.path.join(BinPath, 'AOM_CWG_AS_CTC_v9.6.xlsm')
+if CTC_VERSION == '2.0':
+ CTC_RegularXLSTemplate = os.path.join(BinPath, 'AOM_CWG_Regular_CTC_v7.1.xlsm')
+ CTC_ASXLSTemplate = os.path.join(BinPath, 'AOM_CWG_AS_CTC_v9.7.xlsm')
+else:
+ CTC_RegularXLSTemplate = os.path.join(BinPath, 'AOM_CWG_Regular_CTC_v6.1.xlsm')
+ CTC_ASXLSTemplate = os.path.join(BinPath, 'AOM_CWG_AS_CTC_v9.6.xlsm')
############ test contents #######################################
ContentPath = "D://YUVs//AV2-CTC"
@@ -83,7 +88,7 @@
"RA": [110, 135, 160, 185, 210, 235],
"AI": [85, 110, 135, 160, 185, 210],
"AS": [110, 135, 160, 185, 210, 235],
- "STILL": [85, 110, 135, 160, 185, 210],
+ "STILL": [60, 85, 110, 135, 160, 185],
}
else:
QPs = {
diff --git a/tools/convexhull_framework/src/Utils.py b/tools/convexhull_framework/src/Utils.py
index 7e2ade0..fe4687d 100755
--- a/tools/convexhull_framework/src/Utils.py
+++ b/tools/convexhull_framework/src/Utils.py
@@ -23,8 +23,8 @@
import matplotlib.pyplot as plt
from operator import itemgetter
from Config import LogLevels, ContentPath, Platform, Path_RDResults, QPs, PSNR_Y_WEIGHT, PSNR_U_WEIGHT, PSNR_V_WEIGHT, \
-APSNR_Y_WEIGHT, APSNR_U_WEIGHT, APSNR_V_WEIGHT, CTC_VERSION, InterpolatePieces, UsePCHIPInterpolation, FFMPEG, CTC_TEST_SET
-from AV2CTCVideo import Y4M_CLIPs
+APSNR_Y_WEIGHT, APSNR_U_WEIGHT, APSNR_V_WEIGHT, CTC_VERSION, InterpolatePieces, UsePCHIPInterpolation, FFMPEG
+from AV2CTCVideo import Y4M_CLIPs, CTC_TEST_SET
from CalcBDRate import BD_RATE
class Clip:
diff --git a/tools/convexhull_framework/src/VideoEncoder.py b/tools/convexhull_framework/src/VideoEncoder.py
index 6fb6f4f..f379fec 100644
--- a/tools/convexhull_framework/src/VideoEncoder.py
+++ b/tools/convexhull_framework/src/VideoEncoder.py
@@ -14,7 +14,7 @@
import math
import Utils
from Config import AOMENC, AV1ENC, SVTAV1, EnableTimingInfo, Platform, UsePerfUtil, CTC_VERSION, HEVCCfgFile, \
- HMENC, EnableOpenGOP, GOP_SIZE, SUB_GOP_SIZE
+ HMENC, EnableOpenGOP, GOP_SIZE, SUB_GOP_SIZE, EnableTemporalFilter
from Utils import ExecuteCmd, ConvertY4MToYUV, DeleteFile, GetShortContentName
def get_qindex_from_QP(QP):
@@ -34,7 +34,7 @@
args = " --verbose --codec=av1 -v --psnr --obu --frame-parallel=0" \
" --cpu-used=%s --limit=%d --passes=1 --end-usage=q --i%s " \
" --use-fixed-qp-offsets=1 --deltaq-mode=0 " \
- " --enable-tpl-model=0 --enable-keyframe-filtering=0 --fps=%d/%d " \
+ " --enable-tpl-model=0 --fps=%d/%d " \
" --input-bit-depth=%d --bit-depth=%d -w %d -h %d" \
% (preset, framenum, clip.fmt, clip.fps_num, clip.fps_denom,
clip.bit_depth, clip.bit_depth, clip.width, clip.height)
@@ -56,6 +56,11 @@
else:
args += " --enable-fwd-kf=0 "
+ if EnableTemporalFilter:
+ args += " --enable-keyframe-filtering=1 "
+ else:
+ args += " --enable-keyframe-filtering=0 "
+
if test_cfg == "AI" or test_cfg == "STILL":
args += " --kf-min-dist=0 --kf-max-dist=0 "
elif test_cfg == "RA" or test_cfg == "AS":
@@ -95,7 +100,7 @@
args = " --verbose --codec=av1 -v --psnr --obu --frame-parallel=0" \
" --cpu-used=%s --limit=%d --passes=1 --end-usage=q --i%s " \
" --use-fixed-qp-offsets=1 --deltaq-mode=0 " \
- " --enable-tpl-model=0 --enable-keyframe-filtering=0 --fps=%d/%d " \
+ " --enable-tpl-model=0 --fps=%d/%d " \
" --input-bit-depth=%d --bit-depth=%d --cq-level=%d -w %d -h %d" \
% (preset, framenum, clip.fmt, clip.fps_num, clip.fps_denom,
clip.bit_depth, clip.bit_depth, QP, clip.width, clip.height)
@@ -112,6 +117,11 @@
else:
args += " --enable-fwd-kf=0 "
+ if EnableTemporalFilter:
+ args += " --enable-keyframe-filtering=1 "
+ else:
+ args += " --enable-keyframe-filtering=0 "
+
if test_cfg == "AI" or test_cfg == "STILL":
args += " --kf-min-dist=0 --kf-max-dist=0 "
elif test_cfg == "RA" or test_cfg == "AS":
@@ -220,6 +230,11 @@
else:
args += " --DecodingRefreshType=2 "
+ if EnableTemporalFilter:
+ args += " --TemporalFilter=1 "
+ else:
+ args += " --TemporalFilter=0 "
+
if test_cfg == "AI" or test_cfg == "STILL":
args += " --IntraPeriod=1 "
elif test_cfg == "RA" or test_cfg == "AS":