From patchwork Mon Oct 21 13:26:04 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 52429 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:612c:143:b0:48e:c0f8:d0de with SMTP id h3csp2657212vqi; Mon, 21 Oct 2024 06:44:04 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVw8WWPXVYRY6TUNNH9dCz2950LsGj3Hm4a96DxJFJ3yteTqD2fJi/WnziHekjDEe6D7gr8HyT3EW85Mk7O5V3J@gmail.com X-Google-Smtp-Source: AGHT+IElY0QfbLt80rtynYlLe/73subxTwSm6quJ64uOiL01Vz8xslj0PhsYJHS0UkL091c58Tlx X-Received: by 2002:a05:6512:3c81:b0:53a:a26:5690 with SMTP id 2adb3069b0e04-53a154afecamr5335193e87.34.1729518244546; Mon, 21 Oct 2024 06:44:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1729518244; cv=none; d=google.com; s=arc-20240605; b=V8Kh1jykhvKnqLPNBMoJnRtEGHtA9HM5jj6SkaBI1o1ruosv00xmmwJ42KnyBx8T9+ mOe9kaNJ4OiaB0N9tKrNPkdoumQ+dmX1v3UDoU2RefzjyoU7SW2WfIfW+eMzI7Ip4tYU Vx4JNAtwXdUoFeJzpsjU52EzTlKfPgkq5JaDVr5ljO73srOk0E0inejha8xSIhLeQGw2 0uQgiq20fMTthIs47VIrdyfeaAN7GW+uvPP+msMEDJYdpBEQzirWjGuPnqGL8zWQU4LA PgICdKWkJGOem40xpjjHYKIbCTyUh+e5neUHxaP9KP9oKagRVmHezdxBL2rxVhk5r3yR pzyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=w463v4GUyfVtHcB8hNmwH+f/CdDR4Z/adHNoE0ZIpmY=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=bTu5EX7l0G38Ihu/whgpecA/iR/341lFoIfHSBiRawpARV8OgZt2Kk7wC+Q084TJUT FWCynZVsxcGdbuV18VQb5bACRq987vUiw0oFQy4cyHycnVMf14QFjR0GkcTYYfCGkUw4 ZTu+TzB4EFOKrTi+Hdm733yecfm3tmitKvpILMJZ2d8GzR0H2PQCVfB4C0wecuI4uk9h P2spir31llmpU/tzJSsqjfNN4pwRWfysvAYTpXaFC7OyuDe623+Levn4ZezrwwKwq/cO hQspW0AoQ0rkTytywOIiMgXS1sCs63vXj4N0Djg5BIo/j7WQJUE6Sw9RBgSfwFOApDgK KQRg==; 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="OVI/kpqc"; 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-53a2244b611si1259334e87.563.2024.10.21.06.44.04; Mon, 21 Oct 2024 06:44:04 -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="OVI/kpqc"; 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 D855668DCFC; Mon, 21 Oct 2024 16:26:17 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 02A9268D9D4 for ; Mon, 21 Oct 2024 16:26:10 +0300 (EEST) Received: by mail-pl1-f180.google.com with SMTP id d9443c01a7336-207115e3056so35923405ad.2 for ; Mon, 21 Oct 2024 06:26:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1729517168; x=1730121968; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=TWyzbHNP2yABGXXSi9BeegBreSRulLJj0b9WJnNC398=; b=OVI/kpqc35EyHFfwyHScd3MYlObrQT7jv3peejtDF6/D+Khl0NeI8+RHsZJZgP+TId fmvPspSJlgsu1mh51uKvyIN0mxVtTP24stZa9D6j0t2U3jVUaIkK44LQH6t3lmfaNk75 zhF92RQy+O4ffNBWchRh9jwHgmO7513WluvjLtemutWCOsbLnibSXcc73HMGqjRUwhRJ bZZ76Q9LwMfR7j+BnFz4ykCw1GMjQDgyguggGGjIiwa/01z1e0+ynKw0+d7Ustk/WFTg PePgSAFRYnFhdPAZmausDaOyYv+0CKkt06pTuftqcDXIl2Z9vT8rVleYpg9LwV4v+Fca mLPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729517168; x=1730121968; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TWyzbHNP2yABGXXSi9BeegBreSRulLJj0b9WJnNC398=; b=C2DL8adKlNe9o04nshMcW0bB2CQas3k5b3LsShwSTGPtnIgfIc+34Zclo4tm4MX88f gq2oy0t13GX7r8sQJEZCpIUi14ARbJYAMTd6AgLLhCk3+u6ejk/Gnjjpj6ySMKSm9kQg Gubu+Lbv5wuUwWYfaIROQkGZ2VVMM8gQ1WCg4TR3yihhAEtuEx1LXUNGibS0Q7mJllaC 3wtOwmTp3HbIJDrdetaivTwkqskKTL8+liMGkYSDMZseKuUfVKhgkvOnO6TD6hyMIFNs Bpeo2ZdymgK1CT+9ZFbvw0GEtv7YcJdtGJtSJ5evWbrPw06OYeihj7RLYCbo7k5JELqZ 4qxA== X-Gm-Message-State: AOJu0YxUC1SVhqSNeRPHcO+6m6IILOCtXDgBJ6ncaKUXfCyKh4WTHAOw l0OAubZzLMmCmel2B2RhepPudEL8AylcZ+FiOtXnqckGWSbsaQVrd7PbVw== X-Received: by 2002:a17:902:ea10:b0:20b:cae5:dec4 with SMTP id d9443c01a7336-20e5a79598cmr153606975ad.24.1729517167822; Mon, 21 Oct 2024 06:26:07 -0700 (PDT) Received: from localhost.localdomain ([181.92.233.116]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-20e7f0bd381sm25556005ad.178.2024.10.21.06.26.06 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Oct 2024 06:26:06 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Mon, 21 Oct 2024 10:26:04 -0300 Message-ID: <20241021132604.5213-2-jamrial@gmail.com> X-Mailer: git-send-email 2.47.0 In-Reply-To: <20241021132604.5213-1-jamrial@gmail.com> References: <20241021132604.5213-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/2] swscale/swscale_unscaled: fix shift values in planarToP01xWrapper 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: ljvqshaIrY4T The current calculation was a no-op, setting the entire array to 0. Use the shift value from the dest descriptor, as the source one is planar with no shifts whatsoever. Signed-off-by: James Almer --- libswscale/swscale_unscaled.c | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/libswscale/swscale_unscaled.c b/libswscale/swscale_unscaled.c index a7fdb438a6..5e963ced15 100644 --- a/libswscale/swscale_unscaled.c +++ b/libswscale/swscale_unscaled.c @@ -268,23 +268,12 @@ static int planarToP01xWrapper(SwsContext *c, const uint8_t *const src8[], int srcSliceH, uint8_t *const dstParam8[], const int dstStride[]) { - const AVPixFmtDescriptor *src_format = av_pix_fmt_desc_get(c->srcFormat); const AVPixFmtDescriptor *dst_format = av_pix_fmt_desc_get(c->dstFormat); const uint16_t **src = (const uint16_t**)src8; uint16_t *dstY = (uint16_t*)(dstParam8[0] + dstStride[0] * srcSliceY); uint16_t *dstUV = (uint16_t*)(dstParam8[1] + dstStride[1] * srcSliceY / 2); int x, y; - /* Calculate net shift required for values. */ - const int shift[3] = { - dst_format->comp[0].depth + dst_format->comp[0].shift - - src_format->comp[0].depth - src_format->comp[0].shift, - dst_format->comp[1].depth + dst_format->comp[1].shift - - src_format->comp[1].depth - src_format->comp[1].shift, - dst_format->comp[2].depth + dst_format->comp[2].shift - - src_format->comp[2].depth - src_format->comp[2].shift, - }; - av_assert0(!(srcStride[0] % 2 || srcStride[1] % 2 || srcStride[2] % 2 || dstStride[0] % 2 || dstStride[1] % 2)); @@ -292,7 +281,7 @@ static int planarToP01xWrapper(SwsContext *c, const uint8_t *const src8[], uint16_t *tdstY = dstY; const uint16_t *tsrc0 = src[0]; for (x = c->srcW; x > 0; x--) { - *tdstY++ = *tsrc0++ << shift[0]; + *tdstY++ = *tsrc0++ << dst_format->comp[0].shift; } src[0] += srcStride[0] / 2; dstY += dstStride[0] / 2; @@ -302,8 +291,8 @@ static int planarToP01xWrapper(SwsContext *c, const uint8_t *const src8[], const uint16_t *tsrc1 = src[1]; const uint16_t *tsrc2 = src[2]; for (x = c->srcW / 2; x > 0; x--) { - *tdstUV++ = *tsrc1++ << shift[1]; - *tdstUV++ = *tsrc2++ << shift[2]; + *tdstUV++ = *tsrc1++ << dst_format->comp[1].shift; + *tdstUV++ = *tsrc2++ << dst_format->comp[2].shift; } src[1] += srcStride[1] / 2; src[2] += srcStride[2] / 2;