FFmpeg
Functions
dnn_backend_native_layer_avgpool.c File Reference
#include "libavutil/avassert.h"
#include "dnn_backend_native_layer_avgpool.h"

Go to the source code of this file.

Functions

int ff_dnn_load_layer_avg_pool (Layer *layer, AVIOContext *model_file_context, int file_size, int operands_num)
 Load Average Pooling Layer. More...
 
int ff_dnn_execute_layer_avg_pool (DnnOperand *operands, const int32_t *input_operand_indexes, int32_t output_operand_index, const void *parameters, NativeContext *ctx)
 Execute the Average Pooling Layer. More...
 

Detailed Description

DNN native backend implementation.

Definition in file dnn_backend_native_layer_avgpool.c.

Function Documentation

◆ ff_dnn_load_layer_avg_pool()

int ff_dnn_load_layer_avg_pool ( Layer layer,
AVIOContext model_file_context,
int  file_size,
int  operands_num 
)

Load Average Pooling Layer.

It assigns the Average Pooling layer with AvgPoolParams after parsing from the model file context.

Parameters
layerpointer to the DNN layer instance
model_file_contextpointer to model file context
file_sizemodel file size to check if data is read correctly from the model file
operands_numoperand count of the whole model to check if data is read correctly from the model file
Returns
number of bytes read from the model file
Return values
0if out of memory or an error occurs

Definition at line 29 of file dnn_backend_native_layer_avgpool.c.

◆ ff_dnn_execute_layer_avg_pool()

int ff_dnn_execute_layer_avg_pool ( DnnOperand operands,
const int32_t input_operand_indexes,
int32_t  output_operand_index,
const void *  parameters,
NativeContext ctx 
)

Execute the Average Pooling Layer.

Padding in channel dimensions is currently not supported.

Parameters
operandsall operands for the model
input_operand_indexesinput operand indexes for this layer
output_operand_indexoutput operand index for this layer
parametersaverage pooling parameters
ctxpointer to Native model context for logging
Return values
0if the execution succeeds
AVERROR(ENOMEM)if memory allocation fails
AVERROR(EINVAL)for invalid arguments

When padding_method = SAME, the tensorflow will only padding the hald number of 0 pixels except the remainders. Eg: assuming the input height = 1080, the strides = 11, so the remainders = 1080 % 11 = 2 and if ksize = 5: it will fill (5 - 2) >> 1 = 1 line before the first line of input image, and 5 - 2 - 1 = 2 lines after the last line of input image. and if ksize = 7: it will fill (7 - 2) >> 1 = 2 lines before the first line of input image, and 7 - 2 - 2 = 3 lines after the last line of input image.

Definition at line 58 of file dnn_backend_native_layer_avgpool.c.

Referenced by test_with_same(), and test_with_valid().