From patchwork Wed Aug 4 11:51:36 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shubhanshu Saxena X-Patchwork-Id: 29239 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:6c0f:0:0:0:0:0 with SMTP id a15csp3308340ioh; Wed, 4 Aug 2021 04:59:45 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyiTr4vlRNMuXB64HCScYD/8L9LHqsA5rRoTskNW05BJYelDn2M0nqdhzOjzAT9AR1AoZwi X-Received: by 2002:a17:906:2b10:: with SMTP id a16mr25339508ejg.33.1628078385523; Wed, 04 Aug 2021 04:59:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1628078385; cv=none; d=google.com; s=arc-20160816; b=Tj5hCq7e4g4BWYkgnvxpkGkJF7GvyvQczNJH/zaIpCmxEMziXD9j/b96IR0st1kxHy LvbaTAuawZD2i+sQFmEOMm1WZqVH4qIuW/8fh7MRgqojEi1SeVa6N4YF9CTRg6xycaZg IfzejY3IfAZncecoN42/6Q6NWV92KpnFNMISnLFPe/bwup3mFG2JY7lY0fmQoXeuYzjB RbwSsS8mHQAkvqqJeYSp6N/xb+7LlG4QUaOb/q37ghTTU2MHTtMe0aSyGKxjqiwbgR1r 2MNKd1OF1aP9gDD+idi9VmvfX8yIVnUnnRvnVk12fevetlGymwMh4ELZC4/1PTtOZvAJ 2q4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:references:in-reply-to :message-id:date:to:from:dkim-signature:delivered-to; bh=KfHwMy0bD6ebqItukOzpbVUkbLZJOnQ72zlViXBuH0g=; b=lw/8qKOZ/HIWKrupGwI3vfzY71YJfWPgo94N/CHcz1sFOyi1mLnYvXkKS1jEQwXqv/ 8Ra0BY/rFgIfbd5tLyiF2QBDRN4MRr+E/wkSSlPV0Og87W/P7zI/VeAxPHJ0T/09VE1E GqtPT8C6qyYveUGUhTDy+WA6RlMeUpMhuOCKCOcAzaYVPSSnQ1sRzJREoJI5/01fD9EK jqqErKGW91pPCliRrl8aPoN8vtyOa2luuv8YVzhhHXL/HUYvjXhl326IAVIsLNcbO0Q7 BPIQ5c3UKA3hEftPn195ck6rVT5rWSmTIzrM0xTQUgRwm0ITxcMAsDS2aWtZ5ko95qyr sG0g== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=Qlcrbu10; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id i12si1941936edc.10.2021.08.04.04.59.45; Wed, 04 Aug 2021 04:59:45 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=Qlcrbu10; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 31EE0689F02; Wed, 4 Aug 2021 14:59:43 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qv1-f45.google.com (mail-qv1-f45.google.com [209.85.219.45]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B43076809A7 for ; Wed, 4 Aug 2021 14:59:41 +0300 (EEST) Received: by mail-qv1-f45.google.com with SMTP id d17so916671qvn.13 for ; Wed, 04 Aug 2021 04:59:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=x6U0tprtfKfu21C6PdlWYMVrnFE50Ul36ctx/RJmXEE=; b=Qlcrbu10vFw/XxFUAEpRYeI+z+Lks0DMlP9l1O8uO3UTlY6po4OMMafd1J7pac8Xpl Rodb6BVoydJc6GsL7NuCYjOgX+oTaH2S6c9RxyQHfML8bQeF/QqzxIWcuMT8NDej2HAy GbSc+Y+6T8v3cdWgaeuecDnQ3SjFXJYE4X1ZXgvq0DJ0SRd/41g6s//6qLiZau36AjKU ODBcJufcZytqSSt7asD7sS0yN6C5p4bZnIGW9wugwp2ORRsnDHgrocu5foI67y8WtA8x pwoVItaxsmXJCVLT02Kw9nsf7sNTLe4bD2AfuARy8tdihZ8tqAneCKxveXeCXDSQ3hMK RAZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=x6U0tprtfKfu21C6PdlWYMVrnFE50Ul36ctx/RJmXEE=; b=Qa+bJJcGn7LlOrz+jEaNGCVz3kPIgtvjlSWwpyeih9fSKdYnv4MtK3wZ2/Z4HOyGPe QsLVpVOlZA4aLHr5oQjKvHB+iJt+ZOJYhOeEEP+9dooo6TRgzO2JAnsNI+gg2NxQ7gN8 J6YmaMr37z8YqnUqBd6/tRp56m5QQZ2f/y8yDlfAx5eqTDVNUS2+mpXgyVTAfKwKFN5i NIfAdKEM2FakeyQtUkOLnnAl3XbHeEw6MDBBqXqH5HXQJuuY9hwlD2OII9mCgjCI5QnF o0oWqECIbQi8MDlgetU5X/gCgCS/4haTBpd2tEc9tY9Ir8b70UakH077OckEhE7HgQ0g ARfw== X-Gm-Message-State: AOAM532+FZdwtlZwRSxkA4Mg7Js7Tno0AdL9AKOH0qUlIxesMqkImomd iVV6y6WLpqGCfQhJPt1HZBiJZVWBec/Quw== X-Received: by 2002:a17:902:b713:b029:12b:b249:693f with SMTP id d19-20020a170902b713b029012bb249693fmr6173633pls.17.1628077929261; Wed, 04 Aug 2021 04:52:09 -0700 (PDT) Received: from Pavilion-x360.bbrouter ([103.133.121.9]) by smtp.googlemail.com with ESMTPSA id ms8sm6040305pjb.36.2021.08.04.04.52.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Aug 2021 04:52:08 -0700 (PDT) From: Shubhanshu Saxena To: ffmpeg-devel@ffmpeg.org Date: Wed, 4 Aug 2021 17:21:36 +0530 Message-Id: <20210804115138.64475-6-shubhanshu.e01@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210804115138.64475-1-shubhanshu.e01@gmail.com> References: <20210804115138.64475-1-shubhanshu.e01@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH V2 6/8] [GSoC] lavfi/dnn_backend_tf: Add TF_Status to TFRequestItem X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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 Cc: Shubhanshu Saxena Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: OrjP9VJL5jd0 Since requests are running in parallel, there is inconsistency in the status of the execution. To resolve it, we avoid using mutex as it would result in single TF_Session running at a time. So add TF_Status to the TFRequestItem Signed-off-by: Shubhanshu Saxena --- libavfilter/dnn/dnn_backend_tf.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/libavfilter/dnn/dnn_backend_tf.c b/libavfilter/dnn/dnn_backend_tf.c index 102e91a667..c3425e01a8 100644 --- a/libavfilter/dnn/dnn_backend_tf.c +++ b/libavfilter/dnn/dnn_backend_tf.c @@ -74,6 +74,7 @@ typedef struct TFInferRequest { typedef struct TFRequestItem { TFInferRequest *infer_request; InferenceItem *inference; + TF_Status *status; DNNAsyncExecModule exec_module; } TFRequestItem; @@ -164,9 +165,9 @@ static DNNReturnType tf_start_inference(void *args) infer_request->tf_input, &infer_request->input_tensor, 1, infer_request->tf_outputs, infer_request->output_tensors, task->nb_output, NULL, 0, NULL, - tf_model->status); - if (TF_GetCode(tf_model->status) != TF_OK) { - av_log(&tf_model->ctx, AV_LOG_ERROR, "%s", TF_Message(tf_model->status)); + request->status); + if (TF_GetCode(request->status) != TF_OK) { + av_log(&tf_model->ctx, AV_LOG_ERROR, "%s", TF_Message(request->status)); return DNN_ERROR; } return DNN_SUCCESS; @@ -186,6 +187,7 @@ static inline void destroy_request_item(TFRequestItem **arg) { tf_free_request(request->infer_request); av_freep(&request->infer_request); av_freep(&request->inference); + TF_DeleteStatus(request->status); ff_dnn_async_module_cleanup(&request->exec_module); av_freep(arg); } @@ -905,6 +907,7 @@ DNNModel *ff_dnn_load_model_tf(const char *model_filename, DNNFunctionType func_ av_freep(&item); goto err; } + item->status = TF_NewStatus(); item->exec_module.start_inference = &tf_start_inference; item->exec_module.callback = &infer_completion_callback; item->exec_module.args = item;