Commit 0ec7e6d7 authored by norvell's avatar norvell
Browse files

Change to use scalefac in cmp_pcm which is multiplied directly with the signals to be compared

parent 0bc257f5
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -41,7 +41,7 @@ def cmp_pcm(
    ref_jbm_tf: Optional[Path] = None,
    cut_jbm_tf: Optional[Path] = None,
    quiet: Optional[bool] = False,
    input_scaling=1,
    scalefac=1,
) -> tuple[int, str]:
    """
    Compare 2 PCM files for bitexactness
@@ -90,10 +90,10 @@ def cmp_pcm(

        return 1, reason

    # If input_scaling is applied, revert the scaling
    if input_scaling != 1:
        s1 = np.round(s1/input_scaling, 0) # Need rounding for max abs diff search
        s2 = np.round(s2/input_scaling, 0)
    # Apply scalefac if specified. Useful in case scaling has been applied on the input, and the inverse is scaling is supplied in scalefac.
    if scalefac != 1:
        s1 = np.round(s1*scalefac, 0) # Need rounding for max abs diff search
        s2 = np.round(s2*scalefac, 0)

    cmp_result = pyaudio3dtools.audioarray.compare(
        s1,
@@ -262,7 +262,7 @@ if __name__ == "__main__":
    parser.add_argument("--get_odg", action="store_true")
    parser.add_argument("--get_ssnr", action="store_true")
    parser.add_argument("--allow_differing_lengths", action="store_true")
    parser.add_argument("--input_scaling", type=float, default=1, dest="input_scaling", help="If input scaling is applied, apply the INVERSE scaling before comparison")
    parser.add_argument("--scalefac", type=float, default=1, dest="scalefac", help="Scale factor to be applied before comparing the output. Useful when input scaling has been applied.")
    parser.add_argument("--quiet", action="store_true")
    args = vars(parser.parse_args())

+1 −1
Original line number Diff line number Diff line
@@ -605,7 +605,7 @@ def run_test(
            odg_ref=odg_ref,
            ref_jbm_tf=ref_tracefile_dec,
            cut_jbm_tf=dut_tracefile_dec,
            input_scaling=test_info.config.option.input_scaling,
            scalefac=test_info.config.option.scalefac,
        )

        cmp_result_msg += reason
+1 −1
Original line number Diff line number Diff line
@@ -1266,7 +1266,7 @@ def sba_dec(
            odg_input=odg_input,
            odg_test=odg_test,
            odg_ref=odg_ref,
            input_scaling=test_info.config.option.input_scaling,
            scalefac=test_info.config.option.scalefac,
        )

        text_to_parse = reason
+2 −2
Original line number Diff line number Diff line
@@ -299,9 +299,9 @@ def pytest_addoption(parser):
    )

    parser.addoption(
        "--input_scaling",
        "--scalefac",
        action="store",
        help="If input scaling is applied, apply the INVERSE scaling before comparison.",
        help="Scale factor to be applied before comparing the output. Useful when input scaling has been applied.",
        type=float,
        default=1,
    )
+1 −1
Original line number Diff line number Diff line
@@ -387,7 +387,7 @@ def run_renderer(
            odg_input=odg_input,
            odg_test=odg_test,
            odg_ref=odg_ref,
            input_scaling=test_info.config.option.input_scaling,
            scalefac=test_info.config.option.scalefac,
        )

        props = parse_properties(reason, output_differs, props_to_record)