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" \