Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.xiph.org/xiph/opus.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Marc Valin <jmvalin@amazon.com>2023-10-02 09:23:41 +0300
committerJean-Marc Valin <jmvalin@amazon.com>2023-10-02 09:23:41 +0300
commita8b49f2ab2b24a900909505b692f018390c33d09 (patch)
tree697309946a4302e5915a6ba23e54a3fdad193237
parentda7f4c6c99d1f4e4153f97ee5a6bbd07199507f3 (diff)
compiles...
-rw-r--r--dnn/nnet.h8
-rw-r--r--dnn/parse_lpcnet_weights.c25
-rw-r--r--lpcnet_headers.mk4
-rw-r--r--lpcnet_sources.mk2
4 files changed, 38 insertions, 1 deletions
diff --git a/dnn/nnet.h b/dnn/nnet.h
index 9ed20b02..ca3334b9 100644
--- a/dnn/nnet.h
+++ b/dnn/nnet.h
@@ -189,6 +189,14 @@ int linear_init(LinearLayer *layer, const WeightArray *arrays,
int nb_inputs,
int nb_outputs);
+int conv2d_init(Conv2dLayer *layer, const WeightArray *arrays,
+ const char *bias,
+ const char *float_weights,
+ int in_channels,
+ int out_channels,
+ int ktime,
+ int kheight);
+
int mdense_init(MDenseLayer *layer, const WeightArray *arrays,
const char *bias,
const char *input_weights,
diff --git a/dnn/parse_lpcnet_weights.c b/dnn/parse_lpcnet_weights.c
index 7413099b..9805ec8c 100644
--- a/dnn/parse_lpcnet_weights.c
+++ b/dnn/parse_lpcnet_weights.c
@@ -272,6 +272,31 @@ int conv1d_init(Conv1DLayer *layer, const WeightArray *arrays,
return 0;
}
+int conv2d_init(Conv2dLayer *layer, const WeightArray *arrays,
+ const char *bias,
+ const char *float_weights,
+ int in_channels,
+ int out_channels,
+ int ktime,
+ int kheight)
+{
+ int err;
+ layer->bias = NULL;
+ layer->float_weights = NULL;
+ if (bias != NULL) {
+ if ((layer->bias = find_array_check(arrays, bias, out_channels*sizeof(layer->bias[0]))) == NULL) return 1;
+ }
+ if (float_weights != NULL) {
+ layer->float_weights = opt_array_check(arrays, float_weights, in_channels*out_channels*ktime*kheight*sizeof(layer->float_weights[0]), &err);
+ if (err) return 1;
+ }
+ layer->in_channels = in_channels;
+ layer->out_channels = out_channels;
+ layer->ktime = ktime;
+ layer->kheight = kheight;
+ return 0;
+}
+
int embedding_init(EmbeddingLayer *layer, const WeightArray *arrays,
const char *embedding_weights,
int nb_inputs,
diff --git a/lpcnet_headers.mk b/lpcnet_headers.mk
index fc3fc84c..17879210 100644
--- a/lpcnet_headers.mk
+++ b/lpcnet_headers.mk
@@ -24,4 +24,6 @@ dnn/dred_rdovae_enc.h \
dnn/dred_rdovae_enc_data.h \
dnn/dred_rdovae_dec.h \
dnn/dred_rdovae_dec_data.h \
-dnn/dred_rdovae_stats_data.h
+dnn/dred_rdovae_stats_data.h \
+dnn/pitchdnn.h \
+dnn/pitchdnn_data.h
diff --git a/lpcnet_sources.mk b/lpcnet_sources.mk
index 61cbb1f1..bb0ec5f1 100644
--- a/lpcnet_sources.mk
+++ b/lpcnet_sources.mk
@@ -18,6 +18,8 @@ dnn/dred_rdovae_enc_data.c \
dnn/dred_rdovae_dec.c \
dnn/dred_rdovae_dec_data.c \
dnn/dred_rdovae_stats_data.c \
+dnn/pitchdnn.c \
+dnn/pitchdnn_data.c \
silk/dred_encoder.c \
silk/dred_coding.c \
silk/dred_decoder.c