From patchwork Fri Feb 2 00:33:59 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Connor Worley X-Patchwork-Id: 45963 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:1a28:b0:199:de12:6fa6 with SMTP id cj40csp638449pzb; Thu, 1 Feb 2024 16:34:21 -0800 (PST) X-Forwarded-Encrypted: i=1; AJvYcCUGbmqx9wR8f81ugScjc+BDKa9OYHQrXmP7VwntquMzbGiTJx7mCRetDyVSYj7CfVbMhIKoUxxiAMB9njhdYKdmMioPfx0pznMmOA== X-Google-Smtp-Source: AGHT+IHQgWB4JnsOqqXI1+VDkGDqnc1aW3BZq3BZIOA3e7AiIabe9NDbP0eVVC/K1QHUsn8ccOLO X-Received: by 2002:a05:6402:1497:b0:55f:9063:f639 with SMTP id e23-20020a056402149700b0055f9063f639mr458830edv.9.1706834061294; Thu, 01 Feb 2024 16:34:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1706834061; cv=none; d=google.com; s=arc-20160816; b=PJEyeaROhWRljcDH8SnZHKwShngvPrzRceeK+70htyaHchVlFmKYW6ACj2EaBw7WFY Av6NdrEbNV0sLQdq/ofJLWRnLgOafi+CT5MzBXFw/c6Abo8MN76TqCFTLFnHYGYKiCK/ X9LDSPv85rfTyxD8qZGr2Qvf0kRghiglkTJmFn9ZmrJr4GKaTQQMkI2b7AcHc4YT//Bn a/mLFQJzt7dTKdltlKmcykfqePIFi6XgyolDafDOsmpwL+RKS/8lcKpPJhtAJaiEOmRO LrU6Um3ZDhN17J+lWlADhYHTkEnCYvX4AlRHMMQRdx6mUCO1Wdup+q7/SgT+Oay4zGId wk3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; 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=qj88WxsIQRyaBwdKA9FHQPPkBDg59PnVciDKQH4v3C4=; fh=jkKZlqpgHBOrP/5N8HTBUKTBW+OuFvUWn07bUvOGEZs=; b=hxugq2vr2f2W3Wc8cgoE0X9SvUZ+cglgulIp1gQbZxTynB4PsSiDj+cYH/f3mGYNw9 t6JXBRkzcDGMAwnPYZq2BqQu6eqjUgsiRYluxsgh/bHgfiny8OrvS1Vvgrt2KS6quTOI ACH2tSQqhiPZh0lEj25wSGCLQMY8oSJ9F7Muv1KFTPUoPMQgX+QvvtwkHMj3yk1qqzWa 2w24abS74r8jYxJI8iJxg5TiT4XHlJ+pclNXN6d+CPj/aEVQsUJtMUEHeJtSFlvcSMdr Zjpd1vmEIALsLDRyw3fE2P6yC9AvT6hlOQdTdzBYJtYyqv2YtbkLKOt6j7DY0DLOB4EW vKdw==; 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=a6e0W6Sv; 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 X-Forwarded-Encrypted: i=0; AJvYcCV28aIYPjKUmbOhcZRhJAow7n28wy401xKeR58/NUhbThZ9BNjEJlfAKGsojW21CCoRt/hUIEh+za0kiuLPXe6p4gRQQIbiA+da2/2BfTI23W4R/fJjS+xvissGmkikymHyasG8qKNhR3Br6iV32VV0IxUYX6TN/najkHqSnlQn+iJxmj09bhqNkkJrWPsq1erW2+1MIM1ncPx2LI2ua9bHDroAOd4kUwJ1oZf5B1Z31e7Shlf8wIY2DAwHhms/IcGCMgcXM1p9mCWl7V1P9ZsYOUQgM/ZLKbjZTWCinmAmXq9cXLw9rNqiZ4LMew3XTa6zl421aAGG/qz1HdZXtdTfVdlcBVw8i3AJ7D7fs8ufib0QcyWKkfqkS7Vb0ir/t90wBoWZtOEd+xKdk3yN7xxdZ69lQS+gY6h5L6m1+cFypGV6uFwT4pkyVb84uno/44AxZY60m+leoM7MuUyyHbmYzW2IMmXRNEgpvdU+U0aStgV6SEZ/VcrWWk0mlybV4C3nRDggf4vBKWFjtFEPyyw16l0AV+4wXEYCTN/bXdEMqoqncSIRPwJwQJRSUoQrLTvL5v89sIDNRA8/CNPNUV8QZ7pRnvksQrDvcBgE6ymMT33aG3nS+Y9mDMEfWvMC7sMJSXNg2hNxlKLgrCUYU9rr9l2V6YsSOLWuTu21oXItM8s6u16rEt1kbRjrqV1lFz9Kvc/Xq1OCVsckV76DEINrHYpz6IHFZbHBO3LEsSOWfuNR6wq412rmpa06LR0wX/LmQfF7rx283uqWGc6SpIz9+nv/wWLeVU0QKxgllH9RJNwgHSFbzoiL+VQ2L8o8OTvMuJ8JLp1SOHcJ+J5gLgQGt5NU0yQaIuExbkCLEf0i6OJAZhHOk6l2hWMLQS9Ho1BpISUq+q/H1Kt1YDafeGSX8t5k3EC+w4YvDj+iCefLZ5uAkrRhgkRu85pZk2AQI0fZ7d 6EIFK3kDTHse2+33bkZrl6ewKfcxWT5h2RTTZLQlaOEozjGSOO2IaYY1ApiPnlw6hl7pUv601vZM6PQv6/klPGdA8kPCnF0AETJnXC6Nac8D2wsyTKENaPaBqdtUNBhciK+koU93ujXzuvn439BxwLUKd6AesbN6yLDBUha9vzsgdzyERbUE6Tl8Ag3ku8h3WFHBMC2gCzyAztlGuLM8AN53Fn/otkVhgvjDo1qbKfjZjBr7LvVo81ppO569t9fcNKYG+79E/4tMHg8WK04BudCnkw7THDHfTUKPKyZ1Ju3PjIKhR2bjSfQEVABLmXbsb2cAH8Tn5SL/WEqg/JSKsM/3WLGEZ1B8L7fe7mN6hvuwMHHUzT08Tr68lFnzmsVCXNBJkmEOhQHac5Gc8T2SfgbUhSi93ryvZiQKAZogto27x4eqWPtX/Pqi5bqYmK2l08t33OYU6q9SlDvxU7J95QyEdlzb7BgxXHvOkoWSqrSq/zv8I4VJf53e9LmIBnM5JJCSXBNdjvq4dwWh8dYyHAiZPtbLch5/dn5aSM5OBCn9d1e33HPROILcIYcK4FcnEoM4gjHw2ej6+AWi0V3cQTgqHkcVYdp7Ej4fqfAn+ygkfSDwlhQYM49hQCvRoiNfHOtBP01mqi Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id j8-20020a05640211c800b0055e2d85578bsi304981edw.299.2024.02.01.16.34.19; Thu, 01 Feb 2024 16:34:21 -0800 (PST) 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=a6e0W6Sv; 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 C803168C25D; Fri, 2 Feb 2024 02:34:16 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f42.google.com (mail-pj1-f42.google.com [209.85.216.42]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 66E7068D010 for ; Fri, 2 Feb 2024 02:34:10 +0200 (EET) Received: by mail-pj1-f42.google.com with SMTP id 98e67ed59e1d1-2909a632e40so1253725a91.0 for ; Thu, 01 Feb 2024 16:34:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706834048; x=1707438848; 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=Ef9BkWutFT7M2hHRYhhbJcSdepqNVW0/ZjVJZDxvZe0=; b=a6e0W6SvI6cJVc1m+ifIX43YjJvc40sg9SkvCYbzGmnUynQK92OEhQMw/Rcv22Ng/c iRn3Iiqu3hVq3kmZZQgbQ5MjL9lhBrqNFBhoHtw1AFuJKkXTkEelCdysv9AzNe+dTmmY w9tb1ocb8sUPE+Z+rk+wT4JioqwFkct2U7COQzh06e1w2javzoQyEQ8p2dLwWAGK1TH6 mCEmxPLZvqQg+s46/pfEdmhsP+jYiBx9oANyCmpQimldyg+bjxx5Rq/zs4+r/KfNwJbz QW7bWunelFpFFEnMmmV3NMSOeoNviDUvXGuX7EPJr0NyM6V0N4RNR85cRqUN+dD1WCMQ vTtw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706834048; x=1707438848; 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=Ef9BkWutFT7M2hHRYhhbJcSdepqNVW0/ZjVJZDxvZe0=; b=dQNTdpCsrmQ8GBixmKHd90WcJOQm8pruNX/nrPLTDTuBJVe+kMo4z9XGNDEXN5cn9a v2gunnPopjuHXcpur+DU5BMQxsEbsnMJG/0t3QRSZM3ngdfSvDVAQ/3DDMC5O95YMv6+ lf6AeEZDPJqCkFRgRg/H6lt5vlGR+OxRgrcH8wdEsPIMZXDXrqz9y7rnNk8nh5JIIoBY JSMi+1H7wNJu1ZEvgYpDMlQ9f/oPsQF+NEV9e/Rv1lJPBRZkGQpcRzzqHlqRZaD51QdF nTADnEUo3VF+voKvTnBAFD1hDS+qyB4hO5BmR6BuoBJYNprrKYWJI7/SHbmRC+GKGpjj jayA== X-Gm-Message-State: AOJu0YyK7vOW0dIsQeb0GR6kwsFSbRuw+YE35qVzXj1fs5S1MnH8eJHs CB/f6npsdl7P40a+kwl3ADym1iZ7ClSm6cqy/NhtsaL4hBlc+jJcHV4cBMhv X-Received: by 2002:a17:90b:610:b0:293:f46e:a354 with SMTP id gb16-20020a17090b061000b00293f46ea354mr6245438pjb.3.1706834047856; Thu, 01 Feb 2024 16:34:07 -0800 (PST) Received: from localhost ([2607:fb10:7301::1]) by smtp.gmail.com with UTF8SMTPSA id b21-20020a170902d31500b001d7222d8caasm417493plc.50.2024.02.01.16.34.07 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 01 Feb 2024 16:34:07 -0800 (PST) From: Connor Worley To: ffmpeg-devel@ffmpeg.org Date: Thu, 1 Feb 2024 16:33:59 -0800 Message-Id: <20240202003400.30850-1-connorbworley@gmail.com> X-Mailer: git-send-email 2.40.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/2] lavc/texturedsp: fix premult2straight inversion 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: Connor Worley Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: LwYdmUSZwrwc This function should convert premultiplied alpha to straight, but does the opposite. Signed-off-by: Connor Worley --- libavcodec/texturedsp.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libavcodec/texturedsp.c b/libavcodec/texturedsp.c index 5fb79937da..1b8237e9f7 100644 --- a/libavcodec/texturedsp.c +++ b/libavcodec/texturedsp.c @@ -175,9 +175,9 @@ static av_always_inline void premult2straight(uint8_t *src) int b = src[2]; int a = src[3]; /* unchanged */ - src[0] = (uint8_t) r * a / 255; - src[1] = (uint8_t) g * a / 255; - src[2] = (uint8_t) b * a / 255; + src[0] = (uint8_t) FFMIN(r * 255 / a, 255); + src[1] = (uint8_t) FFMIN(g * 255 / a, 255); + src[2] = (uint8_t) FFMIN(b * 255 / a, 255); } /**