2018-08-06 18:11 GMT-03:00 Sergey Lavrushkin <dual...@gmail.com>: > Updated patch. > > 2018-08-06 17:55 GMT+03:00 Pedro Arthur <bygran...@gmail.com>: > >> 2018-08-02 15:52 GMT-03:00 Sergey Lavrushkin <dual...@gmail.com>: >> > --- >> > libavfilter/dnn_backend_native.c | 84 +++++++++++++++--------------- >> > libavfilter/dnn_backend_native.h | 8 +-- >> > libavfilter/dnn_backend_tf.c | 108 +++++++++++++++++++----------- >> --------- >> > libavfilter/dnn_backend_tf.h | 8 +-- >> > libavfilter/dnn_espcn.h | 6 +-- >> > libavfilter/dnn_interface.c | 4 +- >> > libavfilter/dnn_interface.h | 16 +++--- >> > libavfilter/dnn_srcnn.h | 6 +-- >> > libavfilter/vf_sr.c | 60 +++++++++++----------- >> > 9 files changed, 150 insertions(+), 150 deletions(-) >> > >> > diff --git a/libavfilter/dnn_backend_native.c b/libavfilter/dnn_backend_ >> native.c >> > index 3e6b86280d..baefea7fcb 100644 >> > --- a/libavfilter/dnn_backend_native.c >> > +++ b/libavfilter/dnn_backend_native.c >> > @@ -34,15 +34,15 @@ typedef enum {RELU, TANH, SIGMOID} ActivationFunc; >> > >> > typedef struct Layer{ >> > LayerType type; >> > - float* output; >> > - void* params; >> > + float *output; >> > + void *params; >> > } Layer; >> > >> > typedef struct ConvolutionalParams{ >> > int32_t input_num, output_num, kernel_size; >> > ActivationFunc activation; >> > - float* kernel; >> > - float* biases; >> > + float *kernel; >> > + float *biases; >> > } ConvolutionalParams; >> > >> > typedef struct InputParams{ >> > @@ -55,16 +55,16 @@ typedef struct DepthToSpaceParams{ >> > >> > // Represents simple feed-forward convolutional network. >> > typedef struct ConvolutionalNetwork{ >> > - Layer* layers; >> > + Layer *layers; >> > int32_t layers_num; >> > } ConvolutionalNetwork; >> > >> > -static DNNReturnType set_input_output_native(void* model, DNNData* >> input, DNNData* output) >> > +static DNNReturnType set_input_output_native(void *model, DNNData >> *input, DNNData *output) >> > { >> > - ConvolutionalNetwork* network = (ConvolutionalNetwork*)model; >> > - InputParams* input_params; >> > - ConvolutionalParams* conv_params; >> > - DepthToSpaceParams* depth_to_space_params; >> > + ConvolutionalNetwork *network = (ConvolutionalNetwork *)model; >> > + InputParams *input_params; >> > + ConvolutionalParams *conv_params; >> > + DepthToSpaceParams *depth_to_space_params; >> > int cur_width, cur_height, cur_channels; >> > int32_t layer; >> > >> > @@ -72,7 +72,7 @@ static DNNReturnType set_input_output_native(void* >> model, DNNData* input, DNNDat >> > return DNN_ERROR; >> > } >> > else{ >> > - input_params = (InputParams*)network->layers[0].params; >> > + input_params = (InputParams *)network->layers[0].params; >> > input_params->width = cur_width = input->width; >> > input_params->height = cur_height = input->height; >> > input_params->channels = cur_channels = input->channels; >> > @@ -88,14 +88,14 @@ static DNNReturnType set_input_output_native(void* >> model, DNNData* input, DNNDat >> > for (layer = 1; layer < network->layers_num; ++layer){ >> > switch (network->layers[layer].type){ >> > case CONV: >> > - conv_params = (ConvolutionalParams*)network- >> >layers[layer].params; >> > + conv_params = (ConvolutionalParams *)network->layers[layer]. >> params; >> > if (conv_params->input_num != cur_channels){ >> > return DNN_ERROR; >> > } >> > cur_channels = conv_params->output_num; >> > break; >> > case DEPTH_TO_SPACE: >> > - depth_to_space_params = (DepthToSpaceParams*)network-> >> layers[layer].params; >> > + depth_to_space_params = (DepthToSpaceParams >> *)network->layers[layer].params; >> > if (cur_channels % (depth_to_space_params->block_size * >> depth_to_space_params->block_size) != 0){ >> > return DNN_ERROR; >> > } >> > @@ -127,16 +127,16 @@ static DNNReturnType set_input_output_native(void* >> model, DNNData* input, DNNDat >> > // layers_num,layer_type,layer_parameterss,layer_type,layer_ >> parameters... >> > // For CONV layer: activation_function, input_num, output_num, >> kernel_size, kernel, biases >> > // For DEPTH_TO_SPACE layer: block_size >> > -DNNModel* ff_dnn_load_model_native(const char* model_filename) >> > +DNNModel *ff_dnn_load_model_native(const char *model_filename) >> > { >> > - DNNModel* model = NULL; >> > - ConvolutionalNetwork* network = NULL; >> > - AVIOContext* model_file_context; >> > + DNNModel *model = NULL; >> > + ConvolutionalNetwork *network = NULL; >> > + AVIOContext *model_file_context; >> > int file_size, dnn_size, kernel_size, i; >> > int32_t layer; >> > LayerType layer_type; >> > - ConvolutionalParams* conv_params; >> > - DepthToSpaceParams* depth_to_space_params; >> > + ConvolutionalParams *conv_params; >> > + DepthToSpaceParams *depth_to_space_params; >> > >> > model = av_malloc(sizeof(DNNModel)); >> > if (!model){ >> > @@ -155,7 +155,7 @@ DNNModel* ff_dnn_load_model_native(const char* >> model_filename) >> > av_freep(&model); >> > return NULL; >> > } >> > - model->model = (void*)network; >> > + model->model = (void *)network; >> > >> > network->layers_num = 1 + (int32_t)avio_rl32(model_file_context); >> > dnn_size = 4; >> > @@ -251,10 +251,10 @@ DNNModel* ff_dnn_load_model_native(const char* >> model_filename) >> > return model; >> > } >> > >> > -static int set_up_conv_layer(Layer* layer, const float* kernel, const >> float* biases, ActivationFunc activation, >> > +static int set_up_conv_layer(Layer *layer, const float *kernel, const >> float *biases, ActivationFunc activation, >> > int32_t input_num, int32_t output_num, >> int32_t size) >> > { >> > - ConvolutionalParams* conv_params; >> > + ConvolutionalParams *conv_params; >> > int kernel_size; >> > >> > conv_params = av_malloc(sizeof(ConvolutionalParams)); >> > @@ -282,11 +282,11 @@ static int set_up_conv_layer(Layer* layer, const >> float* kernel, const float* bia >> > return DNN_SUCCESS; >> > } >> > >> > -DNNModel* ff_dnn_load_default_model_native(DNNDefaultModel model_type) >> > +DNNModel *ff_dnn_load_default_model_native(DNNDefaultModel model_type) >> > { >> > - DNNModel* model = NULL; >> > - ConvolutionalNetwork* network = NULL; >> > - DepthToSpaceParams* depth_to_space_params; >> > + DNNModel *model = NULL; >> > + ConvolutionalNetwork *network = NULL; >> > + DepthToSpaceParams *depth_to_space_params; >> > int32_t layer; >> > >> > model = av_malloc(sizeof(DNNModel)); >> > @@ -299,7 +299,7 @@ DNNModel* >> > ff_dnn_load_default_model_native(DNNDefaultModel >> model_type) >> > av_freep(&model); >> > return NULL; >> > } >> > - model->model = (void*)network; >> > + model->model = (void *)network; >> > >> > switch (model_type){ >> > case DNN_SRCNN: >> > @@ -365,7 +365,7 @@ DNNModel* >> > ff_dnn_load_default_model_native(DNNDefaultModel >> model_type) >> > >> > #define CLAMP_TO_EDGE(x, w) ((x) < 0 ? 0 : ((x) >= (w) ? (w - 1) : (x))) >> > >> > -static void convolve(const float* input, float* output, const >> ConvolutionalParams* conv_params, int width, int height) >> > +static void convolve(const float *input, float *output, const >> ConvolutionalParams *conv_params, int width, int height) >> > { >> > int y, x, n_filter, ch, kernel_y, kernel_x; >> > int radius = conv_params->kernel_size >> 1; >> > @@ -403,7 +403,7 @@ static void convolve(const float* input, float* >> output, const ConvolutionalParam >> > } >> > } >> > >> > -static void depth_to_space(const float* input, float* output, int >> block_size, int width, int height, int channels) >> > +static void depth_to_space(const float *input, float *output, int >> block_size, int width, int height, int channels) >> > { >> > int y, x, by, bx, ch; >> > int new_channels = channels / (block_size * block_size); >> > @@ -426,20 +426,20 @@ static void depth_to_space(const float* input, >> float* output, int block_size, in >> > } >> > } >> > >> > -DNNReturnType ff_dnn_execute_model_native(const DNNModel* model) >> > +DNNReturnType ff_dnn_execute_model_native(const DNNModel *model) >> > { >> > - ConvolutionalNetwork* network = (ConvolutionalNetwork*)model-> >> model; >> > + ConvolutionalNetwork *network = (ConvolutionalNetwork >> *)model->model; >> > int cur_width, cur_height, cur_channels; >> > int32_t layer; >> > - InputParams* input_params; >> > - ConvolutionalParams* conv_params; >> > - DepthToSpaceParams* depth_to_space_params; >> > + InputParams *input_params; >> > + ConvolutionalParams *conv_params; >> > + DepthToSpaceParams *depth_to_space_params; >> > >> > if (network->layers_num <= 0 || network->layers[0].type != INPUT || >> !network->layers[0].output){ >> > return DNN_ERROR; >> > } >> > else{ >> > - input_params = (InputParams*)network->layers[0].params; >> > + input_params = (InputParams *)network->layers[0].params; >> > cur_width = input_params->width; >> > cur_height = input_params->height; >> > cur_channels = input_params->channels; >> > @@ -451,12 +451,12 @@ DNNReturnType ff_dnn_execute_model_native(const >> DNNModel* model) >> > } >> > switch (network->layers[layer].type){ >> > case CONV: >> > - conv_params = (ConvolutionalParams*)network- >> >layers[layer].params; >> > + conv_params = (ConvolutionalParams *)network->layers[layer]. >> params; >> > convolve(network->layers[layer - 1].output, >> network->layers[layer].output, conv_params, cur_width, cur_height); >> > cur_channels = conv_params->output_num; >> > break; >> > case DEPTH_TO_SPACE: >> > - depth_to_space_params = (DepthToSpaceParams*)network-> >> layers[layer].params; >> > + depth_to_space_params = (DepthToSpaceParams >> *)network->layers[layer].params; >> > depth_to_space(network->layers[layer - 1].output, >> network->layers[layer].output, >> > depth_to_space_params->block_size, >> cur_width, cur_height, cur_channels); >> > cur_height *= depth_to_space_params->block_size; >> > @@ -471,19 +471,19 @@ DNNReturnType ff_dnn_execute_model_native(const >> DNNModel* model) >> > return DNN_SUCCESS; >> > } >> > >> > -void ff_dnn_free_model_native(DNNModel** model) >> > +void ff_dnn_free_model_native(DNNModel **model) >> > { >> > - ConvolutionalNetwork* network; >> > - ConvolutionalParams* conv_params; >> > + ConvolutionalNetwork *network; >> > + ConvolutionalParams *conv_params; >> > int32_t layer; >> > >> > if (*model) >> > { >> > - network = (ConvolutionalNetwork*)(*model)->model; >> > + network = (ConvolutionalNetwork *)(*model)->model; >> > for (layer = 0; layer < network->layers_num; ++layer){ >> > av_freep(&network->layers[layer].output); >> > if (network->layers[layer].type == CONV){ >> > - conv_params = (ConvolutionalParams*)network- >> >layers[layer].params; >> > + conv_params = (ConvolutionalParams >> *)network->layers[layer].params; >> > av_freep(&conv_params->kernel); >> > av_freep(&conv_params->biases); >> > } >> > diff --git a/libavfilter/dnn_backend_native.h b/libavfilter/dnn_backend_ >> native.h >> > index 599c1302e2..adbb7088b4 100644 >> > --- a/libavfilter/dnn_backend_native.h >> > +++ b/libavfilter/dnn_backend_native.h >> > @@ -29,12 +29,12 @@ >> > >> > #include "dnn_interface.h" >> > >> > -DNNModel* ff_dnn_load_model_native(const char* model_filename); >> > +DNNModel *ff_dnn_load_model_native(const char *model_filename); >> > >> > -DNNModel* ff_dnn_load_default_model_native(DNNDefaultModel model_type); >> > +DNNModel *ff_dnn_load_default_model_native(DNNDefaultModel model_type); >> > >> > -DNNReturnType ff_dnn_execute_model_native(const DNNModel* model); >> > +DNNReturnType ff_dnn_execute_model_native(const DNNModel *model); >> > >> > -void ff_dnn_free_model_native(DNNModel** model); >> > +void ff_dnn_free_model_native(DNNModel **model); >> > >> > #endif >> > diff --git a/libavfilter/dnn_backend_tf.c b/libavfilter/dnn_backend_tf.c >> > index 21516471c3..6307c794a5 100644 >> > --- a/libavfilter/dnn_backend_tf.c >> > +++ b/libavfilter/dnn_backend_tf.c >> > @@ -31,24 +31,24 @@ >> > #include <tensorflow/c/c_api.h> >> > >> > typedef struct TFModel{ >> > - TF_Graph* graph; >> > - TF_Session* session; >> > - TF_Status* status; >> > + TF_Graph *graph; >> > + TF_Session *session; >> > + TF_Status *status; >> > TF_Output input, output; >> > - TF_Tensor* input_tensor; >> > - DNNData* output_data; >> > + TF_Tensor *input_tensor; >> > + DNNData *output_data; >> > } TFModel; >> > >> > -static void free_buffer(void* data, size_t length) >> > +static void free_buffer(void *data, size_t length) >> > { >> > av_freep(&data); >> > } >> > >> > -static TF_Buffer* read_graph(const char* model_filename) >> > +static TF_Buffer *read_graph(const char *model_filename) >> > { >> > - TF_Buffer* graph_buf; >> > - unsigned char* graph_data = NULL; >> > - AVIOContext* model_file_context; >> > + TF_Buffer *graph_buf; >> > + unsigned char *graph_data = NULL; >> > + AVIOContext *model_file_context; >> > long size, bytes_read; >> > >> > if (avio_open(&model_file_context, model_filename, AVIO_FLAG_READ) >> < 0){ >> > @@ -70,20 +70,20 @@ static TF_Buffer* read_graph(const char* >> model_filename) >> > } >> > >> > graph_buf = TF_NewBuffer(); >> > - graph_buf->data = (void*)graph_data; >> > + graph_buf->data = (void *)graph_data; >> > graph_buf->length = size; >> > graph_buf->data_deallocator = free_buffer; >> > >> > return graph_buf; >> > } >> > >> > -static DNNReturnType set_input_output_tf(void* model, DNNData* input, >> DNNData* output) >> > +static DNNReturnType set_input_output_tf(void *model, DNNData *input, >> DNNData *output) >> > { >> > - TFModel* tf_model = (TFModel*)model; >> > + TFModel *tf_model = (TFModel *)model; >> > int64_t input_dims[] = {1, input->height, input->width, >> input->channels}; >> > - TF_SessionOptions* sess_opts; >> > - const TF_Operation* init_op = TF_GraphOperationByName(tf_model->graph, >> "init"); >> > - TF_Tensor* output_tensor; >> > + TF_SessionOptions *sess_opts; >> > + const TF_Operation *init_op = TF_GraphOperationByName(tf_model->graph, >> "init"); >> > + TF_Tensor *output_tensor; >> > >> > // Input operation should be named 'x' >> > tf_model->input.oper = TF_GraphOperationByName(tf_model->graph, >> "x"); >> > @@ -99,7 +99,7 @@ static DNNReturnType set_input_output_tf(void* model, >> DNNData* input, DNNData* o >> > if (!tf_model->input_tensor){ >> > return DNN_ERROR; >> > } >> > - input->data = (float*)TF_TensorData(tf_model->input_tensor); >> > + input->data = (float *)TF_TensorData(tf_model->input_tensor); >> > >> > // Output operation should be named 'y' >> > tf_model->output.oper = TF_GraphOperationByName(tf_model->graph, >> "y"); >> > @@ -156,12 +156,12 @@ static DNNReturnType set_input_output_tf(void* >> model, DNNData* input, DNNData* o >> > return DNN_SUCCESS; >> > } >> > >> > -DNNModel* ff_dnn_load_model_tf(const char* model_filename) >> > +DNNModel *ff_dnn_load_model_tf(const char *model_filename) >> > { >> > - DNNModel* model = NULL; >> > - TFModel* tf_model = NULL; >> > - TF_Buffer* graph_def; >> > - TF_ImportGraphDefOptions* graph_opts; >> > + DNNModel *model = NULL; >> > + TFModel *tf_model = NULL; >> > + TF_Buffer *graph_def; >> > + TF_ImportGraphDefOptions *graph_opts; >> > >> > model = av_malloc(sizeof(DNNModel)); >> > if (!model){ >> > @@ -197,25 +197,25 @@ DNNModel* ff_dnn_load_model_tf(const char* >> model_filename) >> > return NULL; >> > } >> > >> > - model->model = (void*)tf_model; >> > + model->model = (void *)tf_model; >> > model->set_input_output = &set_input_output_tf; >> > >> > return model; >> > } >> > >> > -static TF_Operation* add_pad_op(TFModel* tf_model, TF_Operation* >> input_op, int32_t pad) >> > +static TF_Operation *add_pad_op(TFModel *tf_model, TF_Operation >> *input_op, int32_t pad) >> > { >> > - TF_OperationDescription* op_desc; >> > - TF_Operation* op; >> > - TF_Tensor* tensor; >> > + TF_OperationDescription *op_desc; >> > + TF_Operation *op; >> > + TF_Tensor *tensor; >> > TF_Output input; >> > - int32_t* pads; >> > + int32_t *pads; >> > int64_t pads_shape[] = {4, 2}; >> > >> > op_desc = TF_NewOperation(tf_model->graph, "Const", "pads"); >> > TF_SetAttrType(op_desc, "dtype", TF_INT32); >> > tensor = TF_AllocateTensor(TF_INT32, pads_shape, 2, 4 * 2 * >> sizeof(int32_t)); >> > - pads = (int32_t*)TF_TensorData(tensor); >> > + pads = (int32_t *)TF_TensorData(tensor); >> > pads[0] = 0; pads[1] = 0; >> > pads[2] = pad; pads[3] = pad; >> > pads[4] = pad; pads[5] = pad; >> > @@ -246,11 +246,11 @@ static TF_Operation* add_pad_op(TFModel* tf_model, >> TF_Operation* input_op, int32 >> > return op; >> > } >> > >> > -static TF_Operation* add_const_op(TFModel* tf_model, const float* >> values, const int64_t* dims, int dims_len, const char* name) >> > +static TF_Operation *add_const_op(TFModel *tf_model, const float >> *values, const int64_t *dims, int dims_len, const char *name) >> > { >> > int dim; >> > - TF_OperationDescription* op_desc; >> > - TF_Tensor* tensor; >> > + TF_OperationDescription *op_desc; >> > + TF_Tensor *tensor; >> > size_t len; >> > >> > op_desc = TF_NewOperation(tf_model->graph, "Const", name); >> > @@ -269,25 +269,25 @@ static TF_Operation* add_const_op(TFModel* >> tf_model, const float* values, const >> > return TF_FinishOperation(op_desc, tf_model->status); >> > } >> > >> > -static TF_Operation* add_conv_layers(TFModel* tf_model, const float** >> consts, const int64_t** consts_dims, >> > - const int* consts_dims_len, const >> char** activations, >> > - TF_Operation* input_op, int >> layers_num) >> > +static TF_Operation* add_conv_layers(TFModel *tf_model, const float >> **consts, const int64_t **consts_dims, >> > + const int *consts_dims_len, const >> char **activations, >> > + TF_Operation *input_op, int >> layers_num) >> > { >> > int i; >> > - TF_OperationDescription* op_desc; >> > - TF_Operation* op; >> > - TF_Operation* transpose_op; >> > + TF_OperationDescription *op_desc; >> > + TF_Operation *op; >> > + TF_Operation *transpose_op; >> > TF_Output input; >> > int64_t strides[] = {1, 1, 1, 1}; >> > - int32_t* transpose_perm; >> > - TF_Tensor* tensor; >> > + int32_t *transpose_perm; >> > + TF_Tensor *tensor; >> > int64_t transpose_perm_shape[] = {4}; >> > char name_buffer[256]; >> > >> > op_desc = TF_NewOperation(tf_model->graph, "Const", >> "transpose_perm"); >> > TF_SetAttrType(op_desc, "dtype", TF_INT32); >> > tensor = TF_AllocateTensor(TF_INT32, transpose_perm_shape, 1, 4 * >> sizeof(int32_t)); >> > - transpose_perm = (int32_t*)TF_TensorData(tensor); >> > + transpose_perm = (int32_t *)TF_TensorData(tensor); >> > transpose_perm[0] = 1; >> > transpose_perm[1] = 2; >> > transpose_perm[2] = 3; >> > @@ -368,13 +368,13 @@ static TF_Operation* add_conv_layers(TFModel* >> tf_model, const float** consts, co >> > return input_op; >> > } >> > >> > -DNNModel* ff_dnn_load_default_model_tf(DNNDefaultModel model_type) >> > +DNNModel *ff_dnn_load_default_model_tf(DNNDefaultModel model_type) >> > { >> > - DNNModel* model = NULL; >> > - TFModel* tf_model = NULL; >> > - TF_OperationDescription* op_desc; >> > - TF_Operation* op; >> > - TF_Operation* const_ops_buffer[6]; >> > + DNNModel *model = NULL; >> > + TFModel *tf_model = NULL; >> > + TF_OperationDescription *op_desc; >> > + TF_Operation *op; >> > + TF_Operation *const_ops_buffer[6]; >> > TF_Output input; >> > int64_t input_shape[] = {1, -1, -1, 1}; >> > >> > @@ -460,16 +460,16 @@ DNNModel* >> > ff_dnn_load_default_model_tf(DNNDefaultModel >> model_type) >> > CLEANUP_ON_ERROR(tf_model, model); >> > } >> > >> > - model->model = (void*)tf_model; >> > + model->model = (void *)tf_model; >> > model->set_input_output = &set_input_output_tf; >> > >> > return model; >> > } >> > >> > -DNNReturnType ff_dnn_execute_model_tf(const DNNModel* model) >> > +DNNReturnType ff_dnn_execute_model_tf(const DNNModel *model) >> > { >> > - TFModel* tf_model = (TFModel*)model->model; >> > - TF_Tensor* output_tensor; >> > + TFModel *tf_model = (TFModel *)model->model; >> > + TF_Tensor *output_tensor; >> > >> > TF_SessionRun(tf_model->session, NULL, >> > &tf_model->input, &tf_model->input_tensor, 1, >> > @@ -489,12 +489,12 @@ DNNReturnType ff_dnn_execute_model_tf(const >> DNNModel* model) >> > } >> > } >> > >> > -void ff_dnn_free_model_tf(DNNModel** model) >> > +void ff_dnn_free_model_tf(DNNModel **model) >> > { >> > - TFModel* tf_model; >> > + TFModel *tf_model; >> > >> > if (*model){ >> > - tf_model = (TFModel*)(*model)->model; >> > + tf_model = (TFModel *)(*model)->model; >> > if (tf_model->graph){ >> > TF_DeleteGraph(tf_model->graph); >> > } >> > diff --git a/libavfilter/dnn_backend_tf.h b/libavfilter/dnn_backend_tf.h >> > index 08e4a568b3..357a82d948 100644 >> > --- a/libavfilter/dnn_backend_tf.h >> > +++ b/libavfilter/dnn_backend_tf.h >> > @@ -29,12 +29,12 @@ >> > >> > #include "dnn_interface.h" >> > >> > -DNNModel* ff_dnn_load_model_tf(const char* model_filename); >> > +DNNModel *ff_dnn_load_model_tf(const char *model_filename); >> > >> > -DNNModel* ff_dnn_load_default_model_tf(DNNDefaultModel model_type); >> > +DNNModel *ff_dnn_load_default_model_tf(DNNDefaultModel model_type); >> > >> > -DNNReturnType ff_dnn_execute_model_tf(const DNNModel* model); >> > +DNNReturnType ff_dnn_execute_model_tf(const DNNModel *model); >> > >> > -void ff_dnn_free_model_tf(DNNModel** model); >> > +void ff_dnn_free_model_tf(DNNModel **model); >> > >> > #endif >> > diff --git a/libavfilter/dnn_espcn.h b/libavfilter/dnn_espcn.h >> > index 315ecf031d..a0dd61cd0d 100644 >> > --- a/libavfilter/dnn_espcn.h >> > +++ b/libavfilter/dnn_espcn.h >> > @@ -5398,7 +5398,7 @@ static const long int espcn_conv3_bias_dims[] = { >> > 4 >> > }; >> > >> > -static const float* espcn_consts[] = { >> > +static const float *espcn_consts[] = { >> > espcn_conv1_kernel, >> > espcn_conv1_bias, >> > espcn_conv2_kernel, >> > @@ -5407,7 +5407,7 @@ static const float* espcn_consts[] = { >> > espcn_conv3_bias >> > }; >> > >> > -static const long int* espcn_consts_dims[] = { >> > +static const long int *espcn_consts_dims[] = { >> > espcn_conv1_kernel_dims, >> > espcn_conv1_bias_dims, >> > espcn_conv2_kernel_dims, >> > @@ -5429,7 +5429,7 @@ static const char espcn_tanh[] = "Tanh"; >> > >> > static const char espcn_sigmoid[] = "Sigmoid"; >> > >> > -static const char* espcn_activations[] = { >> > +static const char *espcn_activations[] = { >> > espcn_tanh, >> > espcn_tanh, >> > espcn_sigmoid >> > diff --git a/libavfilter/dnn_interface.c b/libavfilter/dnn_interface.c >> > index 87c90526be..ca7d6d1ea5 100644 >> > --- a/libavfilter/dnn_interface.c >> > +++ b/libavfilter/dnn_interface.c >> > @@ -28,9 +28,9 @@ >> > #include "dnn_backend_tf.h" >> > #include "libavutil/mem.h" >> > >> > -DNNModule* ff_get_dnn_module(DNNBackendType backend_type) >> > +DNNModule *ff_get_dnn_module(DNNBackendType backend_type) >> > { >> > - DNNModule* dnn_module; >> > + DNNModule *dnn_module; >> > >> > dnn_module = av_malloc(sizeof(DNNModule)); >> > if(!dnn_module){ >> > diff --git a/libavfilter/dnn_interface.h b/libavfilter/dnn_interface.h >> > index 6b820d1d5b..a69717ae62 100644 >> > --- a/libavfilter/dnn_interface.h >> > +++ b/libavfilter/dnn_interface.h >> > @@ -33,31 +33,31 @@ typedef enum {DNN_NATIVE, DNN_TF} DNNBackendType; >> > typedef enum {DNN_SRCNN, DNN_ESPCN} DNNDefaultModel; >> > >> > typedef struct DNNData{ >> > - float* data; >> > + float *data; >> > int width, height, channels; >> > } DNNData; >> > >> > typedef struct DNNModel{ >> > // Stores model that can be different for different backends. >> > - void* model; >> > + void *model; >> > // Sets model input and output, while allocating additional memory >> for intermediate calculations. >> > // Should be called at least once before model execution. >> > - DNNReturnType (*set_input_output)(void* model, DNNData* input, >> DNNData* output); >> > + DNNReturnType (*set_input_output)(void *model, DNNData *input, >> DNNData *output); >> > } DNNModel; >> > >> > // Stores pointers to functions for loading, executing, freeing DNN >> models for one of the backends. >> > typedef struct DNNModule{ >> > // Loads model and parameters from given file. Returns NULL if it >> is not possible. >> > - DNNModel* (*load_model)(const char* model_filename); >> > + DNNModel *(*load_model)(const char *model_filename); >> > // Loads one of the default models >> > - DNNModel* (*load_default_model)(DNNDefaultModel model_type); >> > + DNNModel *(*load_default_model)(DNNDefaultModel model_type); >> > // Executes model with specified input and output. Returns >> DNN_ERROR otherwise. >> > - DNNReturnType (*execute_model)(const DNNModel* model); >> > + DNNReturnType (*execute_model)(const DNNModel *model); >> > // Frees memory allocated for model. >> > - void (*free_model)(DNNModel** model); >> > + void (*free_model)(DNNModel **model); >> > } DNNModule; >> > >> > // Initializes DNNModule depending on chosen backend. >> > -DNNModule* ff_get_dnn_module(DNNBackendType backend_type); >> > +DNNModule *ff_get_dnn_module(DNNBackendType backend_type); >> > >> > #endif >> > diff --git a/libavfilter/dnn_srcnn.h b/libavfilter/dnn_srcnn.h >> > index 7ec11654b3..26143654b8 100644 >> > --- a/libavfilter/dnn_srcnn.h >> > +++ b/libavfilter/dnn_srcnn.h >> > @@ -2110,7 +2110,7 @@ static const long int srcnn_conv3_bias_dims[] = { >> > 1 >> > }; >> > >> > -static const float* srcnn_consts[] = { >> > +static const float *srcnn_consts[] = { >> > srcnn_conv1_kernel, >> > srcnn_conv1_bias, >> > srcnn_conv2_kernel, >> > @@ -2119,7 +2119,7 @@ static const float* srcnn_consts[] = { >> > srcnn_conv3_bias >> > }; >> > >> > -static const long int* srcnn_consts_dims[] = { >> > +static const long int *srcnn_consts_dims[] = { >> > srcnn_conv1_kernel_dims, >> > srcnn_conv1_bias_dims, >> > srcnn_conv2_kernel_dims, >> > @@ -2139,7 +2139,7 @@ static const int srcnn_consts_dims_len[] = { >> > >> > static const char srcnn_relu[] = "Relu"; >> > >> > -static const char* srcnn_activations[] = { >> > +static const char *srcnn_activations[] = { >> > srcnn_relu, >> > srcnn_relu, >> > srcnn_relu >> > diff --git a/libavfilter/vf_sr.c b/libavfilter/vf_sr.c >> > index f3ca9a09a8..944a0e28e7 100644 >> > --- a/libavfilter/vf_sr.c >> > +++ b/libavfilter/vf_sr.c >> > @@ -39,13 +39,13 @@ typedef struct SRContext { >> > const AVClass *class; >> > >> > SRModel model_type; >> > - char* model_filename; >> > + char *model_filename; >> > DNNBackendType backend_type; >> > - DNNModule* dnn_module; >> > - DNNModel* model; >> > + DNNModule *dnn_module; >> > + DNNModel *model; >> > DNNData input, output; >> > int scale_factor; >> > - struct SwsContext* sws_context; >> > + struct SwsContext *sws_context; >> > int sws_slice_h; >> > } SRContext; >> > >> > @@ -67,9 +67,9 @@ static const AVOption sr_options[] = { >> > >> > AVFILTER_DEFINE_CLASS(sr); >> > >> > -static av_cold int init(AVFilterContext* context) >> > +static av_cold int init(AVFilterContext *context) >> > { >> > - SRContext* sr_context = context->priv; >> > + SRContext *sr_context = context->priv; >> > >> > sr_context->dnn_module = ff_get_dnn_module(sr_context-> >> backend_type); >> > if (!sr_context->dnn_module){ >> > @@ -98,12 +98,12 @@ static av_cold int init(AVFilterContext* context) >> > return 0; >> > } >> > >> > -static int query_formats(AVFilterContext* context) >> > +static int query_formats(AVFilterContext *context) >> > { >> > const enum AVPixelFormat pixel_formats[] = {AV_PIX_FMT_YUV420P, >> AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, >> > AV_PIX_FMT_YUV410P, >> AV_PIX_FMT_YUV411P, AV_PIX_FMT_GRAY8, >> > AV_PIX_FMT_NONE}; >> > - AVFilterFormats* formats_list; >> > + AVFilterFormats *formats_list; >> > >> > formats_list = ff_make_format_list(pixel_formats); >> > if (!formats_list){ >> > @@ -113,11 +113,11 @@ static int query_formats(AVFilterContext* context) >> > return ff_set_common_formats(context, formats_list); >> > } >> > >> > -static int config_props(AVFilterLink* inlink) >> > +static int config_props(AVFilterLink *inlink) >> > { >> > - AVFilterContext* context = inlink->dst; >> > - SRContext* sr_context = context->priv; >> > - AVFilterLink* outlink = context->outputs[0]; >> > + AVFilterContext *context = inlink->dst; >> > + SRContext *sr_context = context->priv; >> > + AVFilterLink *outlink = context->outputs[0]; >> > DNNReturnType result; >> > int sws_src_h, sws_src_w, sws_dst_h, sws_dst_w; >> > >> > @@ -202,18 +202,18 @@ static int config_props(AVFilterLink* inlink) >> > } >> > >> > typedef struct ThreadData{ >> > - uint8_t* data; >> > + uint8_t *data; >> > int data_linesize, height, width; >> > } ThreadData; >> > >> > -static int uint8_to_float(AVFilterContext* context, void* arg, int >> jobnr, int nb_jobs) >> > +static int uint8_to_float(AVFilterContext *context, void *arg, int >> jobnr, int nb_jobs) >> > { >> > - SRContext* sr_context = context->priv; >> > - const ThreadData* td = arg; >> > + SRContext *sr_context = context->priv; >> > + const ThreadData *td = arg; >> > const int slice_start = (td->height * jobnr ) / nb_jobs; >> > const int slice_end = (td->height * (jobnr + 1)) / nb_jobs; >> > - const uint8_t* src = td->data + slice_start * td->data_linesize; >> > - float* dst = sr_context->input.data + slice_start * td->width; >> > + const uint8_t *src = td->data + slice_start * td->data_linesize; >> > + float *dst = sr_context->input.data + slice_start * td->width; >> > int y, x; >> > >> > for (y = slice_start; y < slice_end; ++y){ >> > @@ -227,14 +227,14 @@ static int uint8_to_float(AVFilterContext* >> context, void* arg, int jobnr, int nb >> > return 0; >> > } >> > >> > -static int float_to_uint8(AVFilterContext* context, void* arg, int >> jobnr, int nb_jobs) >> > +static int float_to_uint8(AVFilterContext *context, void *arg, int >> jobnr, int nb_jobs) >> > { >> > - SRContext* sr_context = context->priv; >> > - const ThreadData* td = arg; >> > + SRContext *sr_context = context->priv; >> > + const ThreadData *td = arg; >> > const int slice_start = (td->height * jobnr ) / nb_jobs; >> > const int slice_end = (td->height * (jobnr + 1)) / nb_jobs; >> > - const float* src = sr_context->output.data + slice_start * >> td->width; >> > - uint8_t* dst = td->data + slice_start * td->data_linesize; >> > + const float *src = sr_context->output.data + slice_start * >> td->width; >> > + uint8_t *dst = td->data + slice_start * td->data_linesize; >> > int y, x; >> > >> > for (y = slice_start; y < slice_end; ++y){ >> > @@ -248,12 +248,12 @@ static int float_to_uint8(AVFilterContext* >> context, void* arg, int jobnr, int nb >> > return 0; >> > } >> > >> > -static int filter_frame(AVFilterLink* inlink, AVFrame* in) >> > +static int filter_frame(AVFilterLink *inlink, AVFrame *in) >> > { >> > - AVFilterContext* context = inlink->dst; >> > - SRContext* sr_context = context->priv; >> > - AVFilterLink* outlink = context->outputs[0]; >> > - AVFrame* out = ff_get_video_buffer(outlink, outlink->w, outlink->h); >> > + AVFilterContext *context = inlink->dst; >> > + SRContext *sr_context = context->priv; >> > + AVFilterLink *outlink = context->outputs[0]; >> > + AVFrame *out = ff_get_video_buffer(outlink, outlink->w, outlink->h); >> > ThreadData td; >> > int nb_threads; >> > DNNReturnType dnn_result; >> > @@ -307,9 +307,9 @@ static int filter_frame(AVFilterLink* inlink, >> AVFrame* in) >> > return ff_filter_frame(outlink, out); >> > } >> > >> > -static av_cold void uninit(AVFilterContext* context) >> > +static av_cold void uninit(AVFilterContext *context) >> > { >> > - SRContext* sr_context = context->priv; >> > + SRContext *sr_context = context->priv; >> > >> > if (sr_context->dnn_module){ >> > (sr_context->dnn_module->free_model)(&sr_context->model); >> > -- >> > 2.14.1 >> > >> > _______________________________________________ >> > ffmpeg-devel mailing list >> > ffmpeg-devel@ffmpeg.org >> > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel >> >> LGTM. >> I intend to push it by tomorrow. >> > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel >
Pushed. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel