mirror of
https://github.com/xiph/opus.git
synced 2025-06-06 07:21:03 +00:00
Update blob loading code
This commit is contained in:
parent
0b75501270
commit
d53531d0bd
8 changed files with 28 additions and 1 deletions
|
@ -174,7 +174,11 @@ void fargan_init(FARGANState *st)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
OPUS_CLEAR(st, 1);
|
OPUS_CLEAR(st, 1);
|
||||||
|
#ifndef USE_WEIGHTS_FILE
|
||||||
ret = init_fargan(&st->model, fargan_arrays);
|
ret = init_fargan(&st->model, fargan_arrays);
|
||||||
|
#else
|
||||||
|
ret = 0;
|
||||||
|
#endif
|
||||||
celt_assert(ret == 0);
|
celt_assert(ret == 0);
|
||||||
/* FIXME: perform arch detection. */
|
/* FIXME: perform arch detection. */
|
||||||
}
|
}
|
||||||
|
|
|
@ -94,6 +94,8 @@ int lpcnet_encoder_get_size(void);
|
||||||
*/
|
*/
|
||||||
int lpcnet_encoder_init(LPCNetEncState *st);
|
int lpcnet_encoder_init(LPCNetEncState *st);
|
||||||
|
|
||||||
|
int lpcnet_encoder_load_model(LPCNetEncState *st, const unsigned char *data, int len);
|
||||||
|
|
||||||
/** Allocates and initializes an encoder state.
|
/** Allocates and initializes an encoder state.
|
||||||
* @returns The newly created state
|
* @returns The newly created state
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -148,7 +148,7 @@ int main(int argc, char **argv) {
|
||||||
float zeros[320] = {0};
|
float zeros[320] = {0};
|
||||||
fargan_init(&fargan);
|
fargan_init(&fargan);
|
||||||
#ifdef USE_WEIGHTS_FILE
|
#ifdef USE_WEIGHTS_FILE
|
||||||
fargan_load_model(fwgan, data, len);
|
fargan_load_model(&fargan, data, len);
|
||||||
#endif
|
#endif
|
||||||
/* uncomment the following to align with Python code */
|
/* uncomment the following to align with Python code */
|
||||||
/*ret = fread(&in_features[0], sizeof(in_features[0]), NB_TOTAL_FEATURES, fin);*/
|
/*ret = fread(&in_features[0], sizeof(in_features[0]), NB_TOTAL_FEATURES, fin);*/
|
||||||
|
|
|
@ -56,6 +56,10 @@ int lpcnet_encoder_init(LPCNetEncState *st) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int lpcnet_encoder_load_model(LPCNetEncState *st, const unsigned char *data, int len) {
|
||||||
|
return pitchdnn_load_model(&st->pitchdnn, data, len);
|
||||||
|
}
|
||||||
|
|
||||||
LPCNetEncState *lpcnet_encoder_create(void) {
|
LPCNetEncState *lpcnet_encoder_create(void) {
|
||||||
LPCNetEncState *st;
|
LPCNetEncState *st;
|
||||||
st = malloc(lpcnet_encoder_get_size());
|
st = malloc(lpcnet_encoder_get_size());
|
||||||
|
|
|
@ -73,6 +73,9 @@ int lpcnet_plc_load_model(LPCNetPLCState *st, const unsigned char *data, int len
|
||||||
parse_weights(&list, data, len);
|
parse_weights(&list, data, len);
|
||||||
ret = init_plc_model(&st->model, list);
|
ret = init_plc_model(&st->model, list);
|
||||||
free(list);
|
free(list);
|
||||||
|
if (ret == 0) {
|
||||||
|
ret = lpcnet_encoder_load_model(&st->enc, data, len);
|
||||||
|
} else return -1;
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
return fargan_load_model(&st->fargan, data, len);
|
return fargan_load_model(&st->fargan, data, len);
|
||||||
}
|
}
|
||||||
|
|
|
@ -67,3 +67,13 @@ void pitchdnn_init(PitchDNNState *st)
|
||||||
celt_assert(ret == 0);
|
celt_assert(ret == 0);
|
||||||
/* FIXME: perform arch detection. */
|
/* FIXME: perform arch detection. */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int pitchdnn_load_model(PitchDNNState *st, const unsigned char *data, int len) {
|
||||||
|
WeightArray *list;
|
||||||
|
int ret;
|
||||||
|
parse_weights(&list, data, len);
|
||||||
|
ret = init_pitchdnn(&st->model, list);
|
||||||
|
free(list);
|
||||||
|
if (ret == 0) return 0;
|
||||||
|
else return -1;
|
||||||
|
}
|
||||||
|
|
|
@ -22,6 +22,7 @@ typedef struct {
|
||||||
|
|
||||||
|
|
||||||
void pitchdnn_init(PitchDNNState *st);
|
void pitchdnn_init(PitchDNNState *st);
|
||||||
|
int pitchdnn_load_model(PitchDNNState *st, const unsigned char *data, int len);
|
||||||
|
|
||||||
float compute_pitchdnn(
|
float compute_pitchdnn(
|
||||||
PitchDNNState *st,
|
PitchDNNState *st,
|
||||||
|
|
|
@ -54,6 +54,9 @@ int dred_encoder_load_model(DREDEnc* enc, const unsigned char *data, int len)
|
||||||
parse_weights(&list, data, len);
|
parse_weights(&list, data, len);
|
||||||
ret = init_rdovaeenc(&enc->model, list);
|
ret = init_rdovaeenc(&enc->model, list);
|
||||||
free(list);
|
free(list);
|
||||||
|
if (ret == 0) {
|
||||||
|
ret = lpcnet_encoder_load_model(&enc->lpcnet_enc_state, data, len);
|
||||||
|
}
|
||||||
return (ret == 0) ? OPUS_OK : OPUS_BAD_ARG;
|
return (ret == 0) ? OPUS_OK : OPUS_BAD_ARG;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue