annotate libgsmfr2/pp_homing.c @ 530:96c4ed5529bf

libgsmfr2 preproc: implement support for DTXd
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 19 Sep 2024 20:15:54 +0000
parents c95e89367321
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
525
c95e89367321 libgsmfr2: add gsmfr_preproc_good_frame_hm()
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
c95e89367321 libgsmfr2: add gsmfr_preproc_good_frame_hm()
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 * gsmfr_preproc_good_frame_hm() is a wrapper around gsmfr_preproc_good_frame()
c95e89367321 libgsmfr2: add gsmfr_preproc_good_frame_hm()
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 * that adds homing of the Rx DTX handler preprocessor block. This homing
c95e89367321 libgsmfr2: add gsmfr_preproc_good_frame_hm()
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 * version of good frame preproc is not used in the full decoder (the latter
c95e89367321 libgsmfr2: add gsmfr_preproc_good_frame_hm()
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 * implements its own homing logic as specified by 3GPP), but it will be used
c95e89367321 libgsmfr2: add gsmfr_preproc_good_frame_hm()
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 * when our Rx DTX handler preprocessor functions as a TFO transform.
c95e89367321 libgsmfr2: add gsmfr_preproc_good_frame_hm()
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 */
c95e89367321 libgsmfr2: add gsmfr_preproc_good_frame_hm()
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8
c95e89367321 libgsmfr2: add gsmfr_preproc_good_frame_hm()
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 #include <stdint.h>
c95e89367321 libgsmfr2: add gsmfr_preproc_good_frame_hm()
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 #include <string.h>
c95e89367321 libgsmfr2: add gsmfr_preproc_good_frame_hm()
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 #include "tw_gsmfr.h"
c95e89367321 libgsmfr2: add gsmfr_preproc_good_frame_hm()
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12
c95e89367321 libgsmfr2: add gsmfr_preproc_good_frame_hm()
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 void gsmfr_preproc_good_frame_hm(struct gsmfr_preproc_state *st, uint8_t *frame)
c95e89367321 libgsmfr2: add gsmfr_preproc_good_frame_hm()
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 {
c95e89367321 libgsmfr2: add gsmfr_preproc_good_frame_hm()
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 if (memcmp(frame, gsmfr_decoder_homing_frame, GSMFR_RTP_FRAME_LEN))
c95e89367321 libgsmfr2: add gsmfr_preproc_good_frame_hm()
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 gsmfr_preproc_good_frame(st, frame);
c95e89367321 libgsmfr2: add gsmfr_preproc_good_frame_hm()
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 else
c95e89367321 libgsmfr2: add gsmfr_preproc_good_frame_hm()
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 gsmfr_preproc_reset(st);
c95e89367321 libgsmfr2: add gsmfr_preproc_good_frame_hm()
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 }