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); } /** From patchwork Fri Feb 2 00:34:00 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Connor Worley X-Patchwork-Id: 45964 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:1a28:b0:199:de12:6fa6 with SMTP id cj40csp638520pzb; Thu, 1 Feb 2024 16:34:30 -0800 (PST) X-Google-Smtp-Source: AGHT+IHts6jGdPP7k50zgjUFnArU59wOYc2NIienYZiVgDoA/l/MgpoLTzntABlXh1RwzLkmWLUP X-Received: by 2002:a17:907:7745:b0:a36:f854:7a84 with SMTP id kx5-20020a170907774500b00a36f8547a84mr430970ejc.11.1706834069818; Thu, 01 Feb 2024 16:34:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1706834069; cv=none; d=google.com; s=arc-20160816; b=vgLM7W5PLf0Zl2OuhI5q6GRK8oL4raKF20LP/O8dMEPd1ArtxnJM61UorCzAu9qoMu kv+LXP17KXpiIAuBe6XvzA51fyAsFAn32AFDZjKtFvzaWXwo3OOSRhlZRncpOeTVYomC u5cuOqIxAgOH3439KVoc1M5iKDi/3IkcZ1AUit8Q12Us3HEkE3PZ7tBfOSFIeetxa2st 832OObqV9s8Wd18gEj5pQAoUTHx71UUCU2l2cHSBr69zb9cSX4xZ5tsUKbq15zmP6mYO r50O5IlbEOFTTfO/O+alt7l0UIzT3BaEv/2a9qPYhi2WX0M0MYjZ6ORozlZQY0G1rTbH OcUw== 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:references:in-reply-to :message-id:date:to:from:dkim-signature:delivered-to; bh=XSBN2QjxJueoDpKhCifwVtHN4aMm4RIDp1P7pwI6stg=; fh=74tZq1hUL8ql7unv4GMcVfDkH8Wx0SkH8ZZvITwN8/E=; b=RPF3hqPVZUB0V8xmMvPrxhdp8EUiDGmUPP8C5asUg35w2K/WxL3GqpcP+yrMJTPKde Ugqqn7sU89faicVG5buqHxF1TajQml4d6yP6zij0uCqJ1zxaEXqSHpG/q8FZOHYl07lt BnuggF2++2WUDwBLimprWiraqVdiI4wOL08zJDFIcvyflkvo4p6cciMgOh5i2wSit/zj 6z33aygZYRHMMeo/7faVY/kgLtO1FDolsNtn1RXRTcxR9e34jbkuWMqxlL8KJpP5g3pk +SWxWpL6Em+ubnXI8DmPQkxKc9cyZxwVQs4O5KTewnWJDs561CoyyAP1WP6vjuCfRdkl cHVg==; 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=PSoaAlIR; 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; AJvYcCX4P31lZzbqgGlauWV6GBxT6PLRBVuLuPlxs7Reka3+V8M1ZX9Bd2+ut2kFeYpDCsArLSvzAkk1KF8234R7WkHu7ZpNkhGk9C8Mtsnes7pQI37uLZC0JZVYiumZmz/9GB0U1ymM2Ne+7JTKWVT2Rn7MsEo1cDQYehJwpbOMN+Rqd16g5WPaU67B11CvN/mLqZkBuBNnQHvx3sDFbFq6RCxQmTQ3CEve/E39BIKPGtcPt+9w3xEH+j7S3xEMJ6TbQ5LGa/SP9oRM7Cngas7TUEDyuZEblPmIhlLu0Pks0SmXAncE+dGZETXuPUPv0ELx9X1PhefAqrrAFMOOPxKUx55zyn4k0GAq0WSgaMpYehtVoQRb11Fg5357iD5vbDyD+l/QgQa67xPUFMqpduwJ9g/Pc2yiKbYiX4gF59+ze0zEsmn1B7IXMll8hEK/GInA6v8a8MOYT7Fdpjuj311+PrR3wWwWq6BCUy/b8QiQ0TGpajjTELiLTqhD83V1jD5tBXKipMJUVXgJTP+h2p8FuvL0HsF+2s33n5NhJjAthaGFchepHWr4QGDS6j2tdJmI0sf8i5Ge4kmQPqnvaVUjup2sfhGiEs/zvAMNlL6ZMBw7mVshlo4cEEZnG1hHhwtgzUw4eJ3rbdHJ3PELgQxjpnCtkQVF/hE0h0Xm9TX7wLaMG3p9TN2tKFLcO4E3jAa+QbLbhr7OhdFxsLKAZc0WG4Pn3V0KNWMTuHTlGkEJXfK+M4t68UZCLKHRK8PRfFB962Qmi/8rU4okHOW3HexWiEZPhB4I4Gw0m8Le6zL6nPuHdhKnkNDbxzsMkH+7eONYo0y8Lsyy8cis2guiHlaLCO7r4TGGjnOGHzGawCAXzYbqt4iLtDYzzgSr7TspPNJdz+kD7r3bJ0W38knJk7AQBOjuIGwKvOfFUXP5qp2z42v78SQca6ZXNoFwJ4cIG7yRzHAoiv IAkilrySFAz0eJNfuNzir+lBscKYNNbexIyGs1MG0Nrme7yClMdEEEoksOqbjc31S4OBs/8hGanu+Bj8JcsnU4Gg9T8+CB0FF4++dbl1lSuxDAcrnkCZXElN1p5zXNtBcmd95AAHm1R9si4AV2/0AsNPFJwhShWC8PpAVt7VvOE2TkrLSAhRvA2Ip7NDeSZ7MRVTSfvFru52TZf5xrd8HffUM63TQXE7DtIredA4/HMmbxloFfPi9LtIshN1mHpYVmj4l52WRTIO6CH4up6CJgb4flgIz1hOe4TiuKGM6gr49kYJY38Q7eRCCv5QwBCd2JRlLyJnEt5uQqDkvTFfLimvmdTBbt5BJOECh8b9OgcoSqoIFtBlHfWJ2LDQIoBsbSBw5nTIB3GehgrL/s83yovQC9UjMo1tNGccYo8xZ5W4E49oqFVnbp9CLt/LNrKjRKrE1FCEpbt9X860mw3+G2mPEPrahmYBHEEhqzLSFP3saseSKTZYFiOPwyNotwxl3NMKBRUL+tL95ZZgLR/vk6Sto6RBghfZc6KIW/s2RsXNbA3y7ApDob2MRIsQl91IVSVcp6tFzQOXq0iFyByU2Qn1u5JW8RdH6ztO5X5C1TLZTZyK4qOzC4H5B/DP0oNpUi/oPkmfTP Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id le9-20020a170907170900b00a319ee92426si310798ejc.433.2024.02.01.16.34.29; Thu, 01 Feb 2024 16:34:29 -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=PSoaAlIR; 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 1386168D09E; Fri, 2 Feb 2024 02:34:24 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f45.google.com (mail-pj1-f45.google.com [209.85.216.45]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B164068D0B4 for ; Fri, 2 Feb 2024 02:34:17 +0200 (EET) Received: by mail-pj1-f45.google.com with SMTP id 98e67ed59e1d1-2906773c7e9so1145952a91.1 for ; Thu, 01 Feb 2024 16:34:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706834055; x=1707438855; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=C0ZCdtkvMWEHSAdsAXdSjUxrWPVwTaG2F1OHVQHm90Y=; b=PSoaAlIR3ISy1byVH/YZP/1drpU0hjmwxNRRUWtdAivU/QAWcg+6z5RJ/vZFfDqYsx NY1EUePAPBMK0CzIkDA5pm8yp/lY1ba0l936SGPz0vQ0TNCL70mkEP+QqS7jf5y2QNc+ NTdkCzg4Lj+EYc1Oujd8cmnF++agZydN71FTgBNoS0kPlQOgqvF0fBN/WkhmRhEdUbyy GmHV0wE8U0RB1EnkDp6MZVqnoFYCmj7lHQcym8AigHyrRB42kDlSLTrCkLAyfhp33ZtA eedT/TmwUk8/YMhJxWnW6W3iFyBOzxiQAW6hnS4PANjqJiiAqpF3Xo8PB27JXF8AofNc jpKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706834055; x=1707438855; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=C0ZCdtkvMWEHSAdsAXdSjUxrWPVwTaG2F1OHVQHm90Y=; b=g/bgH8XiXSYFqXADoSI8ZNU36sE4V5XeRn0ZD1BS5iVFTXjMr4kgNPuvUL/mCAuC4h ZroRGhIotNEbZ9ZC6oP6PEY9Y0RMD+kOKwXF9BjGqL1NJFrckMSv6hPG6gW7MnhHHUBa 0LPLJJV9RZEmsDnDcE7ghguB1mGuakNTGmOSLYYo8XSXKVaVxM5klI1APNiuHY850aAt IIUOy7qTYHxyjX1U7bl4ZLuJp8W5ArQxUwrag8bqRoPlyxY/jmMk+Urg75xqvDSOLRta lEVKNAAqRwqMu/cSjq/m4ziqJAKT+6X4clbxHjlZnuSFuQXJy6D5GSRhW5opnuMWp0I9 ElDA== X-Gm-Message-State: AOJu0YyOWfMPDCdwkjp84SF8EB75DCvwsDAJ4ZB+OVkFKVFEDHxONPWD nImjB85FT1YuN6mRs7UHwaTWSYkJsdXr885tP1ZV05YxIozoMvxY9wlJqAa7 X-Received: by 2002:a17:90a:d196:b0:296:2f9f:8969 with SMTP id fu22-20020a17090ad19600b002962f9f8969mr1623220pjb.48.1706834055016; Thu, 01 Feb 2024 16:34:15 -0800 (PST) Received: from localhost ([2607:fb10:7301::1]) by smtp.gmail.com with UTF8SMTPSA id se8-20020a17090b518800b00295bc312ceasm443627pjb.34.2024.02.01.16.34.14 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 01 Feb 2024 16:34:14 -0800 (PST) From: Connor Worley To: ffmpeg-devel@ffmpeg.org Date: Thu, 1 Feb 2024 16:34:00 -0800 Message-Id: <20240202003400.30850-2-connorbworley@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20240202003400.30850-1-connorbworley@gmail.com> References: <20240202003400.30850-1-connorbworley@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/2] lavc/dxv: treat DXT5-tagged files as DXT4 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: sSg3E0ifvyPe DXV files seem to misnomer DXT5 and really encode DXT4 with premultiplied alpha. At least, this is what Resolume alley does. To check, encode some input with alpha as "Normal Quality, With Alpha" in Alley, then decode the output with this change -- results are true to the original input compared to git-master. Signed-off-by: Connor Worley --- libavcodec/dxv.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavcodec/dxv.c b/libavcodec/dxv.c index 5923811b29..1e6791e63f 100644 --- a/libavcodec/dxv.c +++ b/libavcodec/dxv.c @@ -1074,7 +1074,8 @@ static int dxv_decode(AVCodecContext *avctx, AVFrame *frame, break; case MKBETAG('D', 'X', 'T', '5'): decompress_tex = dxv_decompress_dxt5; - ctx->tex_funct = ctx->texdsp.dxt5_block; + /* DXV misnomers DXT5, alpha is premultiplied so use DXT4 instead */ + ctx->tex_funct = ctx->texdsp.dxt4_block; ctx->tex_rat = 4; ctx->tex_step = 16; msgcomp = "DXTR5";