import g722_1_mod as m raw_data = b"\x00\x00\xff\xff\x02\x00\xfe\xff\x01\x00\xff\xff\x01\x00\xff\xff\x02\x00\xfd\xff\x03\x00\xfd\xff\x03\x00\xfd\xff\x02\x00\xff\xff\x00\x00\x01\x00\xff\xff\xff\xff\x03\x00\xfc\xff\x04\x00\xfc\xff\x03\x00\xfe\xff\x03\x00\xfc\xff\x04\x00\xfc\xff\x02\x00\x01\x00\xfd\xff\x04\x00\xfb\xff\x05\x00\xfc\xff\x02\x00\x00\x00\xfd\xff\x06\x00\xf9\xff\x06\x00\xfc\xff\x01\x00\x01\x00\xff\xff\x00\x00\x01\x00\xfe\xff\x02\x00\xff\xff\xff\xff\x02\x00\xfe\xff\x02\x00\xfe\xff\x01\x00\x00\x00\x00\x00\x00\x00\xff\xff\x01\x00\x00\x00\x00\x00\x00\x00\xff\xff\x02\x00\xfe\xff\x02\x00\xfd\xff\x03\x00\xfe\xff\x01\x00\x00\x00\xff\xff\x01\x00\xff\xff\x01\x00\xfe\xff\x04\x00\xfb\xff\x05\x00\xfb\xff\x04\x00\xfe\xff\x00\x00\x01\x00\xfe\xff\x03\x00\xfc\xff\x04\x00\xfd\xff\x01\x00\x01\x00\xfd\xff\x03\x00\xfe\xff\x01\x00\x00\x00\xff\xff\x01\x00\x00\x00\xff\xff\x01\x00\xff\xff\x02\x00\xfe\xff\x01\x00\x00\x00\xff\xff\x02\x00\xfd\xff\x03\x00\xfe\xff\x02\x00\xfd\xff\x04\x00\xfc\xff\x04\x00\xfd\xff\x01\x00\x01\x00\xfe\xff\x02\x00\xff\xff\x00\x00\x01\x00\xff\xff\xff\xff\x03\x00\xfc\xff\x05\x00\xfb\xff\x04\x00\xfd\xff\x02\x00\xff\xff\x00\x00\x01\x00\xff\xff\x00\x00\x00\x00\x01\x00\xfe\xff\x02\x00\xff\xff\xff\xff\x03\x00\xfb\xff\x06\x00\xfb\xff\x03\x00\xff\xff\xff\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x01\x00\x00\x00\xff\xff\x02\x00\xfd\xff\x02\x00\x00\x00\xff\xff\x01\x00\xfe\xff\x02\x00\xff\xff\x01\x00\xfe\xff\x02\x00\xfe\xff\x02\x00\xff\xff\xff\xff\x02\x00\xfe\xff\x02\x00\xfe\xff\x02\x00\xfe\xff\x02\x00\xfe\xff\x02\x00\xfe\xff\x02\x00\xfe\xff\x02\x00\xfe\xff\x01\x00\x00\x00\x00\x00\x00\x00\xff\xff\x02\x00\xfd\xff\x04\x00\xfc\xff\x02\x00\x00\x00\x00\x00\xfe\xff\x04\x00\xfb\xff\x04\x00\xfe\xff\x00\x00\x02\x00\xfd\xff\x03\x00\xfd\xff\x03\x00\xfd\xff\x03\x00\xfe\xff\x01\x00\x00\x00\xff\xff\x01\x00\x00\x00\x00\x00\xff\xff\x02\x00\xfd\xff\x03\x00\xfe\xff\x01\x00\xff\xff\x01\x00\xff\xff\x00\x00\x01\x00\xff\xff\x00\x00\x01\x00\xfe\xff\x02\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x02\x00\xfe\xff\x01\x00\x00\x00\xff\xff\x02\x00\xfd\xff\x03\x00\xfd\xff\x04\x00\xfc\xff\x03\x00\xfe\xff\x01\x00\x00\x00\xff\xff\x01\x00\xff\xff\x01\x00\x00\x00\xff\xff\x01\x00\xfe\xff\x02\x00\xff\xff\x01\x00\xfe\xff\x03\x00\xfc\xff\x04\x00\xfc\xff\x03\x00\xfe\xff\x02\x00\xfd\xff\x03\x00\xfd\xff\x02\x00\x00\x00\xfe\xff\x02\x00\xfe\xff\x01\x00\x01\x00\xfe\xff\x02\x00\xfe\xff\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\xfd\xff\x04\x00\xfc\xff\x04\x00\xfc\xff\x04\x00\xfc\xff\x04\x00\xfc\xff\x03\x00\xfe\xff\x01\x00\x01\x00\xfe\xff\x02\x00\xfd\xff\x03\x00\xfe\xff\x02\x00\xfd\xff\x03\x00\xfd\xff\x03\x00\xfe\xff\x00\x00\x01\x00\xff\xff\x00\x00\x02\x00\xfc\xff\x05\x00\xfc\xff\x02\x00\x00\x00\xfe\xff\x03\x00\xfe\xff\x01\x00\xff\xff\x01\x00\xff\xff\x01\x00\xff\xff\x00\x00\x00\x00\x01\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\xfe\xff\x02\x00\xfe\xff\x02\x00\xff\xff\x00\x00\xff\xff\x01\x00\x00\x00\xff\xff\x02\x00\xfe\xff\x00\x00\x02\x00\xfc\xff\x05\x00\xfb\xff\x05\x00\xfb\xff\x04\x00\xfd\xff\x02\x00\xff\xff\x00\x00\x00\x00\x00\x00\xff\xff\x02\x00\xfe\xff\x02\x00\xfe\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\xfe\xff\x03\x00\xfb\xff\x05\x00\xfd\xff\x02\x00\xfe\xff\x01\x00\x00\x00\xff\xff\x02\x00\xfe\xff\x01\x00\x01\x00\xfd\xff\x03\x00\xfe\xff\x02\x00\xfe\xff\x01\x00\x00\x00\xff\xff\x01\x00\x00\x00\xff\xff\x02\x00\xfe\xff\x01\x00\x00\x00\xff\xff\x01\x00\x00\x00\xff\xff\x01\x00\xff\xff\x01\x00\xfe\xff\x03\x00\xfc\xff\x04\x00\xfe\xff\xff\xff\x03\x00\xfc\xff\x03\x00\xff\xff\xff\xff\x01\x00\x00\x00\xff\xff\x02\x00\xfd\xff\x02\x00\x00\x00\xff\xff\x02\x00\xfe\xff\x01\x00\x00\x00\x00\x00\xff\xff\x01\x00\xff\xff\x01\x00\x00\x00\xff\xff\x00\x00\x01\x00\xff\xff\x01\x00\xff\xff\x00\x00\x01\x00\xff\xff\x01\x00\xff\xff\x01\x00\xfe\xff\x03\x00\xfd\xff\x03\x00\xfd\xff\x02\x00\xfe\xff\x03\x00\xfd\xff\x02\x00\xfe\xff\x01\x00\x01\x00\xff\xff\x00\x00\xff\xff\x02\x00\xfe\xff\x03\x00\xfd\xff\x01\x00\x00\x00\x00\x00\xff\xff\x02\x00\xfe\xff\x01\x00\xff\xff\x01\x00\xff\xff\x01\x00\x00\x00\xff\xff\x02\x00\xfd\xff\x03\x00\xfd\xff\x04\x00\xfc\xff\x03\x00\xfe\xff\x01\x00\xff\xff\x02\x00\xfd\xff\x03\x00\xfe\xff\x01\x00\x00\x00\x00\x00\xff\xff\x01\x00\x00\x00\xff\xff\x01\x00\xff\xff\x00\x00\x01\x00\xff\xff\x00\x00\x00\x00\xff\xff\x02\x00\xfe\xff\x02\x00\xfe\xff\x01\x00\x00\x00\xff\xff\x02\x00\xfd\xff\x03\x00\xfe\xff\x01\x00\xff\xff\x01\x00\xff\xff\x01\x00\xff\xff\x00\x00\x01\x00\xff\xff\x01\x00\xfe\xff\x02\x00\xff\xff\x00\x00\x01\x00\xfe\xff\x02\x00\xfe\xff\x02\x00\xff\xff\x01\x00\xfe\xff\x02\x00\xfd\xff\x04\x00\xfe\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\xfe\xff\x02\x00\xff\xff\x00\x00\x00\x00\x01\x00\xfd\xff\x04\x00\xfc\xff\x04\x00\xfd\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x01\x00\x00\x00\xff\xff\x01\x00\xfe\xff\x02\x00\xfe\xff\x02\x00\xfe\xff\x02\x00\xfe\xff\x01\x00\x00\x00\x00\x00\xff\xff\x01\x00\xff\xff\x01\x00\x00\x00\xff\xff\x01\x00\xff\xff\x00\x00\x02\x00\xfc\xff\x05\x00\xfb\xff\x04\x00\xfd\xff\x02\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\xfd\xff\x04\x00\xfb\xff\x05\x00\xfc\xff\x03\x00\xfe\xff\x00\x00" benchmark_output = b'P\x1a\x93\xf8P\x00\x00\xfc\xa6\x087\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xa9s\xe8\xe3\x1b\xe0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb0\x1c\x80\x1e.\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xc1g\x01\xe2\x96)\xcfc\xd3\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' def hexdump(s, n=20): for i in range(0, len(s), n): print(" ".join(f"{b:02x}" for b in s[i:i+n])) print() hexdump(benchmark_output) result = m.encode(raw_data, 320, 40) hexdump(result) assert result == benchmark_output print("encoder matches reference")