17 lines
5.6 KiB
Python
17 lines
5.6 KiB
Python
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")
|