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";