mirror of
https://github.com/xiph/opus.git
synced 2025-06-03 17:17:42 +00:00
Make weights blob a void*
This commit is contained in:
parent
24b7eab4a3
commit
efeaa8aef8
18 changed files with 36 additions and 36 deletions
|
@ -52,7 +52,7 @@ static void DRED_rdovae_init_encoder(RDOVAEEncState *enc_state)
|
||||||
memset(enc_state, 0, sizeof(*enc_state));
|
memset(enc_state, 0, sizeof(*enc_state));
|
||||||
}
|
}
|
||||||
|
|
||||||
int dred_encoder_load_model(DREDEnc* enc, const unsigned char *data, int len)
|
int dred_encoder_load_model(DREDEnc* enc, const void *data, int len)
|
||||||
{
|
{
|
||||||
WeightArray *list;
|
WeightArray *list;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
|
@ -58,7 +58,7 @@ typedef struct {
|
||||||
float resample_mem[RESAMPLING_ORDER + 1];
|
float resample_mem[RESAMPLING_ORDER + 1];
|
||||||
} DREDEnc;
|
} DREDEnc;
|
||||||
|
|
||||||
int dred_encoder_load_model(DREDEnc* enc, const unsigned char *data, int len);
|
int dred_encoder_load_model(DREDEnc* enc, const void *data, int len);
|
||||||
void dred_encoder_init(DREDEnc* enc, opus_int32 Fs, int channels);
|
void dred_encoder_init(DREDEnc* enc, opus_int32 Fs, int channels);
|
||||||
void dred_encoder_reset(DREDEnc* enc);
|
void dred_encoder_reset(DREDEnc* enc);
|
||||||
|
|
||||||
|
|
|
@ -184,7 +184,7 @@ void fargan_init(FARGANState *st)
|
||||||
celt_assert(ret == 0);
|
celt_assert(ret == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
int fargan_load_model(FARGANState *st, const unsigned char *data, int len) {
|
int fargan_load_model(FARGANState *st, const void *data, int len) {
|
||||||
WeightArray *list;
|
WeightArray *list;
|
||||||
int ret;
|
int ret;
|
||||||
parse_weights(&list, data, len);
|
parse_weights(&list, data, len);
|
||||||
|
|
|
@ -57,7 +57,7 @@ typedef struct {
|
||||||
} FARGANState;
|
} FARGANState;
|
||||||
|
|
||||||
void fargan_init(FARGANState *st);
|
void fargan_init(FARGANState *st);
|
||||||
int fargan_load_model(FARGANState *st, const unsigned char *data, int len);
|
int fargan_load_model(FARGANState *st, const void *data, int len);
|
||||||
|
|
||||||
void fargan_cont(FARGANState *st, const float *pcm0, const float *features0);
|
void fargan_cont(FARGANState *st, const float *pcm0, const float *features0);
|
||||||
|
|
||||||
|
|
|
@ -166,7 +166,7 @@ void lossgen_init(LossGenState *st)
|
||||||
(void)ret;
|
(void)ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int lossgen_load_model(LossGenState *st, const unsigned char *data, int len) {
|
int lossgen_load_model(LossGenState *st, const void *data, int len) {
|
||||||
WeightArray *list;
|
WeightArray *list;
|
||||||
int ret;
|
int ret;
|
||||||
parse_weights(&list, data, len);
|
parse_weights(&list, data, len);
|
||||||
|
|
|
@ -46,7 +46,7 @@ typedef struct {
|
||||||
|
|
||||||
|
|
||||||
void lossgen_init(LossGenState *st);
|
void lossgen_init(LossGenState *st);
|
||||||
int lossgen_load_model(LossGenState *st, const unsigned char *data, int len);
|
int lossgen_load_model(LossGenState *st, const void *data, int len);
|
||||||
|
|
||||||
int sample_loss(
|
int sample_loss(
|
||||||
LossGenState *st,
|
LossGenState *st,
|
||||||
|
|
|
@ -94,7 +94,7 @@ 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);
|
int lpcnet_encoder_load_model(LPCNetEncState *st, const void *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
|
||||||
|
@ -177,7 +177,7 @@ void lpcnet_plc_fec_add(LPCNetPLCState *st, const float *features);
|
||||||
|
|
||||||
void lpcnet_plc_fec_clear(LPCNetPLCState *st);
|
void lpcnet_plc_fec_clear(LPCNetPLCState *st);
|
||||||
|
|
||||||
int lpcnet_load_model(LPCNetState *st, const unsigned char *data, int len);
|
int lpcnet_load_model(LPCNetState *st, const void *data, int len);
|
||||||
int lpcnet_plc_load_model(LPCNetPLCState *st, const unsigned char *data, int len);
|
int lpcnet_plc_load_model(LPCNetPLCState *st, const void *data, int len);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -48,9 +48,9 @@
|
||||||
/* When available, mmap() is preferable to reading the file, as it leads to
|
/* When available, mmap() is preferable to reading the file, as it leads to
|
||||||
better resource utilization, especially if multiple processes are using the same
|
better resource utilization, especially if multiple processes are using the same
|
||||||
file (mapping will be shared in cache). */
|
file (mapping will be shared in cache). */
|
||||||
unsigned char *load_blob(const char *filename, int *len) {
|
void *load_blob(const char *filename, int *len) {
|
||||||
int fd;
|
int fd;
|
||||||
unsigned char *data;
|
void *data;
|
||||||
struct stat st;
|
struct stat st;
|
||||||
stat(filename, &st);
|
stat(filename, &st);
|
||||||
*len = st.st_size;
|
*len = st.st_size;
|
||||||
|
@ -59,13 +59,13 @@ unsigned char *load_blob(const char *filename, int *len) {
|
||||||
close(fd);
|
close(fd);
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
void free_blob(unsigned char *blob, int len) {
|
void free_blob(void *blob, int len) {
|
||||||
munmap(blob, len);
|
munmap(blob, len);
|
||||||
}
|
}
|
||||||
# else
|
# else
|
||||||
unsigned char *load_blob(const char *filename, int *len) {
|
void *load_blob(const char *filename, int *len) {
|
||||||
FILE *file;
|
FILE *file;
|
||||||
unsigned char *data;
|
void *data;
|
||||||
file = fopen(filename, "r");
|
file = fopen(filename, "r");
|
||||||
fseek(file, 0L, SEEK_END);
|
fseek(file, 0L, SEEK_END);
|
||||||
*len = ftell(file);
|
*len = ftell(file);
|
||||||
|
@ -75,7 +75,7 @@ unsigned char *load_blob(const char *filename, int *len) {
|
||||||
*len = fread(data, 1, *len, file);
|
*len = fread(data, 1, *len, file);
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
void free_blob(unsigned char *blob, int len) {
|
void free_blob(void *blob, int len) {
|
||||||
free(blob);
|
free(blob);
|
||||||
(void)len;
|
(void)len;
|
||||||
}
|
}
|
||||||
|
@ -104,7 +104,7 @@ int main(int argc, char **argv) {
|
||||||
FILE *fin, *fout;
|
FILE *fin, *fout;
|
||||||
#ifdef USE_WEIGHTS_FILE
|
#ifdef USE_WEIGHTS_FILE
|
||||||
int len;
|
int len;
|
||||||
unsigned char *data;
|
void *data;
|
||||||
const char *filename = "weights_blob.bin";
|
const char *filename = "weights_blob.bin";
|
||||||
#endif
|
#endif
|
||||||
arch = opus_select_arch();
|
arch = opus_select_arch();
|
||||||
|
|
|
@ -56,7 +56,7 @@ int lpcnet_encoder_init(LPCNetEncState *st) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int lpcnet_encoder_load_model(LPCNetEncState *st, const unsigned char *data, int len) {
|
int lpcnet_encoder_load_model(LPCNetEncState *st, const void *data, int len) {
|
||||||
return pitchdnn_load_model(&st->pitchdnn, data, len);
|
return pitchdnn_load_model(&st->pitchdnn, data, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -72,7 +72,7 @@ int lpcnet_plc_init(LPCNetPLCState *st) {
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int lpcnet_plc_load_model(LPCNetPLCState *st, const unsigned char *data, int len) {
|
int lpcnet_plc_load_model(LPCNetPLCState *st, const void *data, int len) {
|
||||||
WeightArray *list;
|
WeightArray *list;
|
||||||
int ret;
|
int ret;
|
||||||
parse_weights(&list, data, len);
|
parse_weights(&list, data, len);
|
||||||
|
|
|
@ -93,7 +93,7 @@ void compute_glu(const LinearLayer *layer, float *output, const float *input, in
|
||||||
void compute_gated_activation(const LinearLayer *layer, float *output, const float *input, int activation, int arch);
|
void compute_gated_activation(const LinearLayer *layer, float *output, const float *input, int activation, int arch);
|
||||||
|
|
||||||
|
|
||||||
int parse_weights(WeightArray **list, const unsigned char *data, int len);
|
int parse_weights(WeightArray **list, const void *data, int len);
|
||||||
|
|
||||||
|
|
||||||
extern const WeightArray lpcnet_arrays[];
|
extern const WeightArray lpcnet_arrays[];
|
||||||
|
|
|
@ -873,7 +873,7 @@ static void print_linear_layer(FILE *fid, const char *name, LinearLayer *layer)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int osce_load_models(OSCEModel *model, const unsigned char *data, int len)
|
int osce_load_models(OSCEModel *model, const void *data, int len)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
WeightArray *list;
|
WeightArray *list;
|
||||||
|
|
|
@ -77,7 +77,7 @@ void osce_enhance_frame(
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
int osce_load_models(OSCEModel *hModel, const unsigned char *data, int len);
|
int osce_load_models(OSCEModel *hModel, const void *data, int len);
|
||||||
void osce_reset(silk_OSCE_struct *hOSCE, int method);
|
void osce_reset(silk_OSCE_struct *hOSCE, int method);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
|
|
||||||
#define SPARSE_BLOCK_SIZE 32
|
#define SPARSE_BLOCK_SIZE 32
|
||||||
|
|
||||||
int parse_record(const unsigned char **data, int *len, WeightArray *array) {
|
int parse_record(const void **data, int *len, WeightArray *array) {
|
||||||
WeightHead *h = (WeightHead *)*data;
|
WeightHead *h = (WeightHead *)*data;
|
||||||
if (*len < WEIGHT_BLOCK_SIZE) return -1;
|
if (*len < WEIGHT_BLOCK_SIZE) return -1;
|
||||||
if (h->block_size < h->size) return -1;
|
if (h->block_size < h->size) return -1;
|
||||||
|
@ -45,14 +45,14 @@ int parse_record(const unsigned char **data, int *len, WeightArray *array) {
|
||||||
array->name = h->name;
|
array->name = h->name;
|
||||||
array->type = h->type;
|
array->type = h->type;
|
||||||
array->size = h->size;
|
array->size = h->size;
|
||||||
array->data = (*data)+WEIGHT_BLOCK_SIZE;
|
array->data = (void*)((unsigned char*)(*data)+WEIGHT_BLOCK_SIZE);
|
||||||
|
|
||||||
*data += h->block_size+WEIGHT_BLOCK_SIZE;
|
*data = (void*)((unsigned char*)*data + h->block_size+WEIGHT_BLOCK_SIZE);
|
||||||
*len -= h->block_size+WEIGHT_BLOCK_SIZE;
|
*len -= h->block_size+WEIGHT_BLOCK_SIZE;
|
||||||
return array->size;
|
return array->size;
|
||||||
}
|
}
|
||||||
|
|
||||||
int parse_weights(WeightArray **list, const unsigned char *data, int len)
|
int parse_weights(WeightArray **list, const void *data, int len)
|
||||||
{
|
{
|
||||||
int nb_arrays=0;
|
int nb_arrays=0;
|
||||||
int capacity=20;
|
int capacity=20;
|
||||||
|
@ -213,7 +213,7 @@ int conv2d_init(Conv2dLayer *layer, const WeightArray *arrays,
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
int fd;
|
int fd;
|
||||||
unsigned char *data;
|
void *data;
|
||||||
int len;
|
int len;
|
||||||
int nb_arrays;
|
int nb_arrays;
|
||||||
int i;
|
int i;
|
||||||
|
|
|
@ -68,7 +68,7 @@ void pitchdnn_init(PitchDNNState *st)
|
||||||
celt_assert(ret == 0);
|
celt_assert(ret == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
int pitchdnn_load_model(PitchDNNState *st, const unsigned char *data, int len) {
|
int pitchdnn_load_model(PitchDNNState *st, const void *data, int len) {
|
||||||
WeightArray *list;
|
WeightArray *list;
|
||||||
int ret;
|
int ret;
|
||||||
parse_weights(&list, data, len);
|
parse_weights(&list, data, len);
|
||||||
|
|
|
@ -22,7 +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);
|
int pitchdnn_load_model(PitchDNNState *st, const void *data, int len);
|
||||||
|
|
||||||
float compute_pitchdnn(
|
float compute_pitchdnn(
|
||||||
PitchDNNState *st,
|
PitchDNNState *st,
|
||||||
|
|
|
@ -644,7 +644,7 @@ extern "C" {
|
||||||
|
|
||||||
/** Provide external DNN weights from binary object (only when explicitly built without the weights)
|
/** Provide external DNN weights from binary object (only when explicitly built without the weights)
|
||||||
* @hideinitializer */
|
* @hideinitializer */
|
||||||
#define OPUS_SET_DNN_BLOB(data, len) OPUS_SET_DNN_BLOB_REQUEST, __opus_check_uint8_ptr(data), __opus_check_int(len)
|
#define OPUS_SET_DNN_BLOB(data, len) OPUS_SET_DNN_BLOB_REQUEST, (data), __opus_check_int(len)
|
||||||
|
|
||||||
|
|
||||||
/**@}*/
|
/**@}*/
|
||||||
|
|
|
@ -54,9 +54,9 @@
|
||||||
/* When available, mmap() is preferable to reading the file, as it leads to
|
/* When available, mmap() is preferable to reading the file, as it leads to
|
||||||
better resource utilization, especially if multiple processes are using the same
|
better resource utilization, especially if multiple processes are using the same
|
||||||
file (mapping will be shared in cache). */
|
file (mapping will be shared in cache). */
|
||||||
unsigned char *load_blob(const char *filename, int *len) {
|
void *load_blob(const char *filename, int *len) {
|
||||||
int fd;
|
int fd;
|
||||||
unsigned char *data;
|
void *data;
|
||||||
struct stat st;
|
struct stat st;
|
||||||
stat(filename, &st);
|
stat(filename, &st);
|
||||||
*len = st.st_size;
|
*len = st.st_size;
|
||||||
|
@ -65,13 +65,13 @@ unsigned char *load_blob(const char *filename, int *len) {
|
||||||
close(fd);
|
close(fd);
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
void free_blob(unsigned char *blob, int len) {
|
void free_blob(void *blob, int len) {
|
||||||
munmap(blob, len);
|
munmap(blob, len);
|
||||||
}
|
}
|
||||||
# else
|
# else
|
||||||
unsigned char *load_blob(const char *filename, int *len) {
|
void *load_blob(const char *filename, int *len) {
|
||||||
FILE *file;
|
FILE *file;
|
||||||
unsigned char *data;
|
void *data;
|
||||||
file = fopen(filename, "r");
|
file = fopen(filename, "r");
|
||||||
if (file == NULL)
|
if (file == NULL)
|
||||||
{
|
{
|
||||||
|
@ -85,7 +85,7 @@ unsigned char *load_blob(const char *filename, int *len) {
|
||||||
*len = fread(data, 1, *len, file);
|
*len = fread(data, 1, *len, file);
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
void free_blob(unsigned char *blob, int len) {
|
void free_blob(void *blob, int len) {
|
||||||
free(blob);
|
free(blob);
|
||||||
(void)len;
|
(void)len;
|
||||||
}
|
}
|
||||||
|
@ -399,7 +399,7 @@ int main(int argc, char *argv[])
|
||||||
#endif
|
#endif
|
||||||
#ifdef USE_WEIGHTS_FILE
|
#ifdef USE_WEIGHTS_FILE
|
||||||
int blob_len;
|
int blob_len;
|
||||||
unsigned char *blob_data;
|
void *blob_data;
|
||||||
const char *filename = "weights_blob.bin";
|
const char *filename = "weights_blob.bin";
|
||||||
blob_data = load_blob(filename, &blob_len);
|
blob_data = load_blob(filename, &blob_len);
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue