From patchwork Thu Jul 12 14:01:53 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Danil Iashchenko X-Patchwork-Id: 9702 Delivered-To: ffmpegpatchwork@gmail.com Received: by 2002:a02:104:0:0:0:0:0 with SMTP id c4-v6csp1710232jad; Thu, 12 Jul 2018 07:10:24 -0700 (PDT) X-Google-Smtp-Source: AAOMgpfGKjHye5y4xmd7fgDnboaaegV2+GCLJdpaSA4+LO3HpLIsYGxxIzN3uZCp7dy7fuagavof X-Received: by 2002:adf:a634:: with SMTP id k49-v6mr1991797wrc.181.1531404624907; Thu, 12 Jul 2018 07:10:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1531404624; cv=none; d=google.com; s=arc-20160816; b=D5n+90POiHVE0DWF7CK84QIiukla17lpH3sXzVQmccBlcqVDLIMGl5cQAzRQ5Gm6iX YNh/slnad9MGxESeoTa5h0RgGVLBafYm14fR0VqiJfO/Xnzd9LoVfxD8JPqaeoCTbKIs B0fPu57BpRh9xbU0tnwuXeBnDrqAEZ1YQMBf1bFgs79S6cbmDJHJa3J5owUKeyDSNqAs 9B45E4jMsS00bx5OSNX1iVRLZT34LfcZ751PPpd+Zvqs0E47ksmrvX34W/mX9nHwkfmK TpRfm7PKYa2guL9BkgFfEDtrP1A009s3tyyMLtJJDM1zEqKBAbc15HwUUlblxGe5Q07X eJtQ== 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=Y7u/fg8/bV+dxiVKpffD4yUk6+ekiNfQgV5F8J2KZdw=; b=dze8hxoaDLOHcHjoPm+vY/IxIECdOTcw5ppKDKFY2bC/JXeOdzcnvDFMn27xS6x5Kc TTqQb8L3dexZ9pGHX86xfQysXNvL07bXW6IpmTTZYIjW77PE5fd5zuIV7UmlRA0clDuR p7WLeo/bxUOToNx1ljjwOnce4zzl2FoC6eZPYt5ssmWM35C/Gj5fcYTrkmwmnhJ5lR+x 4O2CdYZuITppZrJMXh7fkHKlf0xfFElbPlwj/lz9ZETs6WGWaJqR1CUuKFUBT8apfcUU c+vRszZFqVr6OMM52GuY4g9Ats6JRFoJpU5dJKbvGXCXXmZl8hn3RqPMG8QgSJQzB6P1 1NmA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=ngeJ2aC+; 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 b15-v6si3924740wmg.88.2018.07.12.07.10.24; Thu, 12 Jul 2018 07:10:24 -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=ngeJ2aC+; 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 2073D68A6BE; Thu, 12 Jul 2018 17:10:15 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lf0-f68.google.com (mail-lf0-f68.google.com [209.85.215.68]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D766168A6AD for ; Thu, 12 Jul 2018 17:10:08 +0300 (EEST) Received: by mail-lf0-f68.google.com with SMTP id u14-v6so24379749lfu.0 for ; Thu, 12 Jul 2018 07:10:17 -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=Ff7OiGfZOMg4nZxqKfKxJph+crRmSZic13v2D+uShgQ=; b=ngeJ2aC+76BywfsTZMNwHEGRqpyS0xzqD9I1HEQpLYb9HQCRPx7K22k7CQy9eD4iRv yrHN2rHWEecOmdUtV4oDIeZkIkogwmttDR3fuTTejEdctKBtS8C4eE0F1GdqfydHrybe LwbtErL63GguVl1+z2lIdJ7ZpWq3Hgx0q1IcBtWJ7D45GGNakwmvbMKwSvt3YfZM1C3F ecL1I9U0xiwtskMUeoxe231GconnIcS7i48GREt4Me5tOETP1mD7U/89vcA/E8s+d2rH 8JZ0IC36Mk9Mb2AAHSbcZu0lTIS2nHnHdZjybFlauiKTMCMiHUSPD3ZmmEIgs6ofzvA1 HILg== 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=Ff7OiGfZOMg4nZxqKfKxJph+crRmSZic13v2D+uShgQ=; b=YtNgB3ox90/ymDc2dZc7ZRfN5eDouSECinZFgJ7x0AB9ftVc0QdiPfgh/Ik/bt7qpI TLduttw/iymGXZoBTzuqUo3O6yUsUFFkrlwfou32fiYFAUjoqNq8tTtwutS/J7fvxniv TZ1kbmfgEgOIqiMdEkTR5FZ3Vzh/oETbBu72E3rYMoJDwpw9QVYX4f/tG4jtxr9l9Q/C OMvnlg/sGrxNhtR/j9LcDDhgSQw4LV/tOJG5CyFycUzg5M/JUfN1YSL0bm/dqjo/GAoV J2Yg8ex7+a4VW1QA9QsC0cxfDsPuJeVRZzFvauo8z0ApOet02/1iW65G4GMA/siMbmzN N36g== X-Gm-Message-State: AOUpUlHol07kR+p5xqQp1GCtWM5KpFwNIIBIqPKgNlAsLISns15/KWYo Ki41pYwIOJdxRDPWwjLfCg234+Q= X-Received: by 2002:a19:e9d7:: with SMTP id j84-v6mr2098872lfk.115.1531404160882; Thu, 12 Jul 2018 07:02:40 -0700 (PDT) Received: from dan-acer.lan (campus.ifmo.ru. [194.85.161.2]) by smtp.gmail.com with ESMTPSA id q4-v6sm5946114lfj.81.2018.07.12.07.02.39 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 12 Jul 2018 07:02:39 -0700 (PDT) From: Danil Iashchenko To: ffmpeg-devel@ffmpeg.org Date: Thu, 12 Jul 2018 17:01:53 +0300 Message-Id: <1531404113-17478-1-git-send-email-danyaschenko@gmail.com> X-Mailer: git-send-email 2.7.4 Subject: [FFmpeg-devel] [PATCH] lavfi/convolution_opencl: implement CL_FAIL_ON_ERR macro 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" --- 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)