FreeCalypso > hg > vband-misc
changeset 21:3eb407b08b4c
pcmu2efr: confirm that we got 280 distinct outputs so far
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 12 May 2024 03:15:23 +0000 |
parents | f5f541bc9415 |
children | f4420403219a |
files | .hgignore pcmu2efr/Makefile pcmu2efr/comb-diff.c |
diffstat | 3 files changed, 42 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- 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$
--- 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
--- /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 <stdio.h> +#include <stdint.h> +#include <stdlib.h> +#include <string.h> +#include <strings.h> + +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); +}