Commit e0c090e9 authored by norvell's avatar norvell
Browse files

Add measurement of decoder outputs for test_26444

parent 1f435707
Loading
Loading
Loading
Loading
Loading
+15 −2
Original line number Diff line number Diff line
@@ -12,7 +12,7 @@ Parse a junit report and create a summary report.

PROPERTIES = ["MLD", "MAXIMUM ABS DIFF", "MIN_SSNR", "MIN_ODG"]

FORMATS = {
IVAS_FORMATS = {
    "Stereo": r"stereo",
    "ISM": r"ISM",
    "Multichannel": r"Multi-channel",
@@ -23,6 +23,15 @@ FORMATS = {
    "Renderer": r"renderer",
}

EVS_FORMATS = {
    "AMRWB I/O dec": r"Readme_AMRWB_IO_dec",
    "AMRWB I/O enc": r"Readme_AMRWB_IO_enc",
    "EVS dec": r"Readme_EVS_dec",
    "EVS enc": r"Readme_EVS_enc",
    "EVS JBM dec": r"Readme_JBM_dec",
}


CATEGORIES = {
    "Normal operation": r".*",
    "DTX": r"DTX",
@@ -42,10 +51,14 @@ if __name__ == "__main__":
        help="XML junit report input file, e.g. report-junit.xml",
    )
    parser.add_argument("csv_file", type=str, help="Output CSV file, e.g. report.csv")
    parser.add_argument("--evs", action="store_true")
    args = parser.parse_args()
    xml_report = args.xml_report
    csv_file = args.csv_file

    if (args.evs):
        FORMATS = EVS_FORMATS
    else:
        FORMATS = IVAS_FORMATS
    tree = ElementTree.parse(xml_report)

    testsuite = tree.find(".//testsuite")
+28 −17
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@ import filecmp
import os
import re
import pytest
import shutil

from tests.cmp_pcm import cmp_pcm
from tests.conftest import DecoderFrontend, EncoderFrontend, parse_properties
@@ -134,7 +135,9 @@ def test_evs_26444(
        pattern = r'(\$DIFF_BIN\s?-w\s?)?'
        diff_opt = re.sub(pattern, '', diff_opt).strip()
        [ref, test] = diff_opt.split()[:2]
        if enc_opts and (get_mld or get_ssnr or get_odg):
        # Run audio file comparison if MLD/SSNR/PEAQ is requested and the test is either a bitstream or audio (not JBM tracefile)
        if (get_mld or get_ssnr or get_odg) and ("COD" in ref or "OUT" in ref):
            if enc_opts:
                for file in [ref, test]:
                    output_config = "" # Empty for EVS operation
                    in_file = file
@@ -147,11 +150,19 @@ def test_evs_26444(
                        out_file,
                        add_option_list=add_option_list,
                    )

                fs = int(sampling_rate) * 1000
                reffile = ref + ".wav"
                testfile = test + ".wav"
            else:
                fs = int(re.search(r'(\d+)kHz', ref).group(1)) * 1000
                # pyaudio3dtools.audiofile.readfile only handles .wav, .pcm and .raw suffixes. 
                reffile = ref +".pcm"
                testfile = test + ".pcm"
                shutil.copy(ref, reffile)
                shutil.copy(test, testfile)
            output_differs, reason = cmp_pcm(
                ref + ".wav",
                test + ".wav",
                reffile,
                testfile,
                output_config,
                fs,
                get_mld=get_mld,