From patchwork Thu Jul 12 22:20:18 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Danil Iashchenko X-Patchwork-Id: 9705 Delivered-To: ffmpegpatchwork@gmail.com Received: by 2002:a02:104:0:0:0:0:0 with SMTP id c4-v6csp98731jad; Thu, 12 Jul 2018 15:20:42 -0700 (PDT) X-Google-Smtp-Source: AAOMgpfW2YR/M55QxA2KCPhvLZc8T0cOCmsIf1/rMXJlSgw93gwuRpCi/J0j6fToe2r5YDU0npb3 X-Received: by 2002:a1c:6709:: with SMTP id b9-v6mr2443517wmc.68.1531434042716; Thu, 12 Jul 2018 15:20:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1531434042; cv=none; d=google.com; s=arc-20160816; b=tK4wipvZiZMVZZXMcpcBDU3N85yQul+qZx7eJGgI49qkFISSxgoS7aiU7Mn8vVjhJc kbe9XysM50UQ6NPqLUQVN5fvNt45vf+XBLJx/08oRlRh5MBe4iDfQKfZ2uGJmx82nyON yFm+ZiFgzwj7NhMbvUUO6ZO2BipG4mRd3WAaDE4Hpe850XJFlYhps8r4XesPyifhC3lg RSZ8lQJkd8WiIcwKNYJF/fwPahzvAEacZCOaO1M7LOLVxDvwTj69x1n2Q5KRfMGEnK1r HycyY+8mqV92MMa08Stns4Do5wB7L3No6vl4F+bdu31RfF1lMYmSG2O1k22pypz+cec6 R/pA== 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:message-id:date:to:from:dkim-signature :delivered-to:arc-authentication-results; bh=1/rwSUEA2ctNQ0hauxXZ/6g5UeiOrhmMc4U1Qk0ehaQ=; b=LvXfCRydZrsL/iR4N4a6vpZNfZpYB45Hmm5+aUKe6qGk/1mtzOylPCGYB2WSv4CDcV DZTHH6WsOnNHNoJ896AoSx0tknOpCkL9u3qzjXGupFZhznAX1lC+4TCmKawKwPEPhmPI y2B4bz50jh0kHHIQv8hJkfAMLfCeh7Kav2sv8jkyvs449TZvwBbkUM4dNhTsXVhBULtB xY9yLwMSTIm0ciEMwTZwfmEKbzbF/8r4gT+kXNu297mp4yC7O4aoRGWC0CiM5s0pR0Bn o2Z37BTAb5XGRQEuMFcMUV8PxaMhPZkbdNYR7LRB5EqLAw6khj/HDwMOG7UYwSyq0LDw JbVw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=JtoZjaQ8; 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 v3-v6si18342508wrn.148.2018.07.12.15.20.41; Thu, 12 Jul 2018 15:20:42 -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=JtoZjaQ8; 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 59B6568A6AF; Fri, 13 Jul 2018 01:20:31 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lf0-f65.google.com (mail-lf0-f65.google.com [209.85.215.65]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7A27B68A55E for ; Fri, 13 Jul 2018 01:20:24 +0300 (EEST) Received: by mail-lf0-f65.google.com with SMTP id g6-v6so14843435lfb.11 for ; Thu, 12 Jul 2018 15:20:32 -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; bh=5BM/aWb9DVjot/nZHBNnbfj3E6f8WUY7LwTEtH5yYoQ=; b=JtoZjaQ8xVObeqtOShrlwQf9ZixvaMiyZQc6DW4C7BBG8PyUhajQKDPdanR3q0jVYK JmdBTEN+0ugnxc5bax8fq2ztsyvWfCY8F219jTw1B99BpCLJHwnNnDzzNTcdTEqRUJfr 5OWJHnfWeGmy3wfr+utuIWUrKcYK9hNfN8mrL9JX2Peeb+5h4SLDuNd7+P9QAQa4SGiX P+WHTYoBnK/Mym2gJD4PnrRTHiPWKShgRRAbajpeIpf0PgIEOO2nanflL5s6ClOQOLOo g55UD5ZwTP/Ls4OY6RQaE12EeKOomUDkdkuW0Wxjyc+MM5cLdFxPIxis1BTzXHpb3UD5 Qw7A== 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; bh=5BM/aWb9DVjot/nZHBNnbfj3E6f8WUY7LwTEtH5yYoQ=; b=gOJmVhfTn+fNnKHz+t1+i9dfFcofxQXu2Cnpyfzu3aVE/75Ye+CkHSsspWqpx2KIRr Y/6mJxAdN7ndURvjH+eRbhWPy5hQG91dLO8R7WZd+4g5AcFXwKrTnb9CzMuuU5Zk4w5B AJ2ZWhgLagmU6G7LF//ZG2zEANKmqreVBEYf9R+zla//0sHrB6XppHDRqAT8vCS4iDns GZ4lK5jIATg6LBj1usylj82CXdPLY7/b7NMmnCyOIYze4Lk5h08xl3P3jN3V9kt+Eo3x iL5CVRbE566iOhB32bKlAWnSABf57MlP5kyhroo8Cb9RLXIr2rAyAfbeAE2gEHhoabrR EF4w== X-Gm-Message-State: AOUpUlF3ecZwHT0J4TFW2BiTWTPUroxZ1/tXF3TAFk454QbTrIfd4Apt boOvfD9ryJuBjoB9QADpTh5BmjI= X-Received: by 2002:a19:1b07:: with SMTP id b7-v6mr2983357lfb.32.1531434031693; Thu, 12 Jul 2018 15:20:31 -0700 (PDT) Received: from dan-acer.lan (campus.ifmo.ru. [194.85.161.2]) by smtp.gmail.com with ESMTPSA id q4-v6sm6160387lfj.81.2018.07.12.15.20.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 12 Jul 2018 15:20:30 -0700 (PDT) From: Danil Iashchenko To: ffmpeg-devel@ffmpeg.org Date: Fri, 13 Jul 2018 01:20:18 +0300 Message-Id: <1531434018-26874-1-git-send-email-danyaschenko@gmail.com> X-Mailer: git-send-email 2.7.4 Subject: [FFmpeg-devel] [PATCH] lavfi/convolution_opencl: use CL_FAIL_ON_ERROR for error handling 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 Cc: Danil Iashchenko MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Switch to use CL_FAIL_ON_ERROR for error handling --- >Hi Danil, >The patch looks good, But I think it would be more proper to use a title like "switch to use CL_FAIL_ON_ERROR " or "use CL_FAIL_ON_ERROR for error handling". >Ruiling Hi! Changed title to a proper one. Thanks! Danil. libavfilter/vf_convolution_opencl.c | 46 +++++++++---------------------------- 1 file changed, 11 insertions(+), 35 deletions(-) diff --git a/libavfilter/vf_convolution_opencl.c b/libavfilter/vf_convolution_opencl.c index e2ba81b..00246b2 100644 --- a/libavfilter/vf_convolution_opencl.c +++ b/libavfilter/vf_convolution_opencl.c @@ -67,12 +67,8 @@ static int convolution_opencl_init(AVFilterContext *avctx) ctx->command_queue = clCreateCommandQueue(ctx->ocf.hwctx->context, ctx->ocf.hwctx->device_id, 0, &cle); - if (!ctx->command_queue) { - av_log(avctx, AV_LOG_ERROR, "Failed to create OpenCL " - "command queue: %d.\n", cle); - err = AVERROR(EIO); - goto fail; - } + CL_FAIL_ON_ERROR(AVERROR(EIO), "Failed to create OpenCL " + "command queue %d.\n", cle); if (!strcmp(avctx->filter->name, "convolution_opencl")) { kernel_name = "convolution_global"; @@ -84,11 +80,8 @@ static int convolution_opencl_init(AVFilterContext *avctx) kernel_name = "roberts_global"; } ctx->kernel = clCreateKernel(ctx->ocf.program, kernel_name, &cle); - if (!ctx->kernel) { - av_log(avctx, AV_LOG_ERROR, "Failed to create kernel: %d.\n", cle); - err = AVERROR(EIO); - goto fail; - } + CL_FAIL_ON_ERROR(AVERROR(EIO), "Failed to create " + "kernel %d.\n", cle); ctx->initialised = 1; return 0; @@ -243,12 +236,8 @@ static int convolution_opencl_filter_frame(AVFilterLink *inlink, AVFrame *input) cle = clEnqueueNDRangeKernel(ctx->command_queue, ctx->kernel, 2, NULL, global_work, NULL, 0, NULL, NULL); - if (cle != CL_SUCCESS) { - av_log(avctx, AV_LOG_ERROR, "Failed to enqueue kernel: %d.\n", - cle); - err = AVERROR(EIO); - goto fail; - } + CL_FAIL_ON_ERROR(AVERROR(EIO), "Failed to enqueue " + "kernel: %d.\n", cle); } else { if (!(ctx->planes & (1 << p))) { err = ff_opencl_filter_work_size_from_image(avctx, region, output, p, 0); @@ -257,12 +246,8 @@ static int convolution_opencl_filter_frame(AVFilterLink *inlink, AVFrame *input) cle = clEnqueueCopyImage(ctx->command_queue, src, dst, origin, origin, region, 0, NULL, NULL); - if (cle != CL_SUCCESS) { - av_log(avctx, AV_LOG_ERROR, "Failed to copy plane %d: %d.\n", - p, cle); - err = AVERROR(EIO); - goto fail; - } + CL_FAIL_ON_ERROR(AVERROR(EIO), "Failed to copy plane %d: %d.\n", + p, cle); } else { CL_SET_KERNEL_ARG(ctx->kernel, 0, cl_mem, &dst); CL_SET_KERNEL_ARG(ctx->kernel, 1, cl_mem, &src); @@ -280,23 +265,14 @@ static int convolution_opencl_filter_frame(AVFilterLink *inlink, AVFrame *input) cle = clEnqueueNDRangeKernel(ctx->command_queue, ctx->kernel, 2, NULL, global_work, NULL, 0, NULL, NULL); - if (cle != CL_SUCCESS) { - av_log(avctx, AV_LOG_ERROR, "Failed to enqueue kernel: %d.\n", - cle); - err = AVERROR(EIO); - goto fail; - } + CL_FAIL_ON_ERROR(AVERROR(EIO), "Failed to enqueue " + "kernel: %d.\n", cle); } } } cle = clFinish(ctx->command_queue); - if (cle != CL_SUCCESS) { - av_log(avctx, AV_LOG_ERROR, "Failed to finish command queue: %d.\n", - cle); - err = AVERROR(EIO); - goto fail; - } + CL_FAIL_ON_ERROR(AVERROR(EIO), "Failed to finish command queue: %d.\n", cle); err = av_frame_copy_props(output, input); if (err < 0)