summaryrefslogtreecommitdiffstats
path: root/src/Makefile.am
diff options
context:
space:
mode:
authorTom Tsou <tom.tsou@ettus.com>2016-11-24 19:24:32 +0700
committerTom Tsou <tom@tsou.cc>2017-04-11 00:36:08 +0000
commit35536807ab9a4265c6eb9ec62793d0c06b9b662b (patch)
tree686df7908dddc39f50570aeadc0b2075a3b184aa /src/Makefile.am
parentdda70fca7979d86e04bba9ba5bad32162327550c (diff)
core/conv: implement optimized Viterbi decoder
Add a separate, faster convolution decoding implementation for rates up to N=4 and constraint lengths of K=5 and K=7, which covers the most GSM code uses. The decoding algorithm exploits the symmetric structure of the Viterbi add-compare-select (ACS) operation - commonly known as the ACS butterfly. This shift-register optimization can be found in the well-known text by Dave Forney. Forney, G.D., "The Viterbi Algorithm," Proc. of the IEEE, March 1973. Implementation is non-architecture specific and improves performance on x86 as well as ARM processors. Existing API is unchanged with optimized code being called internally for supported codes. The original code was relicensed under GPLv2-or-later with permission of copyright holder - Tom Tsou. Change-Id: I74d355274b4176a7d924f91ef3c96912ce338fb2
Diffstat (limited to 'src/Makefile.am')
-rw-r--r--src/Makefile.am3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index 0cf2665c..6948e1a8 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -16,7 +16,8 @@ libosmocore_la_SOURCES = timer.c timer_gettimeofday.c select.c signal.c msgb.c b
gsmtap_util.c crc16.c panic.c backtrace.c \
conv.c application.c rbtree.c strrb.c \
loggingrb.c crc8gen.c crc16gen.c crc32gen.c crc64gen.c \
- macaddr.c stat_item.c stats.c stats_statsd.c prim.c
+ macaddr.c stat_item.c stats.c stats_statsd.c prim.c \
+ viterbi.c viterbi_gen.c
BUILT_SOURCES = crc8gen.c crc16gen.c crc32gen.c crc64gen.c