# HG changeset patch # User Mychaela Falconia # Date 1715483723 0 # Node ID 3eb407b08b4c9033c30194ce2e5c83e45ed7485e # Parent f5f541bc9415a7accdccd9305e139098939c97e6 pcmu2efr: confirm that we got 280 distinct outputs so far diff -r f5f541bc9415 -r 3eb407b08b4c .hgignore --- a/.hgignore Sun May 12 03:06:12 2024 +0000 +++ b/.hgignore Sun May 12 03:15:23 2024 +0000 @@ -10,6 +10,7 @@ ^dmw/dmw-[au]law\. ^pcmu2efr/amrefr-out$ +^pcmu2efr/comb-diff$ ^pcmu2efr/dhf-check$ ^pcmu2efr/stdefr-diff$ ^pcmu2efr/stdefr-out$ diff -r f5f541bc9415 -r 3eb407b08b4c pcmu2efr/Makefile --- a/pcmu2efr/Makefile Sun May 12 03:06:12 2024 +0000 +++ b/pcmu2efr/Makefile Sun May 12 03:15:23 2024 +0000 @@ -1,8 +1,10 @@ CC= gcc CFLAGS= -O2 -PROGS= amrefr-out dhf-check stdefr-diff stdefr-out +PROGS= amrefr-out comb-diff dhf-check stdefr-diff stdefr-out AMREFR_OBJS= amrefr-out.o gen-amrefr.o gen160.o seqsyncu.o ulaw-expand.o +COMB_DIFF_OBJS= comb-diff.o gen-amrefr.o gen-efr.o gen160.o seqsyncu.o \ + ulaw-expand.o DHF_CHECK_OBJS= dhf-check.o gen-amrefr.o gen-efr.o gen160.o seqsyncu.o \ ulaw-expand.o STDEFR_OBJS= gen-efr.o gen160.o seqsyncu.o stdefr-out.o ulaw-expand.o @@ -13,6 +15,9 @@ amrefr-out: ${AMREFR_OBJS} ${CC} ${CFLAGS} -o $@ ${AMREFR_OBJS} -lgsmefr -ltwamr +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 f5f541bc9415 -r 3eb407b08b4c pcmu2efr/comb-diff.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pcmu2efr/comb-diff.c Sun May 12 03:15:23 2024 +0000 @@ -0,0 +1,35 @@ +/* + * This program computes 160 possible EFR encoder outputs using standard EFR, + * then 120 possible outputs using "simple" 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 < 279; m++) { + for (n = m + 1; n < 280; n++) { + if (!memcmp(combine[m], combine[n], 31)) + printf("Bad: sequences #%u and #%u are equal\n", + m, n); + } + } + exit(0); +}