From patchwork Sun Sep 15 20:29:50 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Koushik Dutta X-Patchwork-Id: 51609 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:9fc3:0:b0:48e:c0f8:d0de with SMTP id k3csp931754vqy; Sun, 15 Sep 2024 13:39:13 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUPwjZlBusmfceWQtV+9FvRl9yX5Js5b4PrAPx6BNGdaNelIQdu7y73Vxd8ibbDUr9cLYlzqWlrzSffCMS0Ty4P@gmail.com X-Google-Smtp-Source: AGHT+IHgzfil/6LUgr8hqMuL/KvYeTsk+lZ8aCwJOh0HHnD9rakKuPZq8a4NvQyi9Md0huuyHNbS X-Received: by 2002:a05:6512:1095:b0:52e:fb8b:32d0 with SMTP id 2adb3069b0e04-53678fb9e3amr2168305e87.1.1726432752885; Sun, 15 Sep 2024 13:39:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1726432752; cv=none; d=google.com; s=arc-20240605; b=ieiWZSTXKS8m37c6RfF3qlZZx1CqPL3tXfXfqCu/nP7z13l+OQBgT6AEWHiqbuA6SQ gx4gg50QFmE8DNLkRrk0ThbjDTQu5j6L3e/t9W7xuOHVjFjhNlVQaJWOxx8utWH6O7nL E4KOMbRueET3OdsvaacQ/DdVvAal7LJkpylJKBc9uIfXh6PURK1sD8gQQyL99Jgh3jX7 m295otqGbg0RTngyWoFhVXchFrMC5H2fIwb4p8n/r+AjNllxoALwuhYYZqQbfPRXDgBC EApPq9ypmNTE3IPEOcHT1ojbIZidCEaYKKxPTbcsE/TGICIczpysvGY12Mc6js9LLm51 tHQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; 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:message-id:date:to:from :dkim-signature:delivered-to; bh=VWU1x6xGiR+rx/GpB2sTi+hjC6mT8WpCKXLdNb0wOfQ=; fh=vf1rgm8KpEMxcRKiIfYPC5TR7MMWdHSIxg51vjgwMpE=; b=hTHw+3ma4sTuUKqLhhC7brS3FvsDrRN4g35rkaUQdu4TtKz2GjTOpEPcVWLJ1naLyj m4rmP0zSx0/uRAu+vofRa14Z+SXPyUB02XOi0mtHaZUk1QPAcRTLOHWlGAJ0deAUhD2f /JsLyAxk7DXzYMZpc7uMOXh9MMzj0pparpPQ/rXD6wmrbiHhCdFUX3Na/x8UJ6XsiIrq +eDRD0DZxmo6UKB7QM/M+nhhOuF6NIay5awzzAOXruPTcv3YkdDozXZZlRUuxzwd4ZGr klLRbPMh6FPEAzGMOaibHwSKL4ESoHc1C4rWtuFbbRGW/QXuviHPtxe8V7kv88+W9tDz 1I6g==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20230601 header.b=WKjESvi9; 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; dara=fail header.i=@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 2adb3069b0e04-536870b0545si1365323e87.560.2024.09.15.13.39.12; Sun, 15 Sep 2024 13:39:12 -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=20230601 header.b=WKjESvi9; 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; dara=fail header.i=@gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 13D3468DC4B; Sun, 15 Sep 2024 23:30:08 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f181.google.com (mail-pf1-f181.google.com [209.85.210.181]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id F18C068DC45 for ; Sun, 15 Sep 2024 23:30:00 +0300 (EEST) Received: by mail-pf1-f181.google.com with SMTP id d2e1a72fcca58-71790ed8c2dso3489877b3a.3 for ; Sun, 15 Sep 2024 13:30:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1726432199; x=1727036999; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=ltYMn9GiQkcuIw31/bpr06VbpSFH9U84EqHZ87kSSlQ=; b=WKjESvi9RJo0v+W1dglXNnLF9unDH79TEbbn0oQbPlO9DG/1r6rN2jc6hyYUeaKtxP CD3hPZzd+2dAE8dUIDvUUTJFQBtVDmF4Lm5eTd3GH8IVB4uj4NcDcyWUUNu8URI4PQDo ZiYPPgiq2ceLBNhsehSu5ZH1godFleD5J7QojcyaBm3s92Fxd/ZIIg4aeSAhj9dnEkui 9dE1uB9Lp1vsXHf70DCUc/aq2uORcto2MepjemwU0/UkjcDcnTLydXcvCeQk3ZkSn50z 39+hUcaWTffIv6FFpl4hcpfp+OGiLBsnHPwr3+axTUFazncE8QIqpuX6prJ/J7Sch+H1 zAuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1726432199; x=1727036999; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ltYMn9GiQkcuIw31/bpr06VbpSFH9U84EqHZ87kSSlQ=; b=gLK5H9M2EhT1OHFkcY/dLvyPb8mggK030aaQqFSJJ3vSnw6slcY1qVJRML+NG/Ksmd rABb/TTWP7JSN0TNCDeF59aJYjmOQn4RcfP5my1o88CFS2foBCjXipkogXyQeo/t9xJL n8Z7TqpoBiQ4DzDtdZNsLuPXYnQ5PL+vkyFH3ScYtXH8OR4MPBOmr3vOMEzzXej6F/iq CcZYgWORFHejuioYyavx3SlDGuX9+pHqzmXiLxmZRfCNMIbkuUC6yCuF8X/YjL8cwhvO KdI1XM6vqMyq0/eycbaiiw5pywXBqEXkqPeQrQbuDSp8Tohm9bzh5rhg0losDSiIawj2 wUqA== X-Gm-Message-State: AOJu0YyXHtU1skBslmFc616HEH04XKvKrVUVA+ZZ/drTyeEEEaNXpD+e 547QpBdu+0uC4fWEQoeMlgRP+gkALSCpqIvA7yLRW4DkgUvT0AS6J+1law== X-Received: by 2002:a05:6a00:138f:b0:70e:9907:ef75 with SMTP id d2e1a72fcca58-719260655e3mr24561856b3a.4.1726432198840; Sun, 15 Sep 2024 13:29:58 -0700 (PDT) Received: from Koushik-MacStudio.tail05204.ts.net ([2001:559:76c:0:f847:ade0:d020:abb5]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-71944bc4752sm2571080b3a.203.2024.09.15.13.29.58 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 15 Sep 2024 13:29:58 -0700 (PDT) From: Koushik Dutta To: ffmpeg-devel@ffmpeg.org Date: Sun, 15 Sep 2024 13:29:50 -0700 Message-Id: <20240915202950.60640-1-koushd@gmail.com> X-Mailer: git-send-email 2.39.3 (Apple Git-146) MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] scale_vt implementation for negative width/height sizing 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: Koushik Dutta Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: URQdo3VrOl1s --- libavfilter/vf_scale_vt.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/libavfilter/vf_scale_vt.c b/libavfilter/vf_scale_vt.c index 3da46a6cd5..3785b884d9 100644 --- a/libavfilter/vf_scale_vt.c +++ b/libavfilter/vf_scale_vt.c @@ -33,8 +33,6 @@ typedef struct ScaleVtContext { AVClass *class; VTPixelTransferSessionRef transfer; - int output_width; - int output_height; char *w_expr; char *h_expr; @@ -232,15 +230,18 @@ static int scale_vt_config_output(AVFilterLink *outlink) FilterLink *inl = ff_filter_link(inlink); AVHWFramesContext *hw_frame_ctx_in; AVHWFramesContext *hw_frame_ctx_out; + int w, h; err = ff_scale_eval_dimensions(s, s->w_expr, s->h_expr, inlink, outlink, - &s->output_width, - &s->output_height); + &w, + &h); if (err < 0) return err; - outlink->w = s->output_width; - outlink->h = s->output_height; + ff_scale_adjust_dimensions(inlink, &w, &h, 0, 1); + + outlink->w = w; + outlink->h = h; if (inlink->sample_aspect_ratio.num) { AVRational r = {outlink->h * inlink->w, outlink->w * inlink->h};