From patchwork Thu Jan 21 21:39:52 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Thompson X-Patchwork-Id: 25057 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 916B844A469 for ; Thu, 21 Jan 2021 23:42:26 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 68DA7689E01; Thu, 21 Jan 2021 23:42:26 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D4E79687FCE for ; Thu, 21 Jan 2021 23:42:19 +0200 (EET) Received: by mail-wr1-f41.google.com with SMTP id m4so3170209wrx.9 for ; Thu, 21 Jan 2021 13:42:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jkqxz-net.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=ODgDAW/8RqqtsMimUhgK8DVUlJmPre5FwwXn2aXHh7c=; b=FyYJhJ5VJyakYBd8AKdgrSTaa3jZR+pKm5ktPSFffb5ja9X53+DSpEShECG/l9I93V BrYrDTZmWXcxumZpE+qyiLngMzncSOun4c9VNWq9H9D2VR56nhdDksAsDWWf13tD3k73 OEgUjrt0Ierb5fxoltufsS7DhL/eHERmU6Ga53ei7CttaPAcvP6LD6DEThh1kLIvBCzb JQKm1q8qIsxFBtnL0ZRX7hTpD6iHXhBHDcvuwVdHFmsolWS7OFApFiNu6RXVjiCI9vch ippAJ/CeXz4X8011Imzzbm5QszkNcQYKsPjpNQgizGNQnIk1ecwLJqRBVV8mM9JNv/1+ 2OaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=ODgDAW/8RqqtsMimUhgK8DVUlJmPre5FwwXn2aXHh7c=; b=CUOqTdsFbwUKfbRtnfbDoLdlWK+pXdvnQMeFWAj2HJ7NDeTqX+B+usRXP97yNrpKE1 R4kGoD5kHcyNZmK5fDaRWbAgL6XD2vsofGlnv7RVj5IIjwBArkyJkTHhrHPlLlrF7Dhb ii0vLATA2U6dJhw3GEQf8FfsqFIrHH9BFX7RYUTnn/BmXuPGfj7apaS6fgltpIrJBXto 315m5+VbHo0Dzj6OTTapohWKG676iDcbeq7vS5Vg8CEjp3R4gpXDnYIOMnKoy07oBh9a J/5TrG9fDBIVaRtfUYfYRGdifbHedVlIjpD2/cKlXUJqIcWhP263BAJnoMj3ls6IY71L Cz4w== X-Gm-Message-State: AOAM532ECNEaXp2zNCTJ9wzOVAyHg+QnXGwwGcl02emDhEDgiZv7S0iF QzWwGeNW4tdoifA12y0y395teN/GQeTGkw== X-Google-Smtp-Source: ABdhPJzGZaBN3+e+gUxE97q+jOJdTmAa7nCfzmYOgNona1054/eU2wJZ5qcpP3v8ZRPwBX9iy6/5rA== X-Received: by 2002:a5d:5146:: with SMTP id u6mr1406660wrt.46.1611265338675; Thu, 21 Jan 2021 13:42:18 -0800 (PST) Received: from localhost.localdomain (cpc91226-cmbg18-2-0-cust7.5-4.cable.virginm.net. [82.0.29.8]) by smtp.gmail.com with ESMTPSA id x10sm1895106wrt.84.2021.01.21.13.42.17 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Jan 2021 13:42:18 -0800 (PST) From: Mark Thompson To: ffmpeg-devel@ffmpeg.org Date: Thu, 21 Jan 2021 21:39:52 +0000 Message-Id: <20210121213956.991629-1-sw@jkqxz.net> X-Mailer: git-send-email 2.29.2 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/5] dnn: Delete unused global variable X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" --- libavfilter/dnn/dnn_backend_native_layer_mathbinary.c | 1 - 1 file changed, 1 deletion(-) diff --git a/libavfilter/dnn/dnn_backend_native_layer_mathbinary.c b/libavfilter/dnn/dnn_backend_native_layer_mathbinary.c index 998a75245c..fc48242093 100644 --- a/libavfilter/dnn/dnn_backend_native_layer_mathbinary.c +++ b/libavfilter/dnn/dnn_backend_native_layer_mathbinary.c @@ -28,7 +28,6 @@ #include "dnn_backend_native_layer_mathbinary.h" typedef float (*FunType)(float src0, float src1); -FunType pfun; static float sub(float src0, float src1) { From patchwork Thu Jan 21 21:39:53 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Thompson X-Patchwork-Id: 25058 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 9FA3744A469 for ; Thu, 21 Jan 2021 23:42:27 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 896BA689DE2; Thu, 21 Jan 2021 23:42:27 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4FC1D687FCE for ; Thu, 21 Jan 2021 23:42:20 +0200 (EET) Received: by mail-wr1-f48.google.com with SMTP id v15so3174964wrx.4 for ; Thu, 21 Jan 2021 13:42:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jkqxz-net.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=tyuxTir2GI/bI0h0cZEazTugV9xQmBKmEkSoTpdnr/w=; b=FiCb3aoM6wWbies/XqUovireOtoaLZijEX1N//vC33Ce7TsziX17Nv6ynYMBp56wkM YOVKBpwjRH1xJ8Rb0AzUKySb6H4GOIrMckfWUEjQlzsC3r6s8Pg9QcyJ5nGuNe0xavY0 IIOLAzY/9Lf02TECnRq4VQ37M9FMo44cug+fTwzC1hhrj2KJYVge9T/ElKTiEGQQOAf/ 76jtPG/F3wbE6ukUesvF4FmkZ8kBO0cmkghrJflOVH9mPs4XYl9CT1N2bi5ARtKYEUml y7KTqzzqWxv6tPJUDLZfcX2D0XNEoOOOD2ZBVedILknyjL6rhznt1nC+uwqzeVnFD10I 7xHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=tyuxTir2GI/bI0h0cZEazTugV9xQmBKmEkSoTpdnr/w=; b=WNys1njfv5TLkn+aGgmtNtD/jelVgau3eUQBrXE2DHFhyGLQmEaKaN9U/KuLMHcueE tRwEqPJrhW061nB/0m2eKhJwEI5c89fSELbqqcoj/TjvsggnafV78oqzWdSPRbKTNN1n 9WSVWkPFSlmmV/wEf2WjOOkCMLuG751arCLELj1J4OPaoCEyFb1AJDMWYaHAz6IHBidD sWjujTrPIk9k7zy66a1pKO7hC2wbO5GNlan0CTnJ9/91Kix2LfNFf4A1gIG8wy9N5Qee J3FY6wy8/dFuaNfaihH2rEpAcsSo/mVhTw6sPRaXNRia5+DAHjylD7Bc/YjobllRwHKr Zkcw== X-Gm-Message-State: AOAM533rkGZBdcp78AlJrRMe6TyLoVDEPNSk0jkEudtapVBbQRlfAX6m +9Gx7yAaPyPux376ubTbSAv4BrWMeHntfQ== X-Google-Smtp-Source: ABdhPJwZE0zO/7Q41cc6K0jfUWHr/yqDs0xHipM0xvoGnhMwFnhpGg56HZ7ZiE98Eufhlv4+YLtZWg== X-Received: by 2002:adf:e80d:: with SMTP id o13mr1341488wrm.293.1611265339581; Thu, 21 Jan 2021 13:42:19 -0800 (PST) Received: from localhost.localdomain (cpc91226-cmbg18-2-0-cust7.5-4.cable.virginm.net. [82.0.29.8]) by smtp.gmail.com with ESMTPSA id x10sm1895106wrt.84.2021.01.21.13.42.18 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Jan 2021 13:42:19 -0800 (PST) From: Mark Thompson To: ffmpeg-devel@ffmpeg.org Date: Thu, 21 Jan 2021 21:39:53 +0000 Message-Id: <20210121213956.991629-2-sw@jkqxz.net> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210121213956.991629-1-sw@jkqxz.net> References: <20210121213956.991629-1-sw@jkqxz.net> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/5] dnn: Add missing static to local variable X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" --- libavfilter/dnn/dnn_backend_native.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavfilter/dnn/dnn_backend_native.c b/libavfilter/dnn/dnn_backend_native.c index 5e7fc0f10c..ffb79dc000 100644 --- a/libavfilter/dnn/dnn_backend_native.c +++ b/libavfilter/dnn/dnn_backend_native.c @@ -36,7 +36,7 @@ static const AVOption dnn_native_options[] = { { NULL }, }; -const AVClass dnn_native_class = { +static const AVClass dnn_native_class = { .class_name = "dnn_native", .item_name = av_default_item_name, .option = dnn_native_options, From patchwork Thu Jan 21 21:39:54 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Thompson X-Patchwork-Id: 25059 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id AC1EF44A469 for ; Thu, 21 Jan 2021 23:42:29 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 977B0689E84; Thu, 21 Jan 2021 23:42:29 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f45.google.com (mail-wr1-f45.google.com [209.85.221.45]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3E5D0689D8E for ; Thu, 21 Jan 2021 23:42:21 +0200 (EET) Received: by mail-wr1-f45.google.com with SMTP id m1so2488656wrq.12 for ; Thu, 21 Jan 2021 13:42:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jkqxz-net.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=hXTDBRibOqkd4axE5E6zbNzZ2JjYGXUibQlEgc8mjCQ=; b=ihjsUpHzvSOI8vwSvF/C17MyTVjnrqtrQTcMuuY0KsL/MBGkuy5WiNXbJ1WmLV8HUK fpBcIb/CxZ++FaAf0jVDx7iyE5N7ooqWD+gRqdTpIZezMVT95CDy2QhtPmBhcdI8RZEX UbNwSRL5immkozQY5mQxUx8d9tDU4v25/+45Fhy8M7d83rgsx0l7S6+SEN3+mgRVYCkG bwnc1nBJ5mv50Zyq866wMwUAB3/XrybuvRaRI3l/zEwhoY/8eYKaXARbQe+dCtq/yxRR ondsrvReDRe8AzqAi4vcwwePb4+4IMlulHu2K4Uhl76J9BGhCMdP5SHfbtRNCMtv/BMM UnNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=hXTDBRibOqkd4axE5E6zbNzZ2JjYGXUibQlEgc8mjCQ=; b=hl/wTCeq0YIAIC/bZm/xBDwOLVrio1R7atkLl8qcz4pkMR41DlGUD+U47d+Y+3LIbg Shs1t5ls4O+n9pB39cikYgcPqGHiEYaoIWvH9LVp67TNMc6OpHPpON9rEHwhTmc9LxGR ZfJ49hJOLyh/DIfjecbeLZ8g0j1uzC+cOJjG/rqc755DZmcjLt4XvKbEjiSNu1OeLwii 0WzSsFgfzyY77VtMR6SOO6nwJE8AyBAKKNhaWVb8wvYtEhh2mR+W+p0MhCnfLh5DT8r9 2Sa/P013ALCe3SIXG4nPOzDkw3iGDGLFMNiyLdJHKIsJQhb3KjAadPPcA5Pe0lI3iz83 L9Sg== X-Gm-Message-State: AOAM530YPqbAcftStt+jOIz9m7gOlbuPSjXqha/wA4r7X7kd9dIkFNGx /Fkil6ohCbCrHesV5dY4apFDuKhNNP0YuA== X-Google-Smtp-Source: ABdhPJxCg82kPN+TCb9I6RTIsjqfxSwvIN2FYl9IYsFdZX0FUu5EmQqw0swiUVbR8VMy46sr5UquhQ== X-Received: by 2002:a5d:6c6b:: with SMTP id r11mr1420503wrz.38.1611265340478; Thu, 21 Jan 2021 13:42:20 -0800 (PST) Received: from localhost.localdomain (cpc91226-cmbg18-2-0-cust7.5-4.cable.virginm.net. [82.0.29.8]) by smtp.gmail.com with ESMTPSA id x10sm1895106wrt.84.2021.01.21.13.42.19 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Jan 2021 13:42:19 -0800 (PST) From: Mark Thompson To: ffmpeg-devel@ffmpeg.org Date: Thu, 21 Jan 2021 21:39:54 +0000 Message-Id: <20210121213956.991629-3-sw@jkqxz.net> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210121213956.991629-1-sw@jkqxz.net> References: <20210121213956.991629-1-sw@jkqxz.net> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 3/5] libavfilter/dnn: add prefix ff_ for internal functions X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: "Guo, Yejun" from proc_from_frame_to_dnn to ff_proc_from_frame_to_dnn, and from proc_from_dnn_to_frame to ff_proc_from_dnn_to_frame. Signed-off-by: Guo, Yejun --- This was sent a few days ago to fix some of these issues, and is included here because it is needed for the test in 5/5 to pass. libavfilter/dnn/dnn_backend_native.c | 4 ++-- libavfilter/dnn/dnn_backend_openvino.c | 4 ++-- libavfilter/dnn/dnn_backend_tf.c | 4 ++-- libavfilter/dnn/dnn_io_proc.c | 4 ++-- libavfilter/dnn/dnn_io_proc.h | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/libavfilter/dnn/dnn_backend_native.c b/libavfilter/dnn/dnn_backend_native.c index ffb79dc000..0094ec5444 100644 --- a/libavfilter/dnn/dnn_backend_native.c +++ b/libavfilter/dnn/dnn_backend_native.c @@ -320,7 +320,7 @@ static DNNReturnType execute_model_native(const DNNModel *model, const char *inp if (native_model->model->pre_proc != NULL) { native_model->model->pre_proc(in_frame, &input, native_model->model->filter_ctx); } else { - proc_from_frame_to_dnn(in_frame, &input, ctx); + ff_proc_from_frame_to_dnn(in_frame, &input, ctx); } } @@ -368,7 +368,7 @@ static DNNReturnType execute_model_native(const DNNModel *model, const char *inp if (native_model->model->post_proc != NULL) { native_model->model->post_proc(out_frame, &output, native_model->model->filter_ctx); } else { - proc_from_dnn_to_frame(out_frame, &output, ctx); + ff_proc_from_dnn_to_frame(out_frame, &output, ctx); } } else { out_frame->width = output.width; diff --git a/libavfilter/dnn/dnn_backend_openvino.c b/libavfilter/dnn/dnn_backend_openvino.c index 8a7abb33f0..d5b83cef97 100644 --- a/libavfilter/dnn/dnn_backend_openvino.c +++ b/libavfilter/dnn/dnn_backend_openvino.c @@ -160,7 +160,7 @@ static DNNReturnType fill_model_input_ov(OVModel *ov_model, RequestItem *request if (ov_model->model->pre_proc != NULL) { ov_model->model->pre_proc(task->in_frame, &input, ov_model->model->filter_ctx); } else { - proc_from_frame_to_dnn(task->in_frame, &input, ctx); + ff_proc_from_frame_to_dnn(task->in_frame, &input, ctx); } } input.data = (uint8_t *)input.data @@ -228,7 +228,7 @@ static void infer_completion_callback(void *args) if (task->ov_model->model->post_proc != NULL) { task->ov_model->model->post_proc(task->out_frame, &output, task->ov_model->model->filter_ctx); } else { - proc_from_dnn_to_frame(task->out_frame, &output, ctx); + ff_proc_from_dnn_to_frame(task->out_frame, &output, ctx); } } else { task->out_frame->width = output.width; diff --git a/libavfilter/dnn/dnn_backend_tf.c b/libavfilter/dnn/dnn_backend_tf.c index b9fe01693b..81a55bfed5 100644 --- a/libavfilter/dnn/dnn_backend_tf.c +++ b/libavfilter/dnn/dnn_backend_tf.c @@ -743,7 +743,7 @@ static DNNReturnType execute_model_tf(const DNNModel *model, const char *input_n if (tf_model->model->pre_proc != NULL) { tf_model->model->pre_proc(in_frame, &input, tf_model->model->filter_ctx); } else { - proc_from_frame_to_dnn(in_frame, &input, ctx); + ff_proc_from_frame_to_dnn(in_frame, &input, ctx); } } @@ -800,7 +800,7 @@ static DNNReturnType execute_model_tf(const DNNModel *model, const char *input_n if (tf_model->model->post_proc != NULL) { tf_model->model->post_proc(out_frame, &output, tf_model->model->filter_ctx); } else { - proc_from_dnn_to_frame(out_frame, &output, ctx); + ff_proc_from_dnn_to_frame(out_frame, &output, ctx); } } else { out_frame->width = output.width; diff --git a/libavfilter/dnn/dnn_io_proc.c b/libavfilter/dnn/dnn_io_proc.c index 2744cb6502..3ed8a98a39 100644 --- a/libavfilter/dnn/dnn_io_proc.c +++ b/libavfilter/dnn/dnn_io_proc.c @@ -22,7 +22,7 @@ #include "libavutil/imgutils.h" #include "libswscale/swscale.h" -DNNReturnType proc_from_dnn_to_frame(AVFrame *frame, DNNData *output, void *log_ctx) +DNNReturnType ff_proc_from_dnn_to_frame(AVFrame *frame, DNNData *output, void *log_ctx) { struct SwsContext *sws_ctx; int bytewidth = av_image_get_linesize(frame->format, frame->width, 0); @@ -93,7 +93,7 @@ DNNReturnType proc_from_dnn_to_frame(AVFrame *frame, DNNData *output, void *log_ return DNN_SUCCESS; } -DNNReturnType proc_from_frame_to_dnn(AVFrame *frame, DNNData *input, void *log_ctx) +DNNReturnType ff_proc_from_frame_to_dnn(AVFrame *frame, DNNData *input, void *log_ctx) { struct SwsContext *sws_ctx; int bytewidth = av_image_get_linesize(frame->format, frame->width, 0); diff --git a/libavfilter/dnn/dnn_io_proc.h b/libavfilter/dnn/dnn_io_proc.h index 4c7dc7c1a2..6a410ccc7b 100644 --- a/libavfilter/dnn/dnn_io_proc.h +++ b/libavfilter/dnn/dnn_io_proc.h @@ -30,7 +30,7 @@ #include "../dnn_interface.h" #include "libavutil/frame.h" -DNNReturnType proc_from_frame_to_dnn(AVFrame *frame, DNNData *input, void *log_ctx); -DNNReturnType proc_from_dnn_to_frame(AVFrame *frame, DNNData *output, void *log_ctx); +DNNReturnType ff_proc_from_frame_to_dnn(AVFrame *frame, DNNData *input, void *log_ctx); +DNNReturnType ff_proc_from_dnn_to_frame(AVFrame *frame, DNNData *output, void *log_ctx); #endif From patchwork Thu Jan 21 21:39:55 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Thompson X-Patchwork-Id: 25060 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id BCD0944A469 for ; Thu, 21 Jan 2021 23:42:30 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9E8EE689EC4; Thu, 21 Jan 2021 23:42:30 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.52]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7FF54687FCE for ; Thu, 21 Jan 2021 23:42:22 +0200 (EET) Received: by mail-wr1-f52.google.com with SMTP id b5so3162670wrr.10 for ; Thu, 21 Jan 2021 13:42:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jkqxz-net.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=zC9cojmjDJyAJBL6QjHpEnKToZSnygjdzpktri8LgLs=; b=y30uZ9l+NEL6p0T/UDEPsvf7Zp7I4Sf/0cxeKDU0KDVohXlFu2KviLZqoUmj+4m4mt RPDFetH/7XBRmn0WlnniyIil32NNGskH/B52+DaXS/Z/LU+NSQfcZHBoOK7btkbGj8DL ufsHQH96Lg2oFd1LSjT5wPsSKPZ0oFWE/gYEx/WkNV8BoAlKbnRCbpJXyPPOyAjaJwd0 UNljWGWNTJH6KgRLv+OKLgL65CRTmxTx7qUmW+SZTieBGthpO5bu/wb+1RdM2srsCUuA xdUUgEG7L/g+Pd5QmSgVXTt71pEUhm2rLRLaEuTpWiXV+HJ4Clk6eiNetZ94P/PrY85a RdWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=zC9cojmjDJyAJBL6QjHpEnKToZSnygjdzpktri8LgLs=; b=UU/T8eoqeDnRSBWv7ZaXzZXTyxwh7MgQK+3J6S7ykJWD5I9M+42Y00UALe5m66pmJV R8tJ0IjiFvqqHVoV7ZuhSX+OjCyWuTRymd0DkICHaHizPqY7SGiTK1thcGCm0Sb9ds6U V22DtFwHpL5IAo7aoJZFARgIza2s8uHYh1J5luqEkol8q4B7GjU0NHCEAjEQfCvX8dPS aS01vIw0R04w+EcdboUux6twdm7qBRKFQyNGxljgb0LyD6qUJUDp9xiaJ4ekp0p43VF4 HQO3q6XsFPB4HFrIlJ11JPXVmvg50YLRTd5y9wd1dFtONRTVbvRqkluoAENhlgR/fbpi SoZA== X-Gm-Message-State: AOAM530kzPb8w+RoKFfMRbtsufvSDG/8vfSZr6vLmZZOl3CWXAh5wezu NsA7ICxSgBctlOVF7BCZlKLk2qpNYT8rEw== X-Google-Smtp-Source: ABdhPJwcPfO/70bSeOVDn3xphXXsipl6YoR/DzWnb/9PQqLMKcZ4/4QxiYbMb3N9BbIb6f2NeT4h7w== X-Received: by 2002:adf:d4ce:: with SMTP id w14mr1317561wrk.89.1611265341407; Thu, 21 Jan 2021 13:42:21 -0800 (PST) Received: from localhost.localdomain (cpc91226-cmbg18-2-0-cust7.5-4.cable.virginm.net. [82.0.29.8]) by smtp.gmail.com with ESMTPSA id x10sm1895106wrt.84.2021.01.21.13.42.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Jan 2021 13:42:20 -0800 (PST) From: Mark Thompson To: ffmpeg-devel@ffmpeg.org Date: Thu, 21 Jan 2021 21:39:55 +0000 Message-Id: <20210121213956.991629-4-sw@jkqxz.net> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210121213956.991629-1-sw@jkqxz.net> References: <20210121213956.991629-1-sw@jkqxz.net> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 4/5] dnn: Add ff_ prefix to unnamespaced globals X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" --- libavfilter/dnn/dnn_backend_native.c | 10 +++++----- libavfilter/dnn/dnn_backend_native.h | 4 ++-- .../dnn/dnn_backend_native_layer_avgpool.c | 8 ++++---- .../dnn/dnn_backend_native_layer_avgpool.h | 6 +++--- .../dnn/dnn_backend_native_layer_conv2d.c | 8 ++++---- .../dnn/dnn_backend_native_layer_conv2d.h | 6 +++--- .../dnn/dnn_backend_native_layer_dense.c | 8 ++++---- .../dnn/dnn_backend_native_layer_dense.h | 6 +++--- .../dnn/dnn_backend_native_layer_depth2space.c | 8 ++++---- .../dnn/dnn_backend_native_layer_depth2space.h | 6 +++--- .../dnn/dnn_backend_native_layer_mathbinary.c | 12 ++++++------ .../dnn/dnn_backend_native_layer_mathbinary.h | 6 +++--- .../dnn/dnn_backend_native_layer_mathunary.c | 10 +++++----- .../dnn/dnn_backend_native_layer_mathunary.h | 6 +++--- .../dnn/dnn_backend_native_layer_maximum.c | 10 +++++----- .../dnn/dnn_backend_native_layer_maximum.h | 6 +++--- libavfilter/dnn/dnn_backend_native_layer_pad.c | 8 ++++---- libavfilter/dnn/dnn_backend_native_layer_pad.h | 6 +++--- libavfilter/dnn/dnn_backend_native_layers.c | 18 +++++++++--------- libavfilter/dnn/dnn_backend_native_layers.h | 2 +- 20 files changed, 77 insertions(+), 77 deletions(-) diff --git a/libavfilter/dnn/dnn_backend_native.c b/libavfilter/dnn/dnn_backend_native.c index 0094ec5444..924f5a44ad 100644 --- a/libavfilter/dnn/dnn_backend_native.c +++ b/libavfilter/dnn/dnn_backend_native.c @@ -208,7 +208,7 @@ DNNModel *ff_dnn_load_model_native(const char *model_filename, const char *optio } native_model->layers[layer].type = layer_type; - parsed_size = layer_funcs[layer_type].pf_load(&native_model->layers[layer], model_file_context, file_size, native_model->operands_num); + parsed_size = ff_layer_funcs[layer_type].pf_load(&native_model->layers[layer], model_file_context, file_size, native_model->operands_num); if (!parsed_size) { goto fail; } @@ -300,7 +300,7 @@ static DNNReturnType execute_model_native(const DNNModel *model, const char *inp oprd->dims[2] = in_frame->width; av_freep(&oprd->data); - oprd->length = calculate_operand_data_length(oprd); + oprd->length = ff_calculate_operand_data_length(oprd); if (oprd->length <= 0) { av_log(ctx, AV_LOG_ERROR, "The input data length overflow\n"); return DNN_ERROR; @@ -333,7 +333,7 @@ static DNNReturnType execute_model_native(const DNNModel *model, const char *inp for (layer = 0; layer < native_model->layers_num; ++layer){ DNNLayerType layer_type = native_model->layers[layer].type; - if (layer_funcs[layer_type].pf_exec(native_model->operands, + if (ff_layer_funcs[layer_type].pf_exec(native_model->operands, native_model->layers[layer].input_operand_indexes, native_model->layers[layer].output_operand_index, native_model->layers[layer].params, @@ -398,7 +398,7 @@ DNNReturnType ff_dnn_execute_model_native(const DNNModel *model, const char *inp return execute_model_native(model, input_name, in_frame, output_names, nb_output, out_frame, 1); } -int32_t calculate_operand_dims_count(const DnnOperand *oprd) +int32_t ff_calculate_operand_dims_count(const DnnOperand *oprd) { int32_t result = 1; for (int i = 0; i < 4; ++i) @@ -407,7 +407,7 @@ int32_t calculate_operand_dims_count(const DnnOperand *oprd) return result; } -int32_t calculate_operand_data_length(const DnnOperand* oprd) +int32_t ff_calculate_operand_data_length(const DnnOperand* oprd) { // currently, we just support DNN_FLOAT uint64_t len = sizeof(float); diff --git a/libavfilter/dnn/dnn_backend_native.h b/libavfilter/dnn/dnn_backend_native.h index 5acdbe0da7..5c8ce82b35 100644 --- a/libavfilter/dnn/dnn_backend_native.h +++ b/libavfilter/dnn/dnn_backend_native.h @@ -137,6 +137,6 @@ void ff_dnn_free_model_native(DNNModel **model); // NOTE: User must check for error (return value <= 0) to handle // case like integer overflow. -int32_t calculate_operand_data_length(const DnnOperand *oprd); -int32_t calculate_operand_dims_count(const DnnOperand *oprd); +int32_t ff_calculate_operand_data_length(const DnnOperand *oprd); +int32_t ff_calculate_operand_dims_count(const DnnOperand *oprd); #endif diff --git a/libavfilter/dnn/dnn_backend_native_layer_avgpool.c b/libavfilter/dnn/dnn_backend_native_layer_avgpool.c index 989006d797..8164bb45a6 100644 --- a/libavfilter/dnn/dnn_backend_native_layer_avgpool.c +++ b/libavfilter/dnn/dnn_backend_native_layer_avgpool.c @@ -26,7 +26,7 @@ #include "libavutil/avassert.h" #include "dnn_backend_native_layer_avgpool.h" -int dnn_load_layer_avg_pool(Layer *layer, AVIOContext *model_file_context, int file_size, int operands_num) +int ff_dnn_load_layer_avg_pool(Layer *layer, AVIOContext *model_file_context, int file_size, int operands_num) { AvgPoolParams *avgpool_params; int dnn_size = 0; @@ -55,8 +55,8 @@ int dnn_load_layer_avg_pool(Layer *layer, AVIOContext *model_file_context, int f return dnn_size; } -int dnn_execute_layer_avg_pool(DnnOperand *operands, const int32_t *input_operand_indexes, - int32_t output_operand_index, const void *parameters, NativeContext *ctx) +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) { float *output; int height_end, width_end, height_radius, width_radius, output_height, output_width, kernel_area; @@ -106,7 +106,7 @@ int dnn_execute_layer_avg_pool(DnnOperand *operands, const int32_t *input_operan // not support pooling in channel dimension now output_operand->dims[3] = channel; output_operand->data_type = operands[input_operand_index].data_type; - output_operand->length = calculate_operand_data_length(output_operand); + output_operand->length = ff_calculate_operand_data_length(output_operand); if (output_operand->length <= 0) { av_log(ctx, AV_LOG_ERROR, "The output data length overflow\n"); return DNN_ERROR; diff --git a/libavfilter/dnn/dnn_backend_native_layer_avgpool.h b/libavfilter/dnn/dnn_backend_native_layer_avgpool.h index 543370ff3b..75d9eb187b 100644 --- a/libavfilter/dnn/dnn_backend_native_layer_avgpool.h +++ b/libavfilter/dnn/dnn_backend_native_layer_avgpool.h @@ -33,8 +33,8 @@ typedef struct AvgPoolParams{ DNNPaddingParam padding_method; } AvgPoolParams; -int dnn_load_layer_avg_pool(Layer *layer, AVIOContext *model_file_context, int file_size, int operands_num); -int dnn_execute_layer_avg_pool(DnnOperand *operands, const int32_t *input_operand_indexes, - int32_t output_operand_index, const void *parameters, NativeContext *ctx); +int ff_dnn_load_layer_avg_pool(Layer *layer, AVIOContext *model_file_context, int file_size, int operands_num); +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); #endif diff --git a/libavfilter/dnn/dnn_backend_native_layer_conv2d.c b/libavfilter/dnn/dnn_backend_native_layer_conv2d.c index 0fb968a1fc..549984df49 100644 --- a/libavfilter/dnn/dnn_backend_native_layer_conv2d.c +++ b/libavfilter/dnn/dnn_backend_native_layer_conv2d.c @@ -40,7 +40,7 @@ typedef struct thread_param{ int thread_start, thread_end; } thread_param; -int dnn_load_layer_conv2d(Layer *layer, AVIOContext *model_file_context, int file_size, int operands_num) +int ff_dnn_load_layer_conv2d(Layer *layer, AVIOContext *model_file_context, int file_size, int operands_num) { ConvolutionalParams *conv_params; int kernel_size; @@ -181,8 +181,8 @@ static void * dnn_execute_layer_conv2d_thread(void *threadarg) } -int dnn_execute_layer_conv2d(DnnOperand *operands, const int32_t *input_operand_indexes, - int32_t output_operand_index, const void *parameters, NativeContext *ctx) +int ff_dnn_execute_layer_conv2d(DnnOperand *operands, const int32_t *input_operand_indexes, + int32_t output_operand_index, const void *parameters, NativeContext *ctx) { int thread_num = (ctx->options.conv2d_threads <= 0 || ctx->options.conv2d_threads > av_cpu_count()) ? (av_cpu_count() + 1) : (ctx->options.conv2d_threads); @@ -203,7 +203,7 @@ int dnn_execute_layer_conv2d(DnnOperand *operands, const int32_t *input_operand_ output_operand->dims[2] = width - pad_size * 2; output_operand->dims[3] = conv_params->output_num; output_operand->data_type = operands[input_operand_indexes[0]].data_type; - output_operand->length = calculate_operand_data_length(output_operand); + output_operand->length = ff_calculate_operand_data_length(output_operand); if (output_operand->length <= 0) { av_log(ctx, AV_LOG_ERROR, "The output data length overflow\n"); return DNN_ERROR; diff --git a/libavfilter/dnn/dnn_backend_native_layer_conv2d.h b/libavfilter/dnn/dnn_backend_native_layer_conv2d.h index 1295028c46..03ca795c61 100644 --- a/libavfilter/dnn/dnn_backend_native_layer_conv2d.h +++ b/libavfilter/dnn/dnn_backend_native_layer_conv2d.h @@ -34,7 +34,7 @@ typedef struct ConvolutionalParams{ float *biases; } ConvolutionalParams; -int dnn_load_layer_conv2d(Layer *layer, AVIOContext *model_file_context, int file_size, int operands_num); -int dnn_execute_layer_conv2d(DnnOperand *operands, const int32_t *input_operand_indexes, - int32_t output_operand_index, const void *parameters, NativeContext *ctx); +int ff_dnn_load_layer_conv2d(Layer *layer, AVIOContext *model_file_context, int file_size, int operands_num); +int ff_dnn_execute_layer_conv2d(DnnOperand *operands, const int32_t *input_operand_indexes, + int32_t output_operand_index, const void *parameters, NativeContext *ctx); #endif diff --git a/libavfilter/dnn/dnn_backend_native_layer_dense.c b/libavfilter/dnn/dnn_backend_native_layer_dense.c index 1029137792..8629b52cfb 100644 --- a/libavfilter/dnn/dnn_backend_native_layer_dense.c +++ b/libavfilter/dnn/dnn_backend_native_layer_dense.c @@ -21,7 +21,7 @@ #include "libavutil/avassert.h" #include "dnn_backend_native_layer_dense.h" -int dnn_load_layer_dense(Layer *layer, AVIOContext *model_file_context, int file_size, int operands_num) +int ff_dnn_load_layer_dense(Layer *layer, AVIOContext *model_file_context, int file_size, int operands_num) { DenseParams *dense_params; int kernel_size; @@ -82,8 +82,8 @@ int dnn_load_layer_dense(Layer *layer, AVIOContext *model_file_context, int file return dnn_size; } -int dnn_execute_layer_dense(DnnOperand *operands, const int32_t *input_operand_indexes, - int32_t output_operand_index, const void *parameters, NativeContext *ctx) +int ff_dnn_execute_layer_dense(DnnOperand *operands, const int32_t *input_operand_indexes, + int32_t output_operand_index, const void *parameters, NativeContext *ctx) { float *output; int32_t input_operand_index = input_operand_indexes[0]; @@ -101,7 +101,7 @@ int dnn_execute_layer_dense(DnnOperand *operands, const int32_t *input_operand_i output_operand->dims[2] = width; output_operand->dims[3] = dense_params->output_num; output_operand->data_type = operands[input_operand_index].data_type; - output_operand->length = calculate_operand_data_length(output_operand); + output_operand->length = ff_calculate_operand_data_length(output_operand); if (output_operand->length <= 0) { av_log(ctx, AV_LOG_ERROR, "The output data length overflow\n"); return DNN_ERROR; diff --git a/libavfilter/dnn/dnn_backend_native_layer_dense.h b/libavfilter/dnn/dnn_backend_native_layer_dense.h index f98284b154..86248856ae 100644 --- a/libavfilter/dnn/dnn_backend_native_layer_dense.h +++ b/libavfilter/dnn/dnn_backend_native_layer_dense.h @@ -31,7 +31,7 @@ typedef struct DenseParams{ float *biases; } DenseParams; -int dnn_load_layer_dense(Layer *layer, AVIOContext *model_file_context, int file_size, int operands_num); -int dnn_execute_layer_dense(DnnOperand *operands, const int32_t *input_operand_indexes, - int32_t output_operand_index, const void *parameters, NativeContext *ctx); +int ff_dnn_load_layer_dense(Layer *layer, AVIOContext *model_file_context, int file_size, int operands_num); +int ff_dnn_execute_layer_dense(DnnOperand *operands, const int32_t *input_operand_indexes, + int32_t output_operand_index, const void *parameters, NativeContext *ctx); #endif diff --git a/libavfilter/dnn/dnn_backend_native_layer_depth2space.c b/libavfilter/dnn/dnn_backend_native_layer_depth2space.c index 4107ee6cae..26942eb3ab 100644 --- a/libavfilter/dnn/dnn_backend_native_layer_depth2space.c +++ b/libavfilter/dnn/dnn_backend_native_layer_depth2space.c @@ -27,7 +27,7 @@ #include "libavutil/avassert.h" #include "dnn_backend_native_layer_depth2space.h" -int dnn_load_layer_depth2space(Layer *layer, AVIOContext *model_file_context, int file_size, int operands_num) +int ff_dnn_load_layer_depth2space(Layer *layer, AVIOContext *model_file_context, int file_size, int operands_num) { DepthToSpaceParams *params; int dnn_size = 0; @@ -49,8 +49,8 @@ int dnn_load_layer_depth2space(Layer *layer, AVIOContext *model_file_context, in return dnn_size; } -int dnn_execute_layer_depth2space(DnnOperand *operands, const int32_t *input_operand_indexes, - int32_t output_operand_index, const void *parameters, NativeContext *ctx) +int ff_dnn_execute_layer_depth2space(DnnOperand *operands, const int32_t *input_operand_indexes, + int32_t output_operand_index, const void *parameters, NativeContext *ctx) { float *output; const DepthToSpaceParams *params = (const DepthToSpaceParams *)parameters; @@ -74,7 +74,7 @@ int dnn_execute_layer_depth2space(DnnOperand *operands, const int32_t *input_ope output_operand->dims[2] = width * block_size; output_operand->dims[3] = new_channels; output_operand->data_type = operands[input_operand_index].data_type; - output_operand->length = calculate_operand_data_length(output_operand); + output_operand->length = ff_calculate_operand_data_length(output_operand); if (output_operand->length <= 0) { av_log(ctx, AV_LOG_ERROR, "The output data length overflow\n"); return DNN_ERROR; diff --git a/libavfilter/dnn/dnn_backend_native_layer_depth2space.h b/libavfilter/dnn/dnn_backend_native_layer_depth2space.h index 648a927f2d..ef59394443 100644 --- a/libavfilter/dnn/dnn_backend_native_layer_depth2space.h +++ b/libavfilter/dnn/dnn_backend_native_layer_depth2space.h @@ -34,8 +34,8 @@ typedef struct DepthToSpaceParams{ int block_size; } DepthToSpaceParams; -int dnn_load_layer_depth2space(Layer *layer, AVIOContext *model_file_context, int file_size, int operands_num); -int dnn_execute_layer_depth2space(DnnOperand *operands, const int32_t *input_operand_indexes, - int32_t output_operand_index, const void *parameters, NativeContext *ctx); +int ff_dnn_load_layer_depth2space(Layer *layer, AVIOContext *model_file_context, int file_size, int operands_num); +int ff_dnn_execute_layer_depth2space(DnnOperand *operands, const int32_t *input_operand_indexes, + int32_t output_operand_index, const void *parameters, NativeContext *ctx); #endif diff --git a/libavfilter/dnn/dnn_backend_native_layer_mathbinary.c b/libavfilter/dnn/dnn_backend_native_layer_mathbinary.c index fc48242093..2a23bfaa77 100644 --- a/libavfilter/dnn/dnn_backend_native_layer_mathbinary.c +++ b/libavfilter/dnn/dnn_backend_native_layer_mathbinary.c @@ -59,7 +59,7 @@ static void math_binary_commutative(FunType pfun, const DnnLayerMathBinaryParams int dims_count; const float *src; float *dst; - dims_count = calculate_operand_dims_count(output); + dims_count = ff_calculate_operand_dims_count(output); src = input->data; dst = output->data; if (params->input0_broadcast || params->input1_broadcast) { @@ -79,7 +79,7 @@ static void math_binary_not_commutative(FunType pfun, const DnnLayerMathBinaryPa int dims_count; const float *src; float *dst; - dims_count = calculate_operand_dims_count(output); + dims_count = ff_calculate_operand_dims_count(output); src = input->data; dst = output->data; if (params->input0_broadcast) { @@ -98,7 +98,7 @@ static void math_binary_not_commutative(FunType pfun, const DnnLayerMathBinaryPa } } } -int dnn_load_layer_math_binary(Layer *layer, AVIOContext *model_file_context, int file_size, int operands_num) +int ff_dnn_load_layer_math_binary(Layer *layer, AVIOContext *model_file_context, int file_size, int operands_num) { DnnLayerMathBinaryParams *params; int dnn_size = 0; @@ -147,8 +147,8 @@ int dnn_load_layer_math_binary(Layer *layer, AVIOContext *model_file_context, in return dnn_size; } -int dnn_execute_layer_math_binary(DnnOperand *operands, const int32_t *input_operand_indexes, - int32_t output_operand_index, const void *parameters, NativeContext *ctx) +int ff_dnn_execute_layer_math_binary(DnnOperand *operands, const int32_t *input_operand_indexes, + int32_t output_operand_index, const void *parameters, NativeContext *ctx) { const DnnOperand *input = &operands[input_operand_indexes[0]]; DnnOperand *output = &operands[output_operand_index]; @@ -158,7 +158,7 @@ int dnn_execute_layer_math_binary(DnnOperand *operands, const int32_t *input_ope output->dims[i] = input->dims[i]; output->data_type = input->data_type; - output->length = calculate_operand_data_length(output); + output->length = ff_calculate_operand_data_length(output); if (output->length <= 0) { av_log(ctx, AV_LOG_ERROR, "The output data length overflow\n"); return DNN_ERROR; diff --git a/libavfilter/dnn/dnn_backend_native_layer_mathbinary.h b/libavfilter/dnn/dnn_backend_native_layer_mathbinary.h index bb97ba2dca..eee294b00f 100644 --- a/libavfilter/dnn/dnn_backend_native_layer_mathbinary.h +++ b/libavfilter/dnn/dnn_backend_native_layer_mathbinary.h @@ -47,8 +47,8 @@ typedef struct DnnLayerMathBinaryParams{ float v; } DnnLayerMathBinaryParams; -int dnn_load_layer_math_binary(Layer *layer, AVIOContext *model_file_context, int file_size, int operands_num); -int dnn_execute_layer_math_binary(DnnOperand *operands, const int32_t *input_operand_indexes, - int32_t output_operand_index, const void *parameters, NativeContext *ctx); +int ff_dnn_load_layer_math_binary(Layer *layer, AVIOContext *model_file_context, int file_size, int operands_num); +int ff_dnn_execute_layer_math_binary(DnnOperand *operands, const int32_t *input_operand_indexes, + int32_t output_operand_index, const void *parameters, NativeContext *ctx); #endif diff --git a/libavfilter/dnn/dnn_backend_native_layer_mathunary.c b/libavfilter/dnn/dnn_backend_native_layer_mathunary.c index ae5d4daae9..77e36c6ed3 100644 --- a/libavfilter/dnn/dnn_backend_native_layer_mathunary.c +++ b/libavfilter/dnn/dnn_backend_native_layer_mathunary.c @@ -29,7 +29,7 @@ #include "libavutil/avassert.h" #include "dnn_backend_native_layer_mathunary.h" -int dnn_load_layer_math_unary(Layer *layer, AVIOContext *model_file_context, int file_size, int operands_num) +int ff_dnn_load_layer_math_unary(Layer *layer, AVIOContext *model_file_context, int file_size, int operands_num) { DnnLayerMathUnaryParams *params; int dnn_size = 0; @@ -52,8 +52,8 @@ int dnn_load_layer_math_unary(Layer *layer, AVIOContext *model_file_context, int } -int dnn_execute_layer_math_unary(DnnOperand *operands, const int32_t *input_operand_indexes, - int32_t output_operand_index, const void *parameters, NativeContext *ctx) +int ff_dnn_execute_layer_math_unary(DnnOperand *operands, const int32_t *input_operand_indexes, + int32_t output_operand_index, const void *parameters, NativeContext *ctx) { const DnnOperand *input = &operands[input_operand_indexes[0]]; DnnOperand *output = &operands[output_operand_index]; @@ -66,7 +66,7 @@ int dnn_execute_layer_math_unary(DnnOperand *operands, const int32_t *input_oper output->dims[i] = input->dims[i]; output->data_type = input->data_type; - output->length = calculate_operand_data_length(output); + output->length = ff_calculate_operand_data_length(output); if (output->length <= 0) { av_log(ctx, AV_LOG_ERROR, "The output data length overflow\n"); return DNN_ERROR; @@ -77,7 +77,7 @@ int dnn_execute_layer_math_unary(DnnOperand *operands, const int32_t *input_oper return DNN_ERROR; } - dims_count = calculate_operand_dims_count(output); + dims_count = ff_calculate_operand_dims_count(output); src = input->data; dst = output->data; diff --git a/libavfilter/dnn/dnn_backend_native_layer_mathunary.h b/libavfilter/dnn/dnn_backend_native_layer_mathunary.h index 301d02e5fb..2199931e6e 100644 --- a/libavfilter/dnn/dnn_backend_native_layer_mathunary.h +++ b/libavfilter/dnn/dnn_backend_native_layer_mathunary.h @@ -53,8 +53,8 @@ typedef struct DnnLayerMathUnaryParams{ DNNMathUnaryOperation un_op; } DnnLayerMathUnaryParams; -int dnn_load_layer_math_unary(Layer *layer, AVIOContext *model_file_context, int file_size, int operands_num); -int dnn_execute_layer_math_unary(DnnOperand *operands, const int32_t *input_operand_indexes, - int32_t output_operand_index, const void *parameters, NativeContext *ctx); +int ff_dnn_load_layer_math_unary(Layer *layer, AVIOContext *model_file_context, int file_size, int operands_num); +int ff_dnn_execute_layer_math_unary(DnnOperand *operands, const int32_t *input_operand_indexes, + int32_t output_operand_index, const void *parameters, NativeContext *ctx); #endif diff --git a/libavfilter/dnn/dnn_backend_native_layer_maximum.c b/libavfilter/dnn/dnn_backend_native_layer_maximum.c index 7ad5a22969..baae889755 100644 --- a/libavfilter/dnn/dnn_backend_native_layer_maximum.c +++ b/libavfilter/dnn/dnn_backend_native_layer_maximum.c @@ -27,7 +27,7 @@ #include "libavutil/avassert.h" #include "dnn_backend_native_layer_maximum.h" -int dnn_load_layer_maximum(Layer *layer, AVIOContext *model_file_context, int file_size, int operands_num) +int ff_dnn_load_layer_maximum(Layer *layer, AVIOContext *model_file_context, int file_size, int operands_num) { DnnLayerMaximumParams *params; int dnn_size = 0; @@ -49,8 +49,8 @@ int dnn_load_layer_maximum(Layer *layer, AVIOContext *model_file_context, int fi return dnn_size; } -int dnn_execute_layer_maximum(DnnOperand *operands, const int32_t *input_operand_indexes, - int32_t output_operand_index, const void *parameters, NativeContext *ctx) +int ff_dnn_execute_layer_maximum(DnnOperand *operands, const int32_t *input_operand_indexes, + int32_t output_operand_index, const void *parameters, NativeContext *ctx) { const DnnOperand *input = &operands[input_operand_indexes[0]]; DnnOperand *output = &operands[output_operand_index]; @@ -63,7 +63,7 @@ int dnn_execute_layer_maximum(DnnOperand *operands, const int32_t *input_operand output->dims[i] = input->dims[i]; output->data_type = input->data_type; - output->length = calculate_operand_data_length(output); + output->length = ff_calculate_operand_data_length(output); if (output->length <= 0) { av_log(ctx, AV_LOG_ERROR, "The output data length overflow\n"); return DNN_ERROR; @@ -74,7 +74,7 @@ int dnn_execute_layer_maximum(DnnOperand *operands, const int32_t *input_operand return DNN_ERROR; } - dims_count = calculate_operand_dims_count(output); + dims_count = ff_calculate_operand_dims_count(output); src = input->data; dst = output->data; for (int i = 0; i < dims_count; ++i) diff --git a/libavfilter/dnn/dnn_backend_native_layer_maximum.h b/libavfilter/dnn/dnn_backend_native_layer_maximum.h index be63a3ab5b..523acbe05f 100644 --- a/libavfilter/dnn/dnn_backend_native_layer_maximum.h +++ b/libavfilter/dnn/dnn_backend_native_layer_maximum.h @@ -37,8 +37,8 @@ typedef struct DnnLayerMaximumParams{ }val; } DnnLayerMaximumParams; -int dnn_load_layer_maximum(Layer *layer, AVIOContext *model_file_context, int file_size, int operands_num); -int dnn_execute_layer_maximum(DnnOperand *operands, const int32_t *input_operand_indexes, - int32_t output_operand_index, const void *parameters, NativeContext *ctx); +int ff_dnn_load_layer_maximum(Layer *layer, AVIOContext *model_file_context, int file_size, int operands_num); +int ff_dnn_execute_layer_maximum(DnnOperand *operands, const int32_t *input_operand_indexes, + int32_t output_operand_index, const void *parameters, NativeContext *ctx); #endif diff --git a/libavfilter/dnn/dnn_backend_native_layer_pad.c b/libavfilter/dnn/dnn_backend_native_layer_pad.c index 05892d43f4..8d5d47883a 100644 --- a/libavfilter/dnn/dnn_backend_native_layer_pad.c +++ b/libavfilter/dnn/dnn_backend_native_layer_pad.c @@ -22,7 +22,7 @@ #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, int operands_num) +int ff_dnn_load_layer_pad(Layer *layer, AVIOContext *model_file_context, int file_size, int operands_num) { LayerPadParams *params; int dnn_size = 0; @@ -75,8 +75,8 @@ static int after_get_buddy(int given, int border, LayerPadModeParam mode) } } -int dnn_execute_layer_pad(DnnOperand *operands, const int32_t *input_operand_indexes, - int32_t output_operand_index, const void *parameters, NativeContext *ctx) +int ff_dnn_execute_layer_pad(DnnOperand *operands, const int32_t *input_operand_indexes, + int32_t output_operand_index, const void *parameters, NativeContext *ctx) { int32_t before_paddings; int32_t after_paddings; @@ -110,7 +110,7 @@ int dnn_execute_layer_pad(DnnOperand *operands, const int32_t *input_operand_ind output_operand->dims[2] = new_width; output_operand->dims[3] = new_channel; output_operand->data_type = operands[input_operand_index].data_type; - output_operand->length = calculate_operand_data_length(output_operand); + output_operand->length = ff_calculate_operand_data_length(output_operand); if (output_operand->length <= 0) { av_log(ctx, AV_LOG_ERROR, "The output data length overflow\n"); return DNN_ERROR; diff --git a/libavfilter/dnn/dnn_backend_native_layer_pad.h b/libavfilter/dnn/dnn_backend_native_layer_pad.h index 6c69211824..4f76c67c3f 100644 --- a/libavfilter/dnn/dnn_backend_native_layer_pad.h +++ b/libavfilter/dnn/dnn_backend_native_layer_pad.h @@ -36,8 +36,8 @@ typedef struct LayerPadParams{ float constant_values; } LayerPadParams; -int dnn_load_layer_pad(Layer *layer, AVIOContext *model_file_context, int file_size, int operands_num); -int dnn_execute_layer_pad(DnnOperand *operands, const int32_t *input_operand_indexes, - int32_t output_operand_index, const void *parameters, NativeContext *ctx); +int ff_dnn_load_layer_pad(Layer *layer, AVIOContext *model_file_context, int file_size, int operands_num); +int ff_dnn_execute_layer_pad(DnnOperand *operands, const int32_t *input_operand_indexes, + int32_t output_operand_index, const void *parameters, NativeContext *ctx); #endif diff --git a/libavfilter/dnn/dnn_backend_native_layers.c b/libavfilter/dnn/dnn_backend_native_layers.c index a23b34f823..492939fd36 100644 --- a/libavfilter/dnn/dnn_backend_native_layers.c +++ b/libavfilter/dnn/dnn_backend_native_layers.c @@ -29,14 +29,14 @@ #include "dnn_backend_native_layer_avgpool.h" #include "dnn_backend_native_layer_dense.h" -const LayerFunc layer_funcs[DLT_COUNT] = { +const LayerFunc ff_layer_funcs[DLT_COUNT] = { {NULL, NULL}, - {dnn_execute_layer_conv2d, dnn_load_layer_conv2d}, - {dnn_execute_layer_depth2space, dnn_load_layer_depth2space}, - {dnn_execute_layer_pad, dnn_load_layer_pad}, - {dnn_execute_layer_maximum, dnn_load_layer_maximum}, - {dnn_execute_layer_math_binary, dnn_load_layer_math_binary}, - {dnn_execute_layer_math_unary, dnn_load_layer_math_unary}, - {dnn_execute_layer_avg_pool, dnn_load_layer_avg_pool}, - {dnn_execute_layer_dense, dnn_load_layer_dense}, + {ff_dnn_execute_layer_conv2d, ff_dnn_load_layer_conv2d}, + {ff_dnn_execute_layer_depth2space, ff_dnn_load_layer_depth2space}, + {ff_dnn_execute_layer_pad, ff_dnn_load_layer_pad}, + {ff_dnn_execute_layer_maximum, ff_dnn_load_layer_maximum}, + {ff_dnn_execute_layer_math_binary, ff_dnn_load_layer_math_binary}, + {ff_dnn_execute_layer_math_unary, ff_dnn_load_layer_math_unary}, + {ff_dnn_execute_layer_avg_pool, ff_dnn_load_layer_avg_pool}, + {ff_dnn_execute_layer_dense, ff_dnn_load_layer_dense}, }; diff --git a/libavfilter/dnn/dnn_backend_native_layers.h b/libavfilter/dnn/dnn_backend_native_layers.h index b9e8a131d5..bbd02927c2 100644 --- a/libavfilter/dnn/dnn_backend_native_layers.h +++ b/libavfilter/dnn/dnn_backend_native_layers.h @@ -33,6 +33,6 @@ typedef struct LayerFunc { LAYER_LOAD_FUNC pf_load; }LayerFunc; -extern const LayerFunc layer_funcs[DLT_COUNT]; +extern const LayerFunc ff_layer_funcs[DLT_COUNT]; #endif From patchwork Thu Jan 21 21:39:56 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Thompson X-Patchwork-Id: 25061 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id B511144A469 for ; Thu, 21 Jan 2021 23:42:31 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9DECE689E56; Thu, 21 Jan 2021 23:42:31 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 654E9689E5B for ; Thu, 21 Jan 2021 23:42:23 +0200 (EET) Received: by mail-wm1-f43.google.com with SMTP id m187so2696805wme.2 for ; Thu, 21 Jan 2021 13:42:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jkqxz-net.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=/4cg54NjYPW1xPJQPz36oodil6YOyIdsS3SOVnNowIw=; b=nE1KlUX6oWqsO01W9aF/HUEie5tJjz/o8MgB6ai68PPaNtqobMSAX5oeJzScnJex5r 3rQDiVe7YN0bzthb/PU2hWWD9TpivvVuZwTlUPau2x02BsRAQxaMwKIJ1Jls+uc+q6Pp 8kg/XPaBZUf4rWr1Vnm8ZHQYoruo3Na07HdzzIdhG+2m2Q5BB8dUU3P0ek0BN5fUGmFq KXqYPq14XUr+LqgMnB2nWutlX70xVDtdXiMGReCPwnmwabP5zOVjS8CQG21ooX/S89OQ Aa/6jvua1vdvP8h7Kw+GGPjZbBXdLyePsX7eJVDh62bJZoGg0gdvVj+TXU3ZNvxmu7Z/ +4qQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=/4cg54NjYPW1xPJQPz36oodil6YOyIdsS3SOVnNowIw=; b=L5baPJfvCkXXSOjS9NmRGJosLZJVjRvZZEuo4KhHvwgZpAPV6DuExEKn21ZzMAFVeX dqtxuJ8gcY3miO/ty2ZNvuH206iAosSIqUhBTcBG5kyyVcQ7UKASioC+CkDr6jmFph2G I9ESbEsZjBrSHIk3pbChIESw85a/WuiEfG9AN/X7lFiItH7LL+adllqxu7mOyRMw0Wx8 lHZ2+FO2EnSuDMCgcQa5kyiYuscFMkIKXk9ZJZATL2j9X5gjruf6l7vtZaagh+N04gRb topAnfJBxj653Etk/6vTz/dyOebWc22jRUfC4y7dzbc0RzC+M9fQuXizkAnuvao4tgl4 l0Yg== X-Gm-Message-State: AOAM532w94UYGsJ+1lG4ZjHRzCXG6PIjomtDIhWtb1Q3C9XdiTc+MFFA FscFRXktKMKXB1BcOoO/4cVTouY+AnFBvQ== X-Google-Smtp-Source: ABdhPJyixPjja5NLXjljoLPzX2WWIbdM1JAnyjX6AVS4Szpa5mTqIXojl6jvsTmlYSC9yVQIBL8CNg== X-Received: by 2002:a1c:6741:: with SMTP id b62mr1141838wmc.21.1611265342326; Thu, 21 Jan 2021 13:42:22 -0800 (PST) Received: from localhost.localdomain (cpc91226-cmbg18-2-0-cust7.5-4.cable.virginm.net. [82.0.29.8]) by smtp.gmail.com with ESMTPSA id x10sm1895106wrt.84.2021.01.21.13.42.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Jan 2021 13:42:21 -0800 (PST) From: Mark Thompson To: ffmpeg-devel@ffmpeg.org Date: Thu, 21 Jan 2021 21:39:56 +0000 Message-Id: <20210121213956.991629-5-sw@jkqxz.net> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210121213956.991629-1-sw@jkqxz.net> References: <20210121213956.991629-1-sw@jkqxz.net> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 5/5] fate: Add test for namespace prefixes in libraries X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Ensures that external symbols in the built static libraries either have correct namespace prefixes or are on a known list of exceptions. --- tests/Makefile | 1 + tests/fate/namespace.mak | 19 ++++++++++ tests/fate/namespace.sh | 15 ++++++++ tests/ref/fate/namespace-avcodec | 0 tests/ref/fate/namespace-avdevice | 0 tests/ref/fate/namespace-avfilter | 0 tests/ref/fate/namespace-avformat | 0 tests/ref/fate/namespace-avutil | 0 tests/ref/fate/namespace-postproc | 0 tests/ref/fate/namespace-swresample | 0 tests/ref/fate/namespace-swscale | 58 +++++++++++++++++++++++++++++ 11 files changed, 93 insertions(+) create mode 100644 tests/fate/namespace.mak create mode 100755 tests/fate/namespace.sh create mode 100644 tests/ref/fate/namespace-avcodec create mode 100644 tests/ref/fate/namespace-avdevice create mode 100644 tests/ref/fate/namespace-avfilter create mode 100644 tests/ref/fate/namespace-avformat create mode 100644 tests/ref/fate/namespace-avutil create mode 100644 tests/ref/fate/namespace-postproc create mode 100644 tests/ref/fate/namespace-swresample create mode 100644 tests/ref/fate/namespace-swscale diff --git a/tests/Makefile b/tests/Makefile index 7844901e53..94057eb81d 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -173,6 +173,7 @@ include $(SRC_PATH)/tests/fate/mpeg4.mak include $(SRC_PATH)/tests/fate/mpegps.mak include $(SRC_PATH)/tests/fate/mpegts.mak include $(SRC_PATH)/tests/fate/mxf.mak +include $(SRC_PATH)/tests/fate/namespace.mak include $(SRC_PATH)/tests/fate/opus.mak include $(SRC_PATH)/tests/fate/pcm.mak include $(SRC_PATH)/tests/fate/pixfmt.mak diff --git a/tests/fate/namespace.mak b/tests/fate/namespace.mak new file mode 100644 index 0000000000..0021e7152d --- /dev/null +++ b/tests/fate/namespace.mak @@ -0,0 +1,19 @@ + +define FATE_NAMESPACE +# (library_name, config_option) +FATE_NAMESPACE-$(call ALLYES, STATIC $(2)) += fate-namespace-$(1) +fate-namespace-$(1): lib$(1)/$(LIBPREF)$(1)$(LIBSUF) +fate-namespace-$(1): CMD = runlocal fate/namespace.sh "$(NM_CMD) -P lib$(1)/$(LIBPREF)$(1)$(LIBSUF)" +endef + +$(eval $(call FATE_NAMESPACE,avutil, AVUTIL)) +$(eval $(call FATE_NAMESPACE,avcodec, AVCODEC)) +$(eval $(call FATE_NAMESPACE,avformat, AVFORMAT)) +$(eval $(call FATE_NAMESPACE,avfilter, AVFILTER)) +$(eval $(call FATE_NAMESPACE,avdevice, AVDEVICE)) +$(eval $(call FATE_NAMESPACE,swscale, SWSCALE)) +$(eval $(call FATE_NAMESPACE,swresample, SWRESAMPLE)) +$(eval $(call FATE_NAMESPACE,postproc, POSTPROC)) + +FATE += $(FATE_NAMESPACE-yes) +fate-namespace: $(FATE_NAMESPACE-yes) diff --git a/tests/fate/namespace.sh b/tests/fate/namespace.sh new file mode 100755 index 0000000000..bd3702d596 --- /dev/null +++ b/tests/fate/namespace.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +$1 | + grep ' [TDB] ' | # Filter to all global text/data/bss symbols. + grep -v '^ff_' | # Internal-only globals. + grep -v '^av' | # libav* external API. + grep -v '^sws' | # libswscale external API. + grep -v '^swr' | # libswresample external API. + grep -v '^\(postproc\|pp\)_' | # libpostproc external API. + grep -v '^\(ffio\|ffurl\)_' | # libavformat internal ffio/ffurl APIs. + grep -v '^rgb2rgb_init_' | # libswscale arch-specific init function. + sed 's/ .*//' | # Remove everything except the symbol name. + sort # Sort to allow deterministic comparison. + +exit 0 diff --git a/tests/ref/fate/namespace-avcodec b/tests/ref/fate/namespace-avcodec new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/ref/fate/namespace-avdevice b/tests/ref/fate/namespace-avdevice new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/ref/fate/namespace-avfilter b/tests/ref/fate/namespace-avfilter new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/ref/fate/namespace-avformat b/tests/ref/fate/namespace-avformat new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/ref/fate/namespace-avutil b/tests/ref/fate/namespace-avutil new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/ref/fate/namespace-postproc b/tests/ref/fate/namespace-postproc new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/ref/fate/namespace-swresample b/tests/ref/fate/namespace-swresample new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/ref/fate/namespace-swscale b/tests/ref/fate/namespace-swscale new file mode 100644 index 0000000000..a7aa4504ae --- /dev/null +++ b/tests/ref/fate/namespace-swscale @@ -0,0 +1,58 @@ +deinterleaveBytes +interleaveBytes +planar2x +rgb12to15 +rgb12tobgr12 +rgb15to16 +rgb15to24 +rgb15to32 +rgb15tobgr15 +rgb15tobgr16 +rgb15tobgr24 +rgb15tobgr32 +rgb16to15 +rgb16to24 +rgb16to32 +rgb16tobgr15 +rgb16tobgr16 +rgb16tobgr24 +rgb16tobgr32 +rgb24to15 +rgb24to16 +rgb24to32 +rgb24tobgr15 +rgb24tobgr16 +rgb24tobgr24 +rgb24tobgr32 +rgb32to15 +rgb32to16 +rgb32to24 +rgb32tobgr15 +rgb32tobgr16 +rgb32tobgr24 +rgb48to64_bswap +rgb48to64_nobswap +rgb48tobgr48_bswap +rgb48tobgr48_nobswap +rgb48tobgr64_bswap +rgb48tobgr64_nobswap +rgb64to48_bswap +rgb64to48_nobswap +rgb64tobgr48_bswap +rgb64tobgr48_nobswap +shuffle_bytes_0321 +shuffle_bytes_1230 +shuffle_bytes_2103 +shuffle_bytes_3012 +shuffle_bytes_3210 +uyvytoyuv420 +uyvytoyuv422 +vu9_to_vu12 +yuv422ptouyvy +yuv422ptoyuy2 +yuy2toyv12 +yuyvtoyuv420 +yuyvtoyuv422 +yv12touyvy +yv12toyuy2 +yvu9_to_yuy2