FreeCalypso > hg > vband-misc
changeset 29:fc4544e3687b
pcma2efr: comb-diff check passes
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 13 May 2024 02:49:26 +0000 |
parents | 4f47447fd17f |
children | 760bbae44c1f |
files | .hgignore pcma2efr/Makefile pcma2efr/comb-diff.c |
diffstat | 3 files changed, 42 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- 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\.
--- 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
--- /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 <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 < 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); +}