Commit ff83c8c7 authored by Jan Kiene's avatar Jan Kiene
Browse files

add 15% fer testcases

parent 949e07ed
Loading
Loading
Loading
Loading
+9 −4
Original line number Diff line number Diff line
@@ -301,20 +301,25 @@ STEREO_DMX_EVS_PARAMS = list(

### -------------- decoder parameter lists --------------

FER_0 = "FER_0perc"
FER_15 = "FER_15perc"
BITSTREAM_PROCESSING_FER = [FER_0, FER_15]

DECODER_CLEAN_CHANNEL_CHANNELBASED_AND_MASA_PARAMS = (
    collapse_into_list_of_pairs(
        product(STEREO_PARAMS, OUTPUT_FORMATS_ALL[:2], SAMPLING_RATES_ALL)
        product(STEREO_PARAMS, OUTPUT_FORMATS_ALL[:2], SAMPLING_RATES_ALL, BITSTREAM_PROCESSING_FER)
    )
    + collapse_into_list_of_pairs(
        product(
            MC_PARAMS,
            OUTPUT_FORMATS_ALL[:10] + OUTPUT_FORMATS_BINAURAL,
            SAMPLING_RATES_ALL,
            BITSTREAM_PROCESSING_FER,
        )
    )
    + collapse_into_list_of_pairs(
        product(MASA_PARAMS, OUTPUT_FORMATS_ALL, SAMPLING_RATES_ALL)
        product(MASA_PARAMS, OUTPUT_FORMATS_ALL, SAMPLING_RATES_ALL, BITSTREAM_PROCESSING_FER)
    )
)
DECODER_CLEAN_CHANNEL_OBJECTBASED = collapse_into_list_of_pairs(product(ISM_PARAMS, OUTPUT_FORMATS_ALL, SAMPLING_RATES_ALL))
DECODER_CLEAN_CHANNEL_SCENEBASED = collapse_into_list_of_pairs(product(SBA_PARAMS, OUTPUT_FORMATS_ALL, SAMPLING_RATES_ALL))
 No newline at end of file
DECODER_CLEAN_CHANNEL_OBJECTBASED = collapse_into_list_of_pairs(product(ISM_PARAMS, OUTPUT_FORMATS_ALL, SAMPLING_RATES_ALL, BITSTREAM_PROCESSING_FER))
DECODER_CLEAN_CHANNEL_SCENEBASED = collapse_into_list_of_pairs(product(SBA_PARAMS, OUTPUT_FORMATS_ALL, SAMPLING_RATES_ALL, BITSTREAM_PROCESSING_FER))
 No newline at end of file
+14 −13
Original line number Diff line number Diff line
@@ -29,7 +29,7 @@ the United Nations Convention on Contracts on the International Sales of Goods.
"""

import pytest
from . import is_be_to_ref, get_bitstream_path, get_testv_path, REF_PATH, DUT_PATH
from . import is_be_to_ref, get_bitstream_path, get_testv_path, REF_PATH, DUT_PATH, TESTV_PATH
from .constants import *
from pathlib import Path
import subprocess
@@ -54,9 +54,9 @@ def get_bitstream(testv_name, encoder_format, bitrate, sampling_rate, dtx, suffi
    """
    with TemporaryDirectory() as tmp_dir:
        bitstream = get_bitstream_path(REF_PATH, testv_name, encoder_format, bitrate, sampling_rate, dtx, suffix)
        if processing == "FER_15":
        if processing == FER_15:
            bitstream_out = Path(tmp_dir).joinpath(bitstream.stem + f".{processing}.192")
            ep_path = REF_PATH.joinpath("ltv_ep_015.192")
            ep_path = TESTV_PATH.joinpath("ltv_ep_015.192")
            cmd = ["eid-xor", "-fer", "-vbr", str(bitstream), str(ep_path), str(bitstream_out)]
            subprocess.run(cmd)
            bitstream = bitstream_out
@@ -80,11 +80,9 @@ def run_check(

### --------------- Actual testcase definitions ---------------

# clean channel decoding


@pytest.mark.parametrize(
    "input_format,bitrate,input_sampling_rate,dtx,output_format,output_sampling_rate",
    "input_format,bitrate,input_sampling_rate,dtx,output_format,output_sampling_rate,bitstream_processing",
    DECODER_CLEAN_CHANNEL_CHANNELBASED_AND_MASA_PARAMS,
)
def test_decoder_clean_channel_channelbased_and_masa(
@@ -94,11 +92,12 @@ def test_decoder_clean_channel_channelbased_and_masa(
    dtx,
    output_format,
    output_sampling_rate,
    bitstream_processing,
    dut_decoder_frontend,
    update_ref,
):
    testv_name = get_testv_path(input_format, input_sampling_rate).stem
    with get_bitstream(testv_name, input_format, bitrate, input_sampling_rate, dtx) as ref_bitstream:
    with get_bitstream(testv_name, input_format, bitrate, input_sampling_rate, dtx, processing=bitstream_processing) as ref_bitstream:
        dut_output = get_output_path(ref_bitstream, output_format, output_sampling_rate)

        run_check(
@@ -112,9 +111,9 @@ def test_decoder_clean_channel_channelbased_and_masa(


@pytest.mark.parametrize(
    "input_format,bitrate,input_sampling_rate,dtx,md_type,output_format,output_sampling_rate", DECODER_CLEAN_CHANNEL_OBJECTBASED
    "input_format,bitrate,input_sampling_rate,dtx,md_type,output_format,output_sampling_rate,bitstream_processing", DECODER_CLEAN_CHANNEL_OBJECTBASED
)
def test_decoder_clean_channel_objectbased(
def test_decoder_objectbased(
        input_format,
        bitrate,
        input_sampling_rate,
@@ -122,6 +121,7 @@ def test_decoder_clean_channel_objectbased(
        md_type,
        output_format,
        output_sampling_rate,
        bitstream_processing,
        dut_decoder_frontend,
        update_ref
):
@@ -131,7 +131,7 @@ def test_decoder_clean_channel_objectbased(
        suffix = "_ext_MD"
    elif md_type == ISM_MD_NULL:
        suffix = "_null_MD"
    with get_bitstream(testv_name, input_format, bitrate, input_sampling_rate, dtx, suffix=suffix) as ref_bitstream:
    with get_bitstream(testv_name, input_format, bitrate, input_sampling_rate, dtx, suffix=suffix, processing=bitstream_processing) as ref_bitstream:
        dut_output = get_output_path(ref_bitstream, output_format, output_sampling_rate)

        run_check(
@@ -145,9 +145,9 @@ def test_decoder_clean_channel_objectbased(


@pytest.mark.parametrize(
    "input_format,bitrate,input_sampling_rate,dtx,pca,output_format,output_sampling_rate", DECODER_CLEAN_CHANNEL_SCENEBASED
    "input_format,bitrate,input_sampling_rate,dtx,pca,output_format,output_sampling_rate,bitstream_processing", DECODER_CLEAN_CHANNEL_SCENEBASED
)
def test_decoder_clean_channel_scenebased(
def test_decoder_scenebased(
        input_format,
        bitrate,
        input_sampling_rate,
@@ -155,6 +155,7 @@ def test_decoder_clean_channel_scenebased(
        pca,
        output_format,
        output_sampling_rate,
        bitstream_processing,
        dut_decoder_frontend,
        update_ref
):
@@ -162,7 +163,7 @@ def test_decoder_clean_channel_scenebased(
    suffix = ""
    if pca == SBA_FOA_PCA_ON:
        suffix="-pca"
    with get_bitstream(testv_name, input_format, bitrate, input_sampling_rate, dtx, suffix=suffix) as ref_bitstream:
    with get_bitstream(testv_name, input_format, bitrate, input_sampling_rate, dtx, suffix=suffix, processing=bitstream_processing) as ref_bitstream:
        dut_output = get_output_path(ref_bitstream, output_format, output_sampling_rate)

        run_check(