laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/32767 )
Change subject: coding: fix decoding of EFR triplicated bits ......................................................................
coding: fix decoding of EFR triplicated bits
In GSM 05.03 channel coding for EFR, there are 4 bits out of the 244-bit EFR codec frame that are triplicated before FR-like encoding, and the decoder needs to apply a 2-out-of-3 majority voting function to each of these triplicated bits after the FR-like decoding step. For one of those 4 bits, this majority voting function was wrong in the decoder implemented in gsm0503_tch_fr_decode() - fix it.
Change-Id: I47def75cdb066ed6372df4567404cc828589ed53 --- M src/coding/gsm0503_coding.c 1 file changed, 17 insertions(+), 1 deletion(-)
Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified
diff --git a/src/coding/gsm0503_coding.c b/src/coding/gsm0503_coding.c index 07c8c98..1ef6393 100644 --- a/src/coding/gsm0503_coding.c +++ b/src/coding/gsm0503_coding.c @@ -1804,7 +1804,7 @@ s[119] = (sum >= 2); memcpy(s + 121, w + 125, 53); sum = s[172] + w[178] + w[179]; - s[172] = (sum > 2); + s[172] = (sum >= 2); memcpy(s + 174, w + 180, 50); sum = s[222] + w[230] + w[231]; s[222] = (sum >= 2);