update CTC script
1. seperate STILL image test into a new test configuration to match with excel spread sheet
2. for STILL image test, report file size instead of bit rate.
Change-Id: I788097a6a284d025e99248d0e51e33994494e6cb
diff --git a/tools/convexhull_framework/src/AV2CTCTest.py b/tools/convexhull_framework/src/AV2CTCTest.py
index 01e2fb2..166a7a7 100644
--- a/tools/convexhull_framework/src/AV2CTCTest.py
+++ b/tools/convexhull_framework/src/AV2CTCTest.py
@@ -124,7 +124,11 @@
csv_file = GetRDResultCsvFile(EncodeMethod, CodecName, EncodePreset, test_cfg)
csv = open(csv_file, 'wt')
csv.write("TestCfg,EncodeMethod,CodecName,EncodePreset,Class,Res,Name,FPS,"\
- "Bit Depth,QP,Bitrate(kbps)")
+ "Bit Depth,QP,")
+ if (test_cfg == "STILL"):
+ csv.write("FileSize(bytes)")
+ else:
+ csv.write("Bitrate(kbps)")
for qty in QualityList:
csv.write(',' + qty)
csv.write(",EncT[s],DecT[s],EncT[h]")
@@ -134,13 +138,19 @@
for qp in QPs[test_cfg]:
bs, dec = GetBsReconFileName(EncodeMethod, CodecName, EncodePreset,
test_cfg, clip, qp)
- bitrate = (os.path.getsize(bs) * 8 * (clip.fps_num / clip.fps_denom)
+ filesize = os.path.getsize(bs)
+ bitrate = (filesize * 8 * (clip.fps_num / clip.fps_denom)
/ FrameNum[test_cfg]) / 1000.0
quality = GatherQualityMetrics(dec, Path_QualityLog)
- csv.write("%s,%s,%s,%s,%s,%s,%s,%.2f,%d,%d,%.4f"
+ csv.write("%s,%s,%s,%s,%s,%s,%s,%.2f,%d,%d,"
%(test_cfg,EncodeMethod,CodecName,EncodePreset,clip.file_class,
str(clip.width)+'x'+str(clip.height), clip.file_name,
- clip.fps,clip.bit_depth,qp,bitrate))
+ clip.fps,clip.bit_depth,qp))
+ if (test_cfg == "STILL"):
+ csv.write("%d"%filesize)
+ else:
+ csv.write("%.4f"%bitrate)
+
for qty in quality:
csv.write(",%.4f"%qty)
enc_time, dec_time = GatherPerfInfo(bs, Path_TimingLog)
diff --git a/tools/convexhull_framework/src/AV2CTCVideo.py b/tools/convexhull_framework/src/AV2CTCVideo.py
index cd98a0f..0822a3c 100644
--- a/tools/convexhull_framework/src/AV2CTCVideo.py
+++ b/tools/convexhull_framework/src/AV2CTCVideo.py
@@ -15,10 +15,11 @@
"""
CTC_TEST_SET = {
- "AI": ["A1", "A2", "A3", "A4", "A5", "B1", "F1", "F2", "G1", "G2"],
+ "AI": ["A1", "A2", "A3", "A4", "A5", "B1", "G1", "G2"],
"RA": ["A1", "A2", "A3", "A4", "A5", "B1", "G1", "G2"],
"LD": ["A2", "A3", "A4", "A5", "B1"],
- "AS": ["A1"]
+ "AS": ["A1"],
+ "STILL": ["F1", "F2"],
}
Y4M_CLIPs = {
diff --git a/tools/convexhull_framework/src/Config.py b/tools/convexhull_framework/src/Config.py
index 9bd71ab..5931688 100644
--- a/tools/convexhull_framework/src/Config.py
+++ b/tools/convexhull_framework/src/Config.py
@@ -15,7 +15,7 @@
import AV2CTCVideo
#TEST_CONFIGURATIONS = ["RA","LD", "AS"]
-TEST_CONFIGURATIONS = ["LD", "RA", "AI"]
+TEST_CONFIGURATIONS = ["LD", "RA", "AI", "STILL"]
######################################
# configuration settings
@@ -29,6 +29,7 @@
"RA" : 130,
"AI" : 30,
"AS" : 130,
+ "STILL" : 1,
}
EnableTimingInfo = True
Platform = platform.system()
@@ -61,6 +62,7 @@
"RA" : [23, 31, 39, 47, 55, 63],
"AI" : [15, 23, 31, 39, 47, 55],
"AS" : [23, 31, 39, 47, 55, 63],
+ "STILL" : [15, 23, 31, 39, 47, 55],
}
######################## quality evalution config #############################
diff --git a/tools/convexhull_framework/src/VideoEncoder.py b/tools/convexhull_framework/src/VideoEncoder.py
index 23c6472..d9582b8 100644
--- a/tools/convexhull_framework/src/VideoEncoder.py
+++ b/tools/convexhull_framework/src/VideoEncoder.py
@@ -43,7 +43,7 @@
else:
args += " --tile-columns=0 --threads=1 "
- if test_cfg == "AI":
+ 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":
args += " --min-gf-interval=16 --max-gf-interval=16 --gf-min-pyr-height=4" \