libosmocore/include/osmocom/codec/ecu.h lines 32-44:
/* As the developer and copyright holder of the related code, I hereby
* state that any ECU implementation using 'struct osmo_ecu_ops' and
* registering with the 'osmo_ecu_register()' function shall not be
* considered as a derivative work under any applicable copyright law;
* the copyleft terms of GPLv2 shall hence not apply to any such ECU
* implementation.
*
* The intent of the above exception is to allow anyone to combine third
* party Error Concealment Unit implementations with libosmocodec.
* including but not limited to such published by ETSI.
*
* -- Harald Welte <laforge(a)gnumonks.org> on August 1, 2019.
*/
Question about "ECU implementations ... published by ETSI": what
exactly are they? To the best of my knowledge (I could be wrong, I am
a late joiner to this party), ETSI/3GPP never published any ECU
implementations - instead what they did publish are reference encoder
and decoder implementations for HR1, EFR and AMR codecs. In each of
those reference codec implementations, the error concealment function
is deeply intertied with the guts of the decoder (the thing that puts
out a block of 160 linear PCM samples, *not* a corrected codec frame)
and does not exist as a separable piece - thus none of those reference
codec implementations can be meaningfully called an ECU implementation,
and there is no code in there that could be hooked up to libosmocodec
ECU framework in a technically feasible way, no matter what license.
So what I am missing? Are there some other code publications from
ETSI or 3GPP which I am not aware of, ones that do implement a
separate or at least separable ECU, as opposed to a complete decoder
that takes potentially-errored codec frames as input and emits linear
PCM as output? If any such "true" ECU implementations do exist, I
would love to be pointed in the direction of one!
M~
Show replies by date