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

add MASA encoder testcases

parent 95d11cc3
Loading
Loading
Loading
Loading
+12 −2
Original line number Diff line number Diff line
@@ -56,14 +56,20 @@ TESTVECTOR_FOR_INPUT_FORMAT = {
    "ISM2": "ltv{fs}_2ISM.wav",
    "ISM3": "ltv{fs}_3ISM.wav",
    "ISM4": "ltv{fs}_4ISM.wav",
    # TODO: MASA, once created
    "MASA_1TC_1DIR": "ltv{fs}_MASA_1TC_1DIR.wav",
    "MASA_2TC_1DIR": "ltv{fs}_MASA_2TC_1DIR.wav",
    "MASA_1TC_2DIR": "ltv{fs}_MASA_1TC_2DIR.wav",
    "MASA_2TC_2DIR": "ltv{fs}_MASA_2TC_2DIR.wav",
}
METADATA_FOR_INPUT_FORMAT = {
    "ISM1": ["ltvISM1.csv"],
    "ISM2": ["ltvISM1.csv", "ltvISM2.csv"],
    "ISM3": ["ltvISM1.csv", "ltvISM2.csv", "ltvISM3.csv"],
    "ISM4": ["ltvISM1.csv", "ltvISM2.csv", "ltvISM3.csv", "ltvISM4.csv"],
    # TODO: MASA, once created
    "MASA_1TC_1DIR": ["ltv_MASA_1TC_1DIR.met"],
    "MASA_2TC_1DIR": ["ltv_MASA_2TC_1DIR.met"],
    "MASA_1TC_2DIR": ["ltv_MASA_1TC_2DIR.met"],
    "MASA_2TC_2DIR": ["ltv_MASA_2TC_2DIR.met"],
}
CMDL_OPTIONS_FOR_INPUT_FORMAT = {
    "STEREO": ["-stereo"],
@@ -82,6 +88,10 @@ CMDL_OPTIONS_FOR_INPUT_FORMAT = {
    "ISM2": ["-ism", "2"],
    "ISM3": ["-ism", "3"],
    "ISM4": ["-ism", "4"],
    "MASA_1TC_1DIR": ["-masa", "1"],
    "MASA_2TC_1DIR": ["-masa", "2"],
    "MASA_1TC_2DIR": ["-masa", "1"],
    "MASA_2TC_2DIR": ["-masa", "2"],
}

### Test case parameters
+57 −24
Original line number Diff line number Diff line
@@ -93,20 +93,22 @@ def run_check(

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

# channel-based modes
# channel-based modes + MASA

STEREO_PARAMS = list(
    product(["STEREO"], BITRATES_STEREO, SAMPLING_RATES_ALL, [DTX_OFF, DTX_ON])
)
MC_PARAMS = list(product(INPUT_FORMATS_MC, BITRATES_ALL, SAMPLING_RATES_ALL, [DTX_OFF]))
ENCODER_CHANNEL_BASED_PARAMS = (
    STEREO_PARAMS
    + MC_PARAMS
MASA_PARAMS = list(
    product(INPUT_FORMATS_MASA, BITRATES_ALL, SAMPLING_RATES_ALL, [DTX_OFF, DTX_ON])
)
ENCODER_CHANNEL_BASED_AND_MASA_PARAMS = STEREO_PARAMS + MC_PARAMS + MASA_PARAMS


@pytest.mark.parametrize("input_format,bitrate,sampling_rate,dtx", ENCODER_CHANNEL_BASED_PARAMS)
def test_encoder_channel_based_modes(
@pytest.mark.parametrize(
    "input_format,bitrate,sampling_rate,dtx", ENCODER_CHANNEL_BASED_AND_MASA_PARAMS
)
def test_encoder_channel_based_and_masa_modes(
    input_format,
    bitrate,
    sampling_rate,
@@ -130,19 +132,43 @@ def test_encoder_channel_based_modes(
    )


# ISM modes
# (single) modes with metadata: ISM and MASA

ISM1_BASIC_NULL_PARAMS = list(
    product(["ISM1"], BITRATES_ISM1, SAMPLING_RATES_ALL, [DTX_OFF, DTX_ON], [ISM_MD_BASIC, ISM_MD_NULL])
    product(
        ["ISM1"],
        BITRATES_ISM1,
        SAMPLING_RATES_ALL,
        [DTX_OFF, DTX_ON],
        [ISM_MD_BASIC, ISM_MD_NULL],
    )
)
ISM2_BASIC_NULL_PARAMS = list(
    product(["ISM2"], BITRATES_ISM2, SAMPLING_RATES_ALL, [DTX_OFF, DTX_ON], [ISM_MD_BASIC, ISM_MD_NULL])
    product(
        ["ISM2"],
        BITRATES_ISM2,
        SAMPLING_RATES_ALL,
        [DTX_OFF, DTX_ON],
        [ISM_MD_BASIC, ISM_MD_NULL],
    )
)
ISM3_BASIC_NULL_PARAMS = list(
    product(["ISM3"], BITRATES_ISM3, SAMPLING_RATES_ALL, [DTX_OFF, DTX_ON], [ISM_MD_BASIC, ISM_MD_NULL])
    product(
        ["ISM3"],
        BITRATES_ISM3,
        SAMPLING_RATES_ALL,
        [DTX_OFF, DTX_ON],
        [ISM_MD_BASIC, ISM_MD_NULL],
    )
)
ISM4_BASIC_NULL_PARAMS = list(
    product(["ISM4"], BITRATES_ISM4, SAMPLING_RATES_ALL, [DTX_OFF, DTX_ON], [ISM_MD_BASIC, ISM_MD_NULL])
    product(
        ["ISM4"],
        BITRATES_ISM4,
        SAMPLING_RATES_ALL,
        [DTX_OFF, DTX_ON],
        [ISM_MD_BASIC, ISM_MD_NULL],
    )
)
ISM1_EXTENDED_PARAMS = list(
    product(
@@ -192,9 +218,7 @@ ISM_PARAMS = (
)


@pytest.mark.parametrize(
    "input_format,bitrate,sampling_rate,dtx,md_type", ISM_PARAMS
)
@pytest.mark.parametrize("input_format,bitrate,sampling_rate,dtx,md_type", ISM_PARAMS)
def test_encoder_object_based_modes(
    input_format,
    bitrate,
@@ -240,22 +264,23 @@ SBA_LOW_BITRATES_PARAMS = list(
SBA_HIGH_BITRATES_PARAMS = list(
    (
        product(
            INPUT_FORMATS_SCENE_BASED, BITRATES_ALL[7:], SAMPLING_RATES_ALL, [DTX_OFF], [SBA_FOA_PCA_OFF]
            INPUT_FORMATS_SCENE_BASED,
            BITRATES_ALL[7:],
            SAMPLING_RATES_ALL,
            [DTX_OFF],
            [SBA_FOA_PCA_OFF],
        )
    )
)
SBA_FOA_PCA_PARAMS = list(
    product(["FOA"], [256000], SAMPLING_RATES_ALL, [DTX_OFF], [SBA_FOA_PCA_ON])
)
SBA_FOA_PCA_PARAMS = list(product(["FOA"], [256000], SAMPLING_RATES_ALL, [DTX_OFF], [SBA_FOA_PCA_ON]))
SBA_PARAMS = SBA_LOW_BITRATES_PARAMS + SBA_HIGH_BITRATES_PARAMS + SBA_FOA_PCA_PARAMS


@pytest.mark.parametrize("input_format,bitrate,sampling_rate,dtx,pca", SBA_PARAMS)
def test_encoder_sba(
    input_format,
    bitrate,
    sampling_rate,
    dtx,
    pca,
    dut_encoder_frontend,
    update_ref
    input_format, bitrate, sampling_rate, dtx, pca, dut_encoder_frontend, update_ref
):
    testv, options = get_encoder_inputs(input_format, sampling_rate)
    if pca == SBA_FOA_PCA_ON:
@@ -263,4 +288,12 @@ def test_encoder_sba(
    bitstream = DUT_PATH.joinpath(
        f"{testv.stem}-{input_format}-{bitrate}kbps-{sampling_rate}kHz-{dtx}-{pca}.192"
    )
    run_check(bitstream, bitrate, sampling_rate, testv, options, dut_encoder_frontend, update_ref == 1)
 No newline at end of file
    run_check(
        bitstream,
        bitrate,
        sampling_rate,
        testv,
        options,
        dut_encoder_frontend,
        update_ref == 1,
    )