From patchwork Thu May 23 23:49:56 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Josh Allmann X-Patchwork-Id: 13264 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 19FB0447FF0 for ; Fri, 24 May 2019 02:59:04 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id F3B70680A65; Fri, 24 May 2019 02:59:03 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg1-f195.google.com (mail-pg1-f195.google.com [209.85.215.195]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 59374680911 for ; Fri, 24 May 2019 02:58:57 +0300 (EEST) Received: by mail-pg1-f195.google.com with SMTP id o11so3766214pgm.13 for ; Thu, 23 May 2019 16:58:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id; bh=iLxN7gkof8Z8Tm2ARhnjY2RiSMr2YzNSCMuKa+SFFfQ=; b=sZgv38xwC9j+iFobqZtwZ1oNKiqXl3HojzPDYOOWJicEx9pIr9WczR3S8jCCQC1JEm 3OrxllVHpWfRjFYwIGA3818XWd/MX7/Aj9yxjF5UKWPfUs3IKbACaqMvZffwUF9uUlDp jZY2hOAWgvhIy5rUkNjAZmuz2POoZ10a+JgABya19jjuEYZ2IwRityruViCBq0EMi9Sx lVWfYw94H8GlE52JIjFx1V+aPcqkSYbRfFlnP6Ktqqp+rr6t96o70GSJuX5iyDjJEj40 lT7svBh+5ofO/MieNvvvWUOFBlagWN+x4CYaUVlKtLBzM3kBXuekbArb6Dr+Qt0r6MYA nRWg== 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; bh=iLxN7gkof8Z8Tm2ARhnjY2RiSMr2YzNSCMuKa+SFFfQ=; b=b6Z7gpT2EWq7nJC6sow67SZ7a15eoIJdsxiJWdswoOFFVVs93NaRWKitqtfB6MVuGY 6JuMhqBE/0M9ZoziD8kAqQ+TEWjAptpwRfP+Qdo+dHnG3hZvdeJ6sh782svqolFaZ0km ylnRczB8Rx1fN0UQ7FaYLCIVMaimltUyQgV6+Ts7I3aYOzrRCQAkGXLXptU1R4fSgxUD C+5/QXaekIluKCBH3qvB+9dnETgSZYTi1wS9ClPZr3KYJsNUqkZ3Xlq5G1dq2KB3Bwgs DOusMhEvxJSPM6JOjDjeafxI31uCHeClKMlaZ3f0xX9VRc3KiuP5DWatxLz1jpu1PKAy xn9g== X-Gm-Message-State: APjAAAXGWd1fZquEAPCiybZGfgBh7jSpNDs7DPfJqTJeTYVEI7VTEPui lex5po6OL4UGbxSLryM+KAgh9ofe X-Google-Smtp-Source: APXvYqwCvV+qJF/k+kxh6N2Ew5apH09TLLJl9m0+HAzYNqPNAIjLULjSEcdkw4uSAMI3qgysG1CpwQ== X-Received: by 2002:a63:e616:: with SMTP id g22mr34637532pgh.61.1558655430433; Thu, 23 May 2019 16:50:30 -0700 (PDT) Received: from localhost.localdomain (cpe-76-172-80-40.socal.res.rr.com. [76.172.80.40]) by smtp.gmail.com with ESMTPSA id k63sm598303pfb.108.2019.05.23.16.50.28 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 23 May 2019 16:50:29 -0700 (PDT) From: Josh Allmann To: ffmpeg-devel@ffmpeg.org Date: Thu, 23 May 2019 16:49:56 -0700 Message-Id: <1558655396-11592-1-git-send-email-joshua.allmann@gmail.com> X-Mailer: git-send-email 2.7.4 Subject: [FFmpeg-devel] [PATCH] lavfi/vf_scale_cuda: Add format option 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Makes certain usages of the lavfi API easier. --- libavfilter/vf_scale_cuda.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/libavfilter/vf_scale_cuda.c b/libavfilter/vf_scale_cuda.c index b7cdb81081..6b1ef2bb6f 100644 --- a/libavfilter/vf_scale_cuda.c +++ b/libavfilter/vf_scale_cuda.c @@ -81,6 +81,7 @@ typedef struct CUDAScaleContext { char *w_expr; ///< width expression string char *h_expr; ///< height expression string + char *format_str; CUcontext cu_ctx; CUmodule cu_module; @@ -101,7 +102,15 @@ static av_cold int cudascale_init(AVFilterContext *ctx) { CUDAScaleContext *s = ctx->priv; - s->format = AV_PIX_FMT_NONE; + if (!strcmp(s->format_str, "same")) { + s->format = AV_PIX_FMT_NONE; + } else { + s->format = av_get_pix_fmt(s->format_str); + if (s->format == AV_PIX_FMT_NONE) { + av_log(ctx, AV_LOG_ERROR, "Unrecognized pixel format: %s\n", s->format_str); + return AVERROR(EINVAL); + } + } s->frame = av_frame_alloc(); if (!s->frame) return AVERROR(ENOMEM); @@ -533,6 +542,7 @@ fail: static const AVOption options[] = { { "w", "Output video width", OFFSET(w_expr), AV_OPT_TYPE_STRING, { .str = "iw" }, .flags = FLAGS }, { "h", "Output video height", OFFSET(h_expr), AV_OPT_TYPE_STRING, { .str = "ih" }, .flags = FLAGS }, + { "format", "Output pixel format", OFFSET(format_str), AV_OPT_TYPE_STRING, { .str = "same" }, .flags = FLAGS }, { NULL }, };