summaryrefslogtreecommitdiffstats
path: root/libavfilter/dnn/dnn_backend_native_layer_pad.c
diff options
context:
space:
mode:
authorGuo, Yejun <yejun.guo@intel.com>2019-10-09 22:08:18 +0800
committerPedro Arthur <bygrandao@gmail.com>2019-10-15 18:56:54 -0300
commit2558e62713ebc5f3ea22c1a28d8e9cf3249badaf (patch)
treec8b4dfe51ec30faa41f7327f15000d49c3f05c72 /libavfilter/dnn/dnn_backend_native_layer_pad.c
parent3fd5ac7e92049b4f31026acdb53a762289f71448 (diff)
downloadffmpeg-streaming-2558e62713ebc5f3ea22c1a28d8e9cf3249badaf.zip
ffmpeg-streaming-2558e62713ebc5f3ea22c1a28d8e9cf3249badaf.tar.gz
avfilter/dnn: unify the layer load function in native mode
Signed-off-by: Guo, Yejun <yejun.guo@intel.com> Signed-off-by: Pedro Arthur <bygrandao@gmail.com>
Diffstat (limited to 'libavfilter/dnn/dnn_backend_native_layer_pad.c')
-rw-r--r--libavfilter/dnn/dnn_backend_native_layer_pad.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/libavfilter/dnn/dnn_backend_native_layer_pad.c b/libavfilter/dnn/dnn_backend_native_layer_pad.c
index f5c5727..8fa35de 100644
--- a/libavfilter/dnn/dnn_backend_native_layer_pad.c
+++ b/libavfilter/dnn/dnn_backend_native_layer_pad.c
@@ -22,6 +22,29 @@
#include "libavutil/avassert.h"
#include "dnn_backend_native_layer_pad.h"
+int dnn_load_layer_pad(Layer *layer, AVIOContext *model_file_context, int file_size)
+{
+ LayerPadParams *params;
+ int dnn_size = 0;
+ params = av_malloc(sizeof(*params));
+ if (!params)
+ return 0;
+
+ params->mode = (int32_t)avio_rl32(model_file_context);
+ dnn_size += 4;
+ for (int i = 0; i < 4; ++i) {
+ params->paddings[i][0] = avio_rl32(model_file_context);
+ params->paddings[i][1] = avio_rl32(model_file_context);
+ dnn_size += 8;
+ }
+ layer->input_operand_indexes[0] = (int32_t)avio_rl32(model_file_context);
+ layer->output_operand_index = (int32_t)avio_rl32(model_file_context);
+ dnn_size += 8;
+ layer->params = params;
+
+ return dnn_size;
+}
+
static int before_get_buddy(int given, int paddings, LayerPadModeParam mode)
{
if (mode == LPMP_SYMMETRIC) {
OpenPOWER on IntegriCloud