From patchwork Thu Feb 8 19:07:09 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Connor Worley X-Patchwork-Id: 46116 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:a586:b0:19e:8a94:b663 with SMTP id gd6csp480246pzc; Thu, 8 Feb 2024 11:07:41 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCVBOTiJhbnJZKd5YllI54I0otGFfYvxENbwMExG20KZLeYoOJp/DYMPRnTrglRktIn9nr83DAF+M5Usicg4x+JkyNWWe+kS7swODg== X-Google-Smtp-Source: AGHT+IGlB7dGLP+StquQcfgjh9CXHKJMBenmcXTqYTwrxF/O62D69cleWwVAFItksT55T8RioFjk X-Received: by 2002:aa7:da04:0:b0:55f:8bba:d0ae with SMTP id r4-20020aa7da04000000b0055f8bbad0aemr155946eds.23.1707419261492; Thu, 08 Feb 2024 11:07:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1707419261; cv=none; d=google.com; s=arc-20160816; b=bnuoGnkJmfNmkFlad3W008ZaO4NsRg7Ra+Ki88jPsPH7NSJF7l5+U28j6begXF32JG uD9IdlDHP6DPPJ3qctBQBeTz1Yx6lNr0TKxSSSUpLIfcCTXiT+lyBi/6GUlHBlDJKhoI H3F4K4IxP3fjKam56QaMvwrc8/XyJvNL1mq9B7xtkJiWCH9cSSSX9BpMwEuGySSkguRc OXZtEmctdldM81DeUsRNIGokLDM7YldO8KbFF/OHhSqqJpyoUkgISSZEvfijWo5MoNXJ moOBhDV5BYqySCBjEagVhKr1PkgzlGJkdlU0d9sK4cs9YgdN5Tr7xRe/Belf3d051R1O betg== 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=OqqRz2r3HfO23VCylf71NE2KWNvd8T/16LBKDYi9m3M=; fh=UlCd7+nofNjw4ENWV2hqHjEAXqB2KsYJ2sOSVSWdV/E=; b=KozbHEPFDQQwbnvKriYwRp8AQyloFQJoqSV/fNo9M1RYU+ZksdRM2EGSw6/yIgfVpo 3BmA4Vq5Mkk3ZKp2zRkqsDBGyqtmZI7IsBv3IxmZSs7y3EuS/H0sR7qZ3K1uVoPkzD5N nff26pMJKJ0qKtmk17EAEXecgdGI8+TbaMETbgA+SN1nMfGWymOqgXk7Rcpn0fgS+aMq CsZeEv9jS5eOOY89xErqYm/pDVgemjuIYRHdb9Oy2QGbPUb0fP+ODqzjgsdq/PPiNtMq UIQr6W4c7CyQ9DMpK++alu3WHc6/1ABdYlBkQnv/7KRszB5TBLnfK1tQPwMNAIEcCN3a 5afA==; 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=L1TQlo0a; 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=1; AJvYcCVzboAUUZwJTfTsyMgqz4XPKvfpJIS0lNFzpoSY9oBoWEWSOJFpQWqJ9DCv3g6NuQ4XPhOV92XFNbpodeqmSeK+OZPPwhie+uJlicd/zzs9o4v82gJeR+4EjZLFhjxjBK0H+p86ze9BvAkhpHM5qirsFU27+ZiN/2SCZYtGZwcBLk8/EAxqjXZqhun8X2uX6l8wwaI6QRXTSrMBv25cpxw0b0o3w4v7kfoHnoMtiHaLwhIvunSjROMahQj0XCZuFBJGt8LJr5oD2To2g5BXXs9nDaPJw96J8WmJt6FfiGMEhk5BpV/d6oWvdXvKhN6CQTfDkJn7TKsJCTzno10VxQbHcNqdggegWwOWE3RJ7PEBQuYUtrs2Smug83LPYIqX8fbaIz4BBkyTlwa9pg0E0qb9XWbkjb5sLtfQb6xDdcbnTMcAk5ev68fXwhFiZ3w7jJnytJ7yjBZij4LjNjP3qoZlBG6tXHzs4AxJSQyPEY39sWn6F3O2p2iTXd92vOcrm/Y5gmNikL5KDrrJZDG8s2MojiOjjG3JS0wxTmMM578i1uJtNi8nv6RKYJeEFYDVXrmqnzPuy2OuOEp5La7fwi7c00VMgGeC5Q9qZZCuwZeNoY8Q8rW2hov6CQyaVuhjzeu6PqvQZ541oVQ6elI8rYaotMbimd21/Qvt8q5tRq4BnJ9TpdkVM4qeB2QgGU4ZM28GUib+ZNoicar67hK+vGHj3aZGfZB/prI87fg0h1JOhpcnPYJqNPyw+j6YkIG6u/L9UtP6hbmZshHNpyzoaoZHOSPAB0AzWmPS0rEzBvjIcsoSFpQvZwsk/UDPcPX1Vj2PIhcvF79NrFKjE4VcFs02CGJTGn0xQqCXi+G+PXoM/d1K6vrqnAwsRuExZstUr8SMe+w3UmNgDYm5R37WyJGEh1o7T7vJtLsfbLuL5sZSH5Edcn0KpSR2RkZwFSJCcpuylu EZwcNxSL4Nza9I80Vnzs8ZtagnO+W05LCNvsYLCedXcepeDacJv/i8pqfVBlea0tF8vLXzC22xnf4MkaJlYnSr09GZqLoeIYQoTk1uhnyLjirJli7C3oSg6wWQM/H/oszJf9WDo1VSyePt05bYydGnjBn7b/UgtxKMVYC6dFrgz70QcrHWF/0zL+YvMLbOVXoixf+MhXrpbkL6wchloYH29Qc5GSvOQz21nqAKbpoZbRylO4FY2DrHUqsZ13nN2h2fCrGV3rxyDXOVCUIWT783oYxxVzdCzxWGYJZIUljOi/DCVq5zPqQAr5aFNX7P4qA1PGH96xRi2a8no7XmdnKKmIhDsnMTajwHYr5PI1XRrRM79tALsrYU4+n60navrFZZxCoJhZqkASo2epsTW+g9rBhJfDb5OQ03kOqhW0/mxqdM755dMogHB4obMbML9bWeI3URw8NBA+W93I1kYNDyUUR8az98F7dZyraLoCJjfIP7EFIzvv5mMnGuwrNtzjfo/XgJf2TRh9/mHgUmoKwjxX75ZFViZYWQQyKx07FFnkw+OWGZZPLw4FjvZILJfQx5vOH5hJ8UBGAb5ABu4c7ipSBys7z/cc7SubJBklyv8X/ZOjjI1qJDXn3zcyGbOdzN Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id bm28-20020a0564020b1c00b005605c7b1e98si23462edb.151.2024.02.08.11.07.41; Thu, 08 Feb 2024 11:07:41 -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=L1TQlo0a; 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 9AA8168D17F; Thu, 8 Feb 2024 21:07:36 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f180.google.com (mail-pf1-f180.google.com [209.85.210.180]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 93A6568C8B4 for ; Thu, 8 Feb 2024 21:07:30 +0200 (EET) Received: by mail-pf1-f180.google.com with SMTP id d2e1a72fcca58-6e0311797c5so127725b3a.2 for ; Thu, 08 Feb 2024 11:07:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1707419248; x=1708024048; 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=LZ9ZFzhpUw9VO+iQpXw3IxIuzgjNhi8NKuS+B14FuQc=; b=L1TQlo0aRRS7vPNCjs7TMio2hS91ZDvCm9cRx+4h6V7Hr1Rv1mZFmUV+ES7/QH2sQN fYZCBvkiVb/Vk+BvJLgHucDb4biypb7BCib63cWWhAWe6VD1fVOnutZQ6u4FAl7xQhuS KU4KEqMZM35rrg/NTkos1PDHSdqTcrA7QlLcSQ2UOgn7duhjXKWC2wm4Kr2TqsRrcXiH ZoLi4MayyjD/eq6P4pav7HoDRj8IWfS+I6XgvefzST86uJbdv8PhzTgAJHzwKfdweU5A 0GdaVTGDR/HiZ16zfQMs7zVzUHH0U0t2VK5mVVH9nOJtkJN5P44tqMu74iQDlU5lp/Kv fHow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1707419248; x=1708024048; 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=LZ9ZFzhpUw9VO+iQpXw3IxIuzgjNhi8NKuS+B14FuQc=; b=YJhXmm/WBjppIS2IzN5xY+6FGF7jtXeGZfk3dBIclBeyoNDSe9leJ17CbTFDu6X0IO RsB6ZBMFfKTM6PKs467gUpe0NX88/S+gGtb4p8htIuHGYfo9s8wRakmRd/+LM73dMR3k Ecx1+2pUC4BrLusTNXibqtPRQ1VD6+d3Bs3zEoste39TyLHwaHg/Ax2pPxeHAZmEqzk+ rFB9MdYqNgxKNaiHuBof0Bl40bhdFc3kXZfCGV9EYTUckx5N2CYd2ohsqL0o+G2rImvv Iw0PgCnLT0fTW3lbEhdui211YI8qxTS6/P+9th4/jQ/UhYD2ZV1PxY6IaB/6RFOa+aD/ 1lLg== X-Gm-Message-State: AOJu0YzSTqmUJYPhrP7CiGjs1PTNZRV+Ly3kIp4HKT6Gxw9K/wRn39uj Fe7KWiOscPPMcxR6CO7y2RlGlzMCj3/IBTgepOewXFkmR34Jh+SD4TSeTpCP31c= X-Received: by 2002:a05:6a00:8e06:b0:6df:e229:8f16 with SMTP id io6-20020a056a008e0600b006dfe2298f16mr187202pfb.17.1707419247782; Thu, 08 Feb 2024 11:07:27 -0800 (PST) Received: from localhost ([2601:647:4600:84e0:acc2:74e7:bab:f386]) by smtp.gmail.com with UTF8SMTPSA id k16-20020aa788d0000000b006e0651ec05csm88491pff.43.2024.02.08.11.07.26 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 08 Feb 2024 11:07:27 -0800 (PST) From: Connor Worley To: ffmpeg-devel@ffmpeg.org Date: Thu, 8 Feb 2024 11:07:09 -0800 Message-Id: <20240208190709.38110-2-connorbworley@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20240208190709.38110-1-connorbworley@gmail.com> References: <20240208190709.38110-1-connorbworley@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v3 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: bxIroNF2DTy7 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";