# HG changeset patch # User Mychaela Falconia # Date 1715568566 0 # Node ID fc4544e3687b0e78aad00f88aed44f3aec4047ba # Parent 4f47447fd17fb4cb0a6cb92dde7617389716cab7 pcma2efr: comb-diff check passes diff -r 4f47447fd17f -r fc4544e3687b .hgignore --- a/.hgignore Mon May 13 02:45:17 2024 +0000 +++ b/.hgignore Mon May 13 02:49:26 2024 +0000 @@ -9,6 +9,7 @@ ^dmw/gen-dmw-bin$ ^dmw/dmw-[au]law\. +^pcma2efr/comb-diff$ ^pcma2efr/dhf-check$ ^pcmu2efr/all-outputs\. diff -r 4f47447fd17f -r fc4544e3687b pcma2efr/Makefile --- a/pcma2efr/Makefile Mon May 13 02:45:17 2024 +0000 +++ b/pcma2efr/Makefile Mon May 13 02:49:26 2024 +0000 @@ -1,12 +1,17 @@ CC= gcc CFLAGS= -O2 -PROGS= dhf-check +PROGS= comb-diff dhf-check +COMB_DIFF_OBJS= alaw-expand.o comb-diff.o gen-amr-2fr.o gen-efr.o gen160.o \ + seqsynca.o DHF_CHECK_OBJS= alaw-expand.o dhf-check.o gen-amr-2fr.o gen-efr.o gen160.o \ seqsynca.o all: ${PROGS} +comb-diff: ${COMB_DIFF_OBJS} + ${CC} ${CFLAGS} -o $@ ${COMB_DIFF_OBJS} -lgsmefr -ltwamr + dhf-check: ${DHF_CHECK_OBJS} ${CC} ${CFLAGS} -o $@ ${DHF_CHECK_OBJS} -lgsmefr -ltwamr diff -r 4f47447fd17f -r fc4544e3687b pcma2efr/comb-diff.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pcma2efr/comb-diff.c Mon May 13 02:49:26 2024 +0000 @@ -0,0 +1,35 @@ +/* + * This program computes 160 possible EFR encoder outputs using standard EFR, + * then 160 possible outputs using our current understanding of AMR-EFR, then + * does a diff among them, seeking to verify that they are all distinct. + */ + +#include +#include +#include +#include +#include + +extern uint8_t standard_efr[160][31]; +extern uint8_t amr_efr[160][31]; + +main(argc, argv) + char **argv; +{ + uint8_t combine[320][31]; + unsigned m, n; + + generate_linear_inputs(); + generate_std_efr(); + generate_amr_efr(); + bcopy(standard_efr, combine, 160*31); + bcopy(amr_efr, combine + 160, 160*31); + for (m = 0; m < 319; m++) { + for (n = m + 1; n < 320; n++) { + if (!memcmp(combine[m], combine[n], 31)) + printf("Bad: sequences #%u and #%u are equal\n", + m, n); + } + } + exit(0); +}