view CHANGES @ 477:4c9222d95647

libtwamr encoder: always emit frame->mode = mode; In the original implementation of amr_encode_frame(), the 'mode' member of the output struct was set to 0xFF if the output frame type is TX_NO_DATA. This design was made to mimic the mode field (16-bit word) being set to 0xFFFF (or -1) in 3GPP test sequence format - but nothing actually depends on this struct member being set in any way, and amr_frame_to_tseq() generates the needed 0xFFFF on its own, based on frame->type being equal to TX_NO_DATA. It is simpler and more efficient to always set frame->mode to the actual encoding mode in amr_encode_frame(), and this new behavior has already been documented in doc/AMR-library-API description in anticipation of the present change.
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 18 May 2024 22:30:42 +0000
parents 2d46abdfbe91
children 20d44cfc219c
line wrap: on
line source

Changes from gsm-codec-lib-r2 to gsm-codec-lib-r3:

* Libgsmfrp has been replaced with libgsmfr2, a major version change per SemVer.

* The former dependency on historical libgsm has been eliminated; the
  functionality of libgsm (GSM 06.10 encoder and decoder implementation) has
  been absorbed into libgsmfr2.

* Libgsmefr version 1.1.0 exhibits approximately 2x performance improvement
  over the original version, and also exhibits a small addition to the public
  API: the RTP-encoded form of the standard EFR DHF is now provided as a const
  datum.

* New library added: libtwamr for 3GPP AMR-NB codec, serving as a replacement
  for libopencore-amrnb in Themyscira GSM codec exploration workflows.

* New command line utilities: amrefr-* and twamr-* related to libtwamr,
  gsmfr-* updates for libgsmfr2.

* gsmfr-* utilities set: gsmfr-hand-test and gsmfr-max-out hack programs have
  been dropped.  These hack programs were never properly documented and were
  written only as part of a debug chase, in pursuit of a bug that ultimately
  turned out to be in our then-hacky patch to osmo-bts-sysmo.

* The configuration and build process has been revamped: the full suite of
  libraries and utilities can now be installed in any desired file system
  location without contortions.

Changes from gsm-codec-lib-r1 to gsm-codec-lib-r2:

* Libgsmfrp evolved from version 1.0.0 to version 1.0.2; please see
  doc/FR1-Rx-DTX for a detailing listing of libgsmfrp changes.

* Some new utilities have been developed for studying AMR: see
  doc/AMR-study-utils for more information.

* The subject of conversions between 16-bit 2's complement linear PCM and 8-bit
  A-law and mu-law PCM formats (G.711) has been thoroughly studied, the findings
  have been documented in doc/PCM8-conversions, and some new command line
  utilities have been added, described in the same article.

* Many new table generators have been added to the dev subdirectory; some of
  them may be useful to other software developers.

* pcap utilities have been split off to a separate rtp-debug-utils repository;
  this split was made so that those utilities can be developed freely while the
  gsm-codec-lib repository remains under strict release process control.