]> git.sesse.net Git - ffmpeg/blobdiff - libavfilter/dnn_backend_native.h
Merge commit '90b15f60bf4919deaed66d868e18107eba371da7'
[ffmpeg] / libavfilter / dnn_backend_native.h
index adbb7088b45312bade5254f3ce102ef423b4e548..51d4cac9553431730b48a9718d65047c7e913b75 100644 (file)
 #define AVFILTER_DNN_BACKEND_NATIVE_H
 
 #include "dnn_interface.h"
+#include "libavformat/avio.h"
 
-DNNModel *ff_dnn_load_model_native(const char *model_filename);
+typedef enum {INPUT, CONV, DEPTH_TO_SPACE} DNNLayerType;
+
+typedef enum {RELU, TANH, SIGMOID} DNNActivationFunc;
+
+typedef struct Layer{
+    DNNLayerType type;
+    float *output;
+    void *params;
+} Layer;
+
+typedef struct ConvolutionalParams{
+    int32_t input_num, output_num, kernel_size;
+    DNNActivationFunc activation;
+    float *kernel;
+    float *biases;
+} ConvolutionalParams;
 
-DNNModel *ff_dnn_load_default_model_native(DNNDefaultModel model_type);
+typedef struct InputParams{
+    int height, width, channels;
+} InputParams;
+
+typedef struct DepthToSpaceParams{
+    int block_size;
+} DepthToSpaceParams;
+
+// Represents simple feed-forward convolutional network.
+typedef struct ConvolutionalNetwork{
+    Layer *layers;
+    int32_t layers_num;
+} ConvolutionalNetwork;
+
+DNNModel *ff_dnn_load_model_native(const char *model_filename);
 
 DNNReturnType ff_dnn_execute_model_native(const DNNModel *model);