Make weights blob a void*

This commit is contained in:
Jean-Marc Valin 2024-03-02 17:36:09 -05:00
parent 24b7eab4a3
commit efeaa8aef8
No known key found for this signature in database
GPG key ID: 5E5DD9A36F9189C8
18 changed files with 36 additions and 36 deletions

View file

@ -52,7 +52,7 @@ static void DRED_rdovae_init_encoder(RDOVAEEncState *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;
int ret;

View file

@ -58,7 +58,7 @@ typedef struct {
float resample_mem[RESAMPLING_ORDER + 1];
} 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_reset(DREDEnc* enc);

View file

@ -184,7 +184,7 @@ void fargan_init(FARGANState *st)
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;
int ret;
parse_weights(&list, data, len);

View file

@ -57,7 +57,7 @@ typedef struct {
} FARGANState;
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);

View file

@ -166,7 +166,7 @@ void lossgen_init(LossGenState *st)
(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;
int ret;
parse_weights(&list, data, len);

View file

@ -46,7 +46,7 @@ typedef struct {
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(
LossGenState *st,

View file

@ -94,7 +94,7 @@ int lpcnet_encoder_get_size(void);
*/
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.
* @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);
int lpcnet_load_model(LPCNetState *st, const unsigned char *data, int len);
int lpcnet_plc_load_model(LPCNetPLCState *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 void *data, int len);
#endif

View file

@ -48,9 +48,9 @@
/* When available, mmap() is preferable to reading the file, as it leads to
better resource utilization, especially if multiple processes are using the same
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;
unsigned char *data;
void *data;
struct stat st;
stat(filename, &st);
*len = st.st_size;
@ -59,13 +59,13 @@ unsigned char *load_blob(const char *filename, int *len) {
close(fd);
return data;
}
void free_blob(unsigned char *blob, int len) {
void free_blob(void *blob, int len) {
munmap(blob, len);
}
# else
unsigned char *load_blob(const char *filename, int *len) {
void *load_blob(const char *filename, int *len) {
FILE *file;
unsigned char *data;
void *data;
file = fopen(filename, "r");
fseek(file, 0L, SEEK_END);
*len = ftell(file);
@ -75,7 +75,7 @@ unsigned char *load_blob(const char *filename, int *len) {
*len = fread(data, 1, *len, file);
return data;
}
void free_blob(unsigned char *blob, int len) {
void free_blob(void *blob, int len) {
free(blob);
(void)len;
}
@ -104,7 +104,7 @@ int main(int argc, char **argv) {
FILE *fin, *fout;
#ifdef USE_WEIGHTS_FILE
int len;
unsigned char *data;
void *data;
const char *filename = "weights_blob.bin";
#endif
arch = opus_select_arch();

View file

@ -56,7 +56,7 @@ int lpcnet_encoder_init(LPCNetEncState *st) {
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);
}

View file

@ -72,7 +72,7 @@ int lpcnet_plc_init(LPCNetPLCState *st) {
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;
int ret;
parse_weights(&list, data, len);

View file

@ -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);
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[];

View file

@ -873,7 +873,7 @@ static void print_linear_layer(FILE *fid, const char *name, LinearLayer *layer)
}
#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;
WeightArray *list;

View file

@ -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);

View file

@ -35,7 +35,7 @@
#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;
if (*len < WEIGHT_BLOCK_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->type = h->type;
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;
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 capacity=20;
@ -213,7 +213,7 @@ int conv2d_init(Conv2dLayer *layer, const WeightArray *arrays,
int main()
{
int fd;
unsigned char *data;
void *data;
int len;
int nb_arrays;
int i;

View file

@ -68,7 +68,7 @@ void pitchdnn_init(PitchDNNState *st)
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;
int ret;
parse_weights(&list, data, len);

View file

@ -22,7 +22,7 @@ typedef struct {
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(
PitchDNNState *st,

View file

@ -644,7 +644,7 @@ extern "C" {
/** Provide external DNN weights from binary object (only when explicitly built without the weights)
* @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)
/**@}*/

View file

@ -54,9 +54,9 @@
/* When available, mmap() is preferable to reading the file, as it leads to
better resource utilization, especially if multiple processes are using the same
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;
unsigned char *data;
void *data;
struct stat st;
stat(filename, &st);
*len = st.st_size;
@ -65,13 +65,13 @@ unsigned char *load_blob(const char *filename, int *len) {
close(fd);
return data;
}
void free_blob(unsigned char *blob, int len) {
void free_blob(void *blob, int len) {
munmap(blob, len);
}
# else
unsigned char *load_blob(const char *filename, int *len) {
void *load_blob(const char *filename, int *len) {
FILE *file;
unsigned char *data;
void *data;
file = fopen(filename, "r");
if (file == NULL)
{
@ -85,7 +85,7 @@ unsigned char *load_blob(const char *filename, int *len) {
*len = fread(data, 1, *len, file);
return data;
}
void free_blob(unsigned char *blob, int len) {
void free_blob(void *blob, int len) {
free(blob);
(void)len;
}
@ -399,7 +399,7 @@ int main(int argc, char *argv[])
#endif
#ifdef USE_WEIGHTS_FILE
int blob_len;
unsigned char *blob_data;
void *blob_data;
const char *filename = "weights_blob.bin";
blob_data = load_blob(filename, &blob_len);
#endif