summaryrefslogtreecommitdiff
path: root/libavfilter/dnn_backend_native.h
diff options
context:
space:
mode:
Diffstat (limited to 'libavfilter/dnn_backend_native.h')
-rw-r--r--libavfilter/dnn_backend_native.h34
1 files changed, 32 insertions, 2 deletions
diff --git a/libavfilter/dnn_backend_native.h b/libavfilter/dnn_backend_native.h
index adbb7088b4..51d4cac955 100644
--- a/libavfilter/dnn_backend_native.h
+++ b/libavfilter/dnn_backend_native.h
@@ -28,10 +28,40 @@
#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);