FreeCalypso > hg > vband-misc
view pcmu2efr/dhf-check.c @ 50:0db059f4632d
efr-sid OS#6538: more sensible 2-bit errors
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 12 Aug 2024 02:49:28 +0000 |
parents | 2628a34fe75b |
children |
line wrap: on
line source
/* * This program generates both standard-EFR and AMR-EFR versions of * sample-shifted first encoder frame, and checks them against * both EFR and MR122 DHFs. */ #include <stdio.h> #include <stdint.h> #include <stdlib.h> #include <string.h> #include <strings.h> #include <gsm_efr.h> #include <tw_amr.h> extern uint8_t standard_efr[160][31]; extern uint8_t amr_efr[160][31]; static void check_for_dhf(efr_frame, name, num) uint8_t *efr_frame; char *name; unsigned num; { int16_t params[EFR_NUM_PARAMS]; EFR_frame2params(efr_frame, params); if (!bcmp(params, amr_dhf_gsmefr, EFR_NUM_PARAMS * sizeof(int16_t))) printf("%s frame %u matches EFR DHF\n", name, num); else if (!bcmp(params, amr_dhf_mr122, EFR_NUM_PARAMS * sizeof(int16_t))) printf("%s frame %u matches MR122 DHF\n", name, num); } main(argc, argv) char **argv; { unsigned n; generate_linear_inputs(); generate_std_efr(); generate_amr_efr(); for (n = 0; n < 160; n++) check_for_dhf(standard_efr[n], "std EFR", n); for (n = 0; n < 160; n++) check_for_dhf(amr_efr[n], "AMR-EFR", n); exit(0); }