# HG changeset patch # User Mychaela Falconia # Date 1713310867 0 # Node ID 39b3c24256aefc57d946ed9a829d44678349aab8 # Parent 17d8ff0944a85c93c6d2fb5b82f13ba5ad860929 pcmu2efr: add stdefr-diff sanity check diff -r 17d8ff0944a8 -r 39b3c24256ae .hgignore --- a/.hgignore Tue Apr 16 23:31:32 2024 +0000 +++ b/.hgignore Tue Apr 16 23:41:07 2024 +0000 @@ -9,6 +9,7 @@ ^dmw/gen-dmw-bin$ ^dmw/dmw-[au]law\. +^pcmu2efr/stdefr-diff$ ^pcmu2efr/stdefr-out$ ^ringing/genring$ diff -r 17d8ff0944a8 -r 39b3c24256ae pcmu2efr/Makefile --- a/pcmu2efr/Makefile Tue Apr 16 23:31:32 2024 +0000 +++ b/pcmu2efr/Makefile Tue Apr 16 23:41:07 2024 +0000 @@ -1,11 +1,15 @@ CC= gcc CFLAGS= -O2 -PROGS= stdefr-out +PROGS= stdefr-diff stdefr-out STDEFR_OBJS= gen-efr.o gen160.o seqsyncu.o stdefr-out.o ulaw-expand.o +STDEFRD_OBJS= gen-efr.o gen160.o seqsyncu.o stdefr-diff.o ulaw-expand.o all: ${PROGS} +stdefr-diff: ${STDEFRD_OBJS} + ${CC} ${CFLAGS} -o $@ ${STDEFRD_OBJS} -lgsmefr + stdefr-out: ${STDEFR_OBJS} ${CC} ${CFLAGS} -o $@ ${STDEFR_OBJS} -lgsmefr diff -r 17d8ff0944a8 -r 39b3c24256ae pcmu2efr/stdefr-diff.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pcmu2efr/stdefr-diff.c Tue Apr 16 23:41:07 2024 +0000 @@ -0,0 +1,30 @@ +/* + * This program computes 160 possible EFR encoder outputs using standard EFR, + * and 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]; + +main(argc, argv) + char **argv; +{ + unsigned m, n; + + generate_linear_inputs(); + generate_std_efr(); + for (m = 0; m < 159; m++) { + for (n = m + 1; n < 160; n++) { + if (!memcmp(standard_efr[m], standard_efr[n], 31)) + printf("Bad: sequences #%u and #%u are equal\n", + m, n); + } + } + exit(0); +}