From patchwork Sun Apr 18 10:07:59 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Guo, Yejun" X-Patchwork-Id: 26961 Delivered-To: andriy.gelman@gmail.com Received: by 2002:a25:49c5:0:0:0:0:0 with SMTP id w188csp228905yba; Sun, 18 Apr 2021 03:20:27 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwy6zdU2rJi9R57fzYwYbd1nWzsXJaFmgX1DjRRm8AZnR/CF/tl2NZRYfkW8ciXFQM/NZB0 X-Received: by 2002:a05:6402:270e:: with SMTP id y14mr19902250edd.283.1618741227433; Sun, 18 Apr 2021 03:20:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618741227; cv=none; d=google.com; s=arc-20160816; b=ntyYNrzRFcPuqFts1Q7loG6zQJzPa0PC3qfgCNodC+rWPwxA+ElFUqX5xjywOFfyry puoyFNwr+wa15wv0gMB/rqXkw3tibOJx7SKx9tsdZI7UhLdzxDmaQ/7NPQs4vrB2/PuR QPlO2X6TVntTwqd5fOyUo+NpkbGNh/vgdyevBJ70slavKz7z8q0kgHDOVcaIP2Cnixf+ 9eA4c5Lx4V3fuV9tD6a/zCwft2xzaGs8KpWJmcOTpNtD5ddbSElqSbmIbU1KNEQTj2l9 BnyNvC6e7HHZYNmGLyCx1xMcjflUjwu9w4P3WEqGFufcGFGEDysgG6IVeya59wsT40gD ZUSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:ironport-sdr:ironport-sdr:delivered-to; bh=7k7EuPCxANB976C2IthZi0t8xqwD36quwIllnmWF+cw=; b=TG3EX5dtz0mPnOs2TMeJh4OW+woYGb2aPIR9ufBbRo3lD0smyZyc7aXKFdzRBuyzAN WCRRUZuduYKYktDnKFg8HFI1L/HXugjRojp4V1N1iCpdTi3RA2J1XOy6/oKchgrSaOJ0 +jZn2L0Uhs4WiaqY0FCYLczfRZgEOuF0cDT62dlpPd3RusNqbVdKHkDkW6t8C0AWaj/x n76OgwpNIIy2uz43PMybnN+FiRJ9uhVht3H/6DHsSflanfnvRXJXDT0K7mzUCRSt6WfJ 1+e0PAulZeoUnFyjUZHA+Phe9nMa9IBmg1eN2b/uxL1soY4dxE1H3E3UDuMHlxMGYNI0 lH5g== ARC-Authentication-Results: i=1; mx.google.com; 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=NONE dis=NONE) header.from=intel.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id eb8si10798895edb.353.2021.04.18.03.20.27; Sun, 18 Apr 2021 03:20:27 -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; 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=NONE dis=NONE) header.from=intel.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 572BE680A2B; Sun, 18 Apr 2021 13:20:06 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4C8BD680987 for ; Sun, 18 Apr 2021 13:19:57 +0300 (EEST) IronPort-SDR: 4XpopCxiR2t0p6SsOCYR1TNGBAMGmWMxYkOFeS/rflAjilOsmkc/CLBSnkSr/tzCBqeGAd//gk s3qkkovG9gVQ== X-IronPort-AV: E=McAfee;i="6200,9189,9957"; a="256523545" X-IronPort-AV: E=Sophos;i="5.82,231,1613462400"; d="scan'208";a="256523545" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Apr 2021 03:19:54 -0700 IronPort-SDR: 7X8lej/1lKYjoAfvH/UfEVo+N1QIDaFEczIW6+w1BSdYGGIFS1xelv8x3YIuB+KdhKrErRVezT y6Ep8h77eyBw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,231,1613462400"; d="scan'208";a="453918922" Received: from yguo18-skl-u1604.sh.intel.com ([10.239.159.53]) by fmsmga002.fm.intel.com with ESMTP; 18 Apr 2021 03:19:53 -0700 From: "Guo, Yejun" To: ffmpeg-devel@ffmpeg.org Date: Sun, 18 Apr 2021 18:07:59 +0800 Message-Id: <20210418100802.19017-3-yejun.guo@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210418100802.19017-1-yejun.guo@intel.com> References: <20210418100802.19017-1-yejun.guo@intel.com> Subject: [FFmpeg-devel] [PATCH 3/6] lavfi/dnn_backend_openvino.c: move the logic for batch mode earlier 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: yejun.guo@intel.com MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: w0c9u1av+PkE Content-Length: 1678 --- libavfilter/dnn/dnn_backend_openvino.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/libavfilter/dnn/dnn_backend_openvino.c b/libavfilter/dnn/dnn_backend_openvino.c index 3692a381e2..a695d863b5 100644 --- a/libavfilter/dnn/dnn_backend_openvino.c +++ b/libavfilter/dnn/dnn_backend_openvino.c @@ -432,13 +432,6 @@ static DNNReturnType execute_model_ov(RequestItem *request, Queue *inferenceq) ctx = &task->ov_model->ctx; if (task->async) { - if (ff_queue_size(inferenceq) < ctx->options.batch_size) { - if (ff_safe_queue_push_front(task->ov_model->request_queue, request) < 0) { - av_log(ctx, AV_LOG_ERROR, "Failed to push back request_queue.\n"); - return DNN_ERROR; - } - return DNN_SUCCESS; - } ret = fill_model_input_ov(task->ov_model, request); if (ret != DNN_SUCCESS) { return ret; @@ -793,6 +786,11 @@ DNNReturnType ff_dnn_execute_model_async_ov(const DNNModel *model, const char *i return DNN_ERROR; } + if (ff_queue_size(ov_model->inference_queue) < ctx->options.batch_size) { + // not enough inference items queued for a batch + return DNN_SUCCESS; + } + request = ff_safe_queue_pop_front(ov_model->request_queue); if (!request) { av_log(ctx, AV_LOG_ERROR, "unable to get infer request.\n");