From c9a2ea8180137a9659624d4db1cb168065ced1f6 Mon Sep 17 00:00:00 2001 From: Timothy Baldridge Date: Mon, 14 Jun 2021 21:39:17 -0600 Subject: [PATCH 1/8] Image hashing initial work --- .../ImageLoadingTests.cs | 15 +++++++ .../Resources/test-dxt5.dds | Bin 0 -> 349680 bytes .../Wabbajack.ImageHashing.Test.csproj | 32 ++++++++++++++ Wabbajack.ImageHashing/DDSImage.cs | 39 ++++++++++++++++++ Wabbajack.ImageHashing/IImage.cs | 24 +++++++++++ .../Wabbajack.ImageHashing.csproj | 16 +++++++ Wabbajack.sln | 20 +++++++++ 7 files changed, 146 insertions(+) create mode 100644 Wabbajack.ImageHashing.Test/ImageLoadingTests.cs create mode 100644 Wabbajack.ImageHashing.Test/Resources/test-dxt5.dds create mode 100644 Wabbajack.ImageHashing.Test/Wabbajack.ImageHashing.Test.csproj create mode 100644 Wabbajack.ImageHashing/DDSImage.cs create mode 100644 Wabbajack.ImageHashing/IImage.cs create mode 100644 Wabbajack.ImageHashing/Wabbajack.ImageHashing.csproj diff --git a/Wabbajack.ImageHashing.Test/ImageLoadingTests.cs b/Wabbajack.ImageHashing.Test/ImageLoadingTests.cs new file mode 100644 index 00000000..4c89a910 --- /dev/null +++ b/Wabbajack.ImageHashing.Test/ImageLoadingTests.cs @@ -0,0 +1,15 @@ +using System.Threading.Tasks; +using Wabbajack.Common; +using Xunit; + +namespace Wabbajack.ImageHashing.Test +{ + public class ImageLoadingTests + { + [Fact] + public async Task CanLoadDDSFiles() + { + var file = DDSImage.FromFile(AbsolutePath.EntryPoint.Combine("Resources", "test-dxt5.dds")); + } + } +} diff --git a/Wabbajack.ImageHashing.Test/Resources/test-dxt5.dds b/Wabbajack.ImageHashing.Test/Resources/test-dxt5.dds new file mode 100644 index 0000000000000000000000000000000000000000..9d9bec5416c77474356ff233b89c809e0a33bd65 GIT binary patch literal 349680 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 z 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

7v*~XE-w>bXcn2&A0=|{BSv1Yb#RWJ) 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�gXurRH2eNK6W7I1I+ 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 E13{>H_5c6? literal 0 HcmV?d00001 diff --git a/Wabbajack.ImageHashing.Test/Wabbajack.ImageHashing.Test.csproj b/Wabbajack.ImageHashing.Test/Wabbajack.ImageHashing.Test.csproj new file mode 100644 index 00000000..e264262f --- /dev/null +++ b/Wabbajack.ImageHashing.Test/Wabbajack.ImageHashing.Test.csproj @@ -0,0 +1,32 @@ + + + + net5.0-windows + + false + + + + + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + + + + + + + + PreserveNewest + + + + diff --git a/Wabbajack.ImageHashing/DDSImage.cs b/Wabbajack.ImageHashing/DDSImage.cs new file mode 100644 index 00000000..d0ad5603 --- /dev/null +++ b/Wabbajack.ImageHashing/DDSImage.cs @@ -0,0 +1,39 @@ +using System; +using DirectXTexNet; +using Wabbajack.Common; + +namespace Wabbajack.ImageHashing +{ + public class DDSImage : IImage + { + private DDSImage() + { + + } + + private static Extension DDSExtension = new(".dds"); + private ScratchImage _image; + private TexMetadata _metaData; + + public static DDSImage FromFile(AbsolutePath file) + { + if (file.Extension != DDSExtension) + throw new Exception("File does not end in DDS"); + + var img = TexHelper.Instance.LoadFromDDSFile(file.ToString(), DDS_FLAGS.NONE); + + return new DDSImage() {_image = img, _metaData = img.GetMetadata()}; + } + + public void Dispose() + { + if (!_image.IsDisposed) + _image.Dispose(); + } + + public int Width => _metaData.Width; + public int Height => _metaData.Height; + public GPUCompressionLevel CompressionLevel => GPUCompressionLevel.Uncompressed; + public IImageState State { get; } + } +} diff --git a/Wabbajack.ImageHashing/IImage.cs b/Wabbajack.ImageHashing/IImage.cs new file mode 100644 index 00000000..00d1aaf2 --- /dev/null +++ b/Wabbajack.ImageHashing/IImage.cs @@ -0,0 +1,24 @@ +using System; + +namespace Wabbajack.ImageHashing +{ + public interface IImage : IDisposable + { + public int Width { get; } + public int Height { get; } + public GPUCompressionLevel CompressionLevel { get; } + public IImageState State { get; } + } + + public interface IImageState + { + + } + + public enum GPUCompressionLevel : int + { + Uncompressed = 0, // The Image is uncompressed on the GPU + Old = 1, // The Image is compressed in a poor (old) format on the GPU + New = 2 // The Image is compressed in a newer format (like BC7) on the GPU + } +} diff --git a/Wabbajack.ImageHashing/Wabbajack.ImageHashing.csproj b/Wabbajack.ImageHashing/Wabbajack.ImageHashing.csproj new file mode 100644 index 00000000..d11721ec --- /dev/null +++ b/Wabbajack.ImageHashing/Wabbajack.ImageHashing.csproj @@ -0,0 +1,16 @@ + + + + net5.0-windows + + + + + + + + + + + + diff --git a/Wabbajack.sln b/Wabbajack.sln index fd8ed83f..c6a67631 100644 --- a/Wabbajack.sln +++ b/Wabbajack.sln @@ -44,6 +44,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Server", "Wabbaja EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Server.Test", "Wabbajack.Server.Test\Wabbajack.Server.Test.csproj", "{9DEC8DC8-B6E0-469B-9571-C4BAC0776D07}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.ImageHashing", "Wabbajack.ImageHashing\Wabbajack.ImageHashing.csproj", "{0C893E5F-1FD8-463E-AC3F-D020213ACD3B}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.ImageHashing.Test", "Wabbajack.ImageHashing.Test\Wabbajack.ImageHashing.Test.csproj", "{96892D68-7400-4297-864C-39D0673775DE}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -162,6 +166,22 @@ Global {9DEC8DC8-B6E0-469B-9571-C4BAC0776D07}.Release|Any CPU.Build.0 = Release|Any CPU {9DEC8DC8-B6E0-469B-9571-C4BAC0776D07}.Release|x64.ActiveCfg = Release|Any CPU {9DEC8DC8-B6E0-469B-9571-C4BAC0776D07}.Release|x64.Build.0 = Release|Any CPU + {0C893E5F-1FD8-463E-AC3F-D020213ACD3B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0C893E5F-1FD8-463E-AC3F-D020213ACD3B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0C893E5F-1FD8-463E-AC3F-D020213ACD3B}.Debug|x64.ActiveCfg = Debug|Any CPU + {0C893E5F-1FD8-463E-AC3F-D020213ACD3B}.Debug|x64.Build.0 = Debug|Any CPU + {0C893E5F-1FD8-463E-AC3F-D020213ACD3B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0C893E5F-1FD8-463E-AC3F-D020213ACD3B}.Release|Any CPU.Build.0 = Release|Any CPU + {0C893E5F-1FD8-463E-AC3F-D020213ACD3B}.Release|x64.ActiveCfg = Release|Any CPU + {0C893E5F-1FD8-463E-AC3F-D020213ACD3B}.Release|x64.Build.0 = Release|Any CPU + {96892D68-7400-4297-864C-39D0673775DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {96892D68-7400-4297-864C-39D0673775DE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {96892D68-7400-4297-864C-39D0673775DE}.Debug|x64.ActiveCfg = Debug|Any CPU + {96892D68-7400-4297-864C-39D0673775DE}.Debug|x64.Build.0 = Debug|Any CPU + {96892D68-7400-4297-864C-39D0673775DE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {96892D68-7400-4297-864C-39D0673775DE}.Release|Any CPU.Build.0 = Release|Any CPU + {96892D68-7400-4297-864C-39D0673775DE}.Release|x64.ActiveCfg = Release|Any CPU + {96892D68-7400-4297-864C-39D0673775DE}.Release|x64.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From abd142623fe4ce4c15642581d5c6eb5133f85503 Mon Sep 17 00:00:00 2001 From: Timothy Baldridge Date: Tue, 15 Jun 2021 23:16:25 -0600 Subject: [PATCH 2/8] WIP, hooking it into the VFS cache --- Wabbajack.Common/Consts.cs | 1 + .../ImageLoadingTests.cs | 47 ++++++- .../Resources/test-dxt5-recompressed.dds | Bin 0 -> 349700 bytes .../Resources/test-dxt5-small-bc7-vflip.dds | Bin 0 -> 5636 bytes .../Resources/test-dxt5-small-bc7.dds | Bin 0 -> 5636 bytes .../Wabbajack.ImageHashing.Test.csproj | 11 ++ Wabbajack.ImageHashing/DDSImage.cs | 125 +++++++++++++++++- Wabbajack.ImageHashing/IImage.cs | 18 --- Wabbajack.ImageHashing/PHash.cs | 89 +++++++++++++ .../Wabbajack.ImageHashing.csproj | 4 +- .../IndexedVirtualFile.cs | 7 +- Wabbajack.VirtualFileSystem/VirtualFile.cs | 15 ++- .../Wabbajack.VirtualFileSystem.csproj | 1 + 13 files changed, 286 insertions(+), 32 deletions(-) create mode 100644 Wabbajack.ImageHashing.Test/Resources/test-dxt5-recompressed.dds create mode 100644 Wabbajack.ImageHashing.Test/Resources/test-dxt5-small-bc7-vflip.dds create mode 100644 Wabbajack.ImageHashing.Test/Resources/test-dxt5-small-bc7.dds create mode 100644 Wabbajack.ImageHashing/PHash.cs diff --git a/Wabbajack.Common/Consts.cs b/Wabbajack.Common/Consts.cs index 9c40ad32..065ef487 100644 --- a/Wabbajack.Common/Consts.cs +++ b/Wabbajack.Common/Consts.cs @@ -172,5 +172,6 @@ namespace Wabbajack.Common public static long UPLOADED_FILE_BLOCK_SIZE = (long)1024 * 1024 * 2; + public static HashSet TextureExtensions = new() {new Extension(".dds"), new Extension(".tga")}; } } diff --git a/Wabbajack.ImageHashing.Test/ImageLoadingTests.cs b/Wabbajack.ImageHashing.Test/ImageLoadingTests.cs index 4c89a910..849f7b10 100644 --- a/Wabbajack.ImageHashing.Test/ImageLoadingTests.cs +++ b/Wabbajack.ImageHashing.Test/ImageLoadingTests.cs @@ -7,9 +7,52 @@ namespace Wabbajack.ImageHashing.Test public class ImageLoadingTests { [Fact] - public async Task CanLoadDDSFiles() + public async Task CanLoadAndCompareDDSImages() { - var file = DDSImage.FromFile(AbsolutePath.EntryPoint.Combine("Resources", "test-dxt5.dds")); + var file1 = DDSImage.FromFile(AbsolutePath.EntryPoint.Combine("Resources", "test-dxt5.dds")); + var hash1 = file1.PerceptionHash(); + + var file2 = DDSImage.FromFile(AbsolutePath.EntryPoint.Combine("Resources", "test-dxt5.dds")); + var hash2 = file2.PerceptionHash(); + + Assert.Equal(1, hash1.Similarity(hash2)); + } + + [Fact] + public async Task CanLoadAndCompareResizedImage() + { + var file1 = DDSImage.FromFile(AbsolutePath.EntryPoint.Combine("Resources", "test-dxt5.dds")); + var hash1 = file1.PerceptionHash(); + + var file2 = DDSImage.FromFile(AbsolutePath.EntryPoint.Combine("Resources", "test-dxt5-small-bc7.dds")); + var hash2 = file2.PerceptionHash(); + + Assert.Equal(0.956666886806488, hash1.Similarity(hash2)); + } + + + [Fact] + public async Task CanLoadAndCompareResizedVFlipImage() + { + var file1 = DDSImage.FromFile(AbsolutePath.EntryPoint.Combine("Resources", "test-dxt5.dds")); + var hash1 = file1.PerceptionHash(); + + var file2 = DDSImage.FromFile(AbsolutePath.EntryPoint.Combine("Resources", "test-dxt5-small-bc7-vflip.dds")); + var hash2 = file2.PerceptionHash(); + + Assert.Equal(0.2465425431728363, hash1.Similarity(hash2)); + } + + [Fact] + public async Task CanLoadAndCompareRecompressedImage() + { + var file1 = DDSImage.FromFile(AbsolutePath.EntryPoint.Combine("Resources", "test-dxt5.dds")); + var hash1 = file1.PerceptionHash(); + + var file2 = DDSImage.FromFile(AbsolutePath.EntryPoint.Combine("Resources", "test-dxt5-recompressed.dds")); + var hash2 = file2.PerceptionHash(); + + Assert.Equal(0.9999724626541138, hash1.Similarity(hash2)); } } } diff --git a/Wabbajack.ImageHashing.Test/Resources/test-dxt5-recompressed.dds b/Wabbajack.ImageHashing.Test/Resources/test-dxt5-recompressed.dds new file mode 100644 index 0000000000000000000000000000000000000000..1b90c6e1eae8341d96ee0d767a07af22cd281542 GIT binary patch literal 349700 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 hBly;BYa#1ZF$zu#t) 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 N#KJFyUz%2i{|5?1#VG&) literal 0 HcmV?d00001 diff --git a/Wabbajack.ImageHashing.Test/Resources/test-dxt5-small-bc7-vflip.dds b/Wabbajack.ImageHashing.Test/Resources/test-dxt5-small-bc7-vflip.dds new file mode 100644 index 0000000000000000000000000000000000000000..13942ad919b5d22ee84585858c8cbc6d77575a16 GIT binary patch literal 5636 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 PH{gJI=ctwrkNE!pqjp!! literal 0 HcmV?d00001 diff --git a/Wabbajack.ImageHashing.Test/Resources/test-dxt5-small-bc7.dds b/Wabbajack.ImageHashing.Test/Resources/test-dxt5-small-bc7.dds new file mode 100644 index 0000000000000000000000000000000000000000..911720d4368e1b001185487029b8c4bf619d5663 GIT binary patch literal 5636 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 UK_I8&&rT=EPw)-^0Efr=KZqYh4gdfE literal 0 HcmV?d00001 diff --git a/Wabbajack.ImageHashing.Test/Wabbajack.ImageHashing.Test.csproj b/Wabbajack.ImageHashing.Test/Wabbajack.ImageHashing.Test.csproj index e264262f..d7e7f80f 100644 --- a/Wabbajack.ImageHashing.Test/Wabbajack.ImageHashing.Test.csproj +++ b/Wabbajack.ImageHashing.Test/Wabbajack.ImageHashing.Test.csproj @@ -4,6 +4,8 @@ net5.0-windows false + + enable @@ -27,6 +29,15 @@ PreserveNewest + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + diff --git a/Wabbajack.ImageHashing/DDSImage.cs b/Wabbajack.ImageHashing/DDSImage.cs index d0ad5603..6f8fd305 100644 --- a/Wabbajack.ImageHashing/DDSImage.cs +++ b/Wabbajack.ImageHashing/DDSImage.cs @@ -1,14 +1,21 @@ using System; +using System.Collections.Generic; +using System.Numerics; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; using DirectXTexNet; +using Shipwreck.Phash; +using Shipwreck.Phash.Imaging; using Wabbajack.Common; namespace Wabbajack.ImageHashing { - public class DDSImage : IImage + public class DDSImage { - private DDSImage() + private DDSImage(ScratchImage img, TexMetadata metadata) { - + _image = img; + _metaData = metadata; } private static Extension DDSExtension = new(".dds"); @@ -22,7 +29,31 @@ namespace Wabbajack.ImageHashing var img = TexHelper.Instance.LoadFromDDSFile(file.ToString(), DDS_FLAGS.NONE); - return new DDSImage() {_image = img, _metaData = img.GetMetadata()}; + return new DDSImage(img, img.GetMetadata()); + } + + public static DDSImage FromDDSMemory(byte[] data) + { + unsafe + { + fixed (byte* ptr = data) + { + var img = TexHelper.Instance.LoadFromDDSMemory((IntPtr)ptr, data.Length, DDS_FLAGS.NONE); + return new DDSImage(img, img.GetMetadata()); + } + } + } + + public static DDSImage FromTGAMemory(byte[] data) + { + unsafe + { + fixed (byte* ptr = data) + { + var img = TexHelper.Instance.LoadFromTGAMemory((IntPtr)ptr, data.Length); + return new DDSImage(img, img.GetMetadata()); + } + } } public void Dispose() @@ -33,7 +64,89 @@ namespace Wabbajack.ImageHashing public int Width => _metaData.Width; public int Height => _metaData.Height; - public GPUCompressionLevel CompressionLevel => GPUCompressionLevel.Uncompressed; - public IImageState State { get; } + + public void Resize(int width, int height) + { + + } + + private static HashSet CompressedTypes = new HashSet() + { + DXGI_FORMAT.BC1_TYPELESS, + DXGI_FORMAT.BC1_UNORM, + DXGI_FORMAT.BC1_UNORM_SRGB, + DXGI_FORMAT.BC2_TYPELESS, + DXGI_FORMAT.BC2_UNORM, + DXGI_FORMAT.BC2_UNORM_SRGB, + DXGI_FORMAT.BC3_TYPELESS, + DXGI_FORMAT.BC3_UNORM, + DXGI_FORMAT.BC3_UNORM_SRGB, + DXGI_FORMAT.BC4_TYPELESS, + DXGI_FORMAT.BC4_UNORM, + DXGI_FORMAT.BC4_SNORM, + DXGI_FORMAT.BC5_TYPELESS, + DXGI_FORMAT.BC5_UNORM, + DXGI_FORMAT.BC5_SNORM, + DXGI_FORMAT.BC6H_TYPELESS, + DXGI_FORMAT.BC6H_UF16, + DXGI_FORMAT.BC6H_SF16, + DXGI_FORMAT.BC7_TYPELESS, + DXGI_FORMAT.BC7_UNORM, + DXGI_FORMAT.BC7_UNORM_SRGB, + }; + + public PHash PerceptionHash() + { + ScratchImage? resized = default; + try + { + if (CompressedTypes.Contains(_metaData.Format)) + { + using var decompressed = _image.Decompress(DXGI_FORMAT.UNKNOWN); + resized = decompressed.Resize(512, 512, TEX_FILTER_FLAGS.DEFAULT); + } + else + { + resized = _image.Resize(512, 512, TEX_FILTER_FLAGS.DEFAULT); + } + + var data = new List<(int, int)>(); + var image = new byte[512 * 512]; + + unsafe void EvaluatePixels(IntPtr pixels, IntPtr width, IntPtr line) + { + float* ptr = (float*)pixels.ToPointer(); + + int widthV = width.ToInt32(); + if (widthV != 512) return; + + var y = line.ToInt32(); + data.Add((widthV, y)); + + for (int i = 0; i < widthV; i++) + { + var r = ptr[0] * 0.229f; + var g = ptr[1] * 0.587f; + var b = ptr[2] * 0.114f; + + var combined = (r + g + b) * 255.0f; + + image[(y * widthV) + i] = (byte)combined; + ptr += 4; + } + + } + + resized.EvaluateImage(EvaluatePixels); + + var digest = ImagePhash.ComputeDigest(new ByteImage(512, 512, image)); + return PHash.FromDigest(digest); + } + finally + { + resized?.Dispose(); + } + } + } } diff --git a/Wabbajack.ImageHashing/IImage.cs b/Wabbajack.ImageHashing/IImage.cs index 00d1aaf2..6973124a 100644 --- a/Wabbajack.ImageHashing/IImage.cs +++ b/Wabbajack.ImageHashing/IImage.cs @@ -2,23 +2,5 @@ namespace Wabbajack.ImageHashing { - public interface IImage : IDisposable - { - public int Width { get; } - public int Height { get; } - public GPUCompressionLevel CompressionLevel { get; } - public IImageState State { get; } - } - public interface IImageState - { - - } - - public enum GPUCompressionLevel : int - { - Uncompressed = 0, // The Image is uncompressed on the GPU - Old = 1, // The Image is compressed in a poor (old) format on the GPU - New = 2 // The Image is compressed in a newer format (like BC7) on the GPU - } } diff --git a/Wabbajack.ImageHashing/PHash.cs b/Wabbajack.ImageHashing/PHash.cs new file mode 100644 index 00000000..dab74b97 --- /dev/null +++ b/Wabbajack.ImageHashing/PHash.cs @@ -0,0 +1,89 @@ +using System; +using System.Data; +using System.IO; +using System.Threading.Tasks; +using Shipwreck.Phash; +using Wabbajack.Common; + +namespace Wabbajack.ImageHashing +{ + public struct PHash + { + private const int SIZE = 40; + private readonly byte[] _data; + + private PHash(byte[]? data) + { + _data = data ?? new byte[SIZE]; + if (_data.Length != SIZE) + throw new DataException(); + } + + public static PHash FromBase64(string base64) + { + var data = base64.FromBase64(); + if (data.Length != SIZE) + throw new DataException(); + return new PHash(data); + } + + public static PHash Read(BinaryReader br) + { + return new (br.ReadBytes(SIZE)); + } + + public void Write(BinaryWriter br) + { + br.Write((_data?.Length ?? 0) == 0 ? new byte[SIZE] : _data); + } + + public static PHash FromDigest(Digest digest) + { + return new(digest.Coefficients); + } + + public float Similarity(PHash other) + { + return ImagePhash.GetCrossCorrelation(this._data, other._data); + } + + public override string ToString() + { + return _data.ToBase64(); + } + + public override int GetHashCode() + { + long h = 0; + h |= _data[0]; + h <<= 8; + h |= _data[1]; + h <<= 8; + h |= _data[2]; + h <<= 8; + h |= _data[3]; + h <<= 8; + return (int)h; + } + + public static async Task FromStream(Stream stream, Extension ext, bool takeStreamOwnership = true) + { + var ms = new MemoryStream(); + await stream.CopyToAsync(ms); + if (takeStreamOwnership) await stream.DisposeAsync(); + + DDSImage img; + if (ext == new Extension(".dds")) + img = DDSImage.FromDDSMemory(ms.GetBuffer()); + else if (ext == new Extension(".tga")) + { + img = DDSImage.FromTGAMemory(ms.GetBuffer()); + } + else + { + throw new NotImplementedException("Only DDS and TGA files supported by PHash"); + } + return img.PerceptionHash(); + } + } +} diff --git a/Wabbajack.ImageHashing/Wabbajack.ImageHashing.csproj b/Wabbajack.ImageHashing/Wabbajack.ImageHashing.csproj index d11721ec..26a87344 100644 --- a/Wabbajack.ImageHashing/Wabbajack.ImageHashing.csproj +++ b/Wabbajack.ImageHashing/Wabbajack.ImageHashing.csproj @@ -2,11 +2,13 @@ net5.0-windows + true + enable - + diff --git a/Wabbajack.VirtualFileSystem/IndexedVirtualFile.cs b/Wabbajack.VirtualFileSystem/IndexedVirtualFile.cs index cca6a44f..fa01224c 100644 --- a/Wabbajack.VirtualFileSystem/IndexedVirtualFile.cs +++ b/Wabbajack.VirtualFileSystem/IndexedVirtualFile.cs @@ -5,6 +5,7 @@ using System.Text; using System.Threading.Tasks; using Wabbajack.Common; using Wabbajack.Common.Serialization.Json; +using Wabbajack.ImageHashing; namespace Wabbajack.VirtualFileSystem { @@ -16,13 +17,16 @@ namespace Wabbajack.VirtualFileSystem { public IPath Name { get; set; } public Hash Hash { get; set; } + + public PHash PerceptualHash { get; set; } public long Size { get; set; } - public List Children { get; set; } = new List(); + public List Children { get; set; } = new(); private void Write(BinaryWriter bw) { bw.Write(Name.ToString()); bw.Write((ulong)Hash); + PerceptualHash.Write(bw); bw.Write(Size); bw.Write(Children.Count); foreach (var file in Children) @@ -44,6 +48,7 @@ namespace Wabbajack.VirtualFileSystem { Name = (RelativePath)br.ReadString(), Hash = Hash.FromULong(br.ReadUInt64()), + PerceptualHash = PHash.Read(br), Size = br.ReadInt64(), }; var lst = new List(); diff --git a/Wabbajack.VirtualFileSystem/VirtualFile.cs b/Wabbajack.VirtualFileSystem/VirtualFile.cs index ff92f29e..34fd5b1f 100644 --- a/Wabbajack.VirtualFileSystem/VirtualFile.cs +++ b/Wabbajack.VirtualFileSystem/VirtualFile.cs @@ -10,6 +10,8 @@ using System.Threading.Tasks; using ICSharpCode.SharpZipLib.Zip.Compression.Streams; using K4os.Hash.Crc; using Wabbajack.Common; +using Wabbajack.Common.FileSignatures; +using Wabbajack.ImageHashing; namespace Wabbajack.VirtualFileSystem { @@ -47,6 +49,7 @@ namespace Wabbajack.VirtualFileSystem public FullPath FullPath { get; private set; } public Hash Hash { get; internal set; } + public PHash PerceptualHash { get; internal set; } public ExtendedHashes ExtendedHashes { get; set; } public long Size { get; internal set; } @@ -177,16 +180,17 @@ namespace Wabbajack.VirtualFileSystem private IndexedVirtualFile ToIndexedVirtualFile() { - return new IndexedVirtualFile + return new() { Hash = Hash, + PerceptualHash = PerceptualHash, Name = Name, Children = Children.Select(c => c.ToIndexedVirtualFile()).ToList(), Size = Size }; } - - + + public static async Task Analyze(Context context, VirtualFile parent, IStreamFactory extractedFile, IPath relPath, int depth = 0) { @@ -219,9 +223,12 @@ namespace Wabbajack.VirtualFileSystem Size = stream.Length, LastModified = extractedFile.LastModifiedUtc.AsUnixTime(), LastAnalyzed = DateTime.Now.AsUnixTime(), - Hash = hash + Hash = hash, }; + if (Consts.TextureExtensions.Contains(relPath.FileName.Extension)) + self.PerceptualHash = await PHash.FromStream(stream, relPath.FileName.Extension, false); + self.FillFullPath(depth); if (context.UseExtendedHashes) diff --git a/Wabbajack.VirtualFileSystem/Wabbajack.VirtualFileSystem.csproj b/Wabbajack.VirtualFileSystem/Wabbajack.VirtualFileSystem.csproj index 362aa1b2..39d81a7d 100644 --- a/Wabbajack.VirtualFileSystem/Wabbajack.VirtualFileSystem.csproj +++ b/Wabbajack.VirtualFileSystem/Wabbajack.VirtualFileSystem.csproj @@ -12,6 +12,7 @@ + From 6706d5bfb68a59846c0739967d7edc15f44dc58b Mon Sep 17 00:00:00 2001 From: Timothy Baldridge Date: Wed, 16 Jun 2021 15:07:16 -0600 Subject: [PATCH 3/8] WIP --- Wabbajack.ImageHashing/DDSImage.cs | 26 +++++++++++---- Wabbajack.ImageHashing/ImageState.cs | 33 +++++++++++++++++++ Wabbajack.ImageHashing/PHash.cs | 21 ++++++++++-- .../IndexedVirtualFile.cs | 27 +++++++++++---- 4 files changed, 91 insertions(+), 16 deletions(-) create mode 100644 Wabbajack.ImageHashing/ImageState.cs diff --git a/Wabbajack.ImageHashing/DDSImage.cs b/Wabbajack.ImageHashing/DDSImage.cs index 6f8fd305..7cdf8654 100644 --- a/Wabbajack.ImageHashing/DDSImage.cs +++ b/Wabbajack.ImageHashing/DDSImage.cs @@ -12,10 +12,11 @@ namespace Wabbajack.ImageHashing { public class DDSImage { - private DDSImage(ScratchImage img, TexMetadata metadata) + private DDSImage(ScratchImage img, TexMetadata metadata, Extension ext) { _image = img; _metaData = metadata; + _extension = ext; } private static Extension DDSExtension = new(".dds"); @@ -29,7 +30,7 @@ namespace Wabbajack.ImageHashing var img = TexHelper.Instance.LoadFromDDSFile(file.ToString(), DDS_FLAGS.NONE); - return new DDSImage(img, img.GetMetadata()); + return new DDSImage(img, img.GetMetadata(), new Extension(".dds")); } public static DDSImage FromDDSMemory(byte[] data) @@ -39,7 +40,7 @@ namespace Wabbajack.ImageHashing fixed (byte* ptr = data) { var img = TexHelper.Instance.LoadFromDDSMemory((IntPtr)ptr, data.Length, DDS_FLAGS.NONE); - return new DDSImage(img, img.GetMetadata()); + return new DDSImage(img, img.GetMetadata(), new Extension(".dds")); } } } @@ -51,7 +52,7 @@ namespace Wabbajack.ImageHashing fixed (byte* ptr = data) { var img = TexHelper.Instance.LoadFromTGAMemory((IntPtr)ptr, data.Length); - return new DDSImage(img, img.GetMetadata()); + return new DDSImage(img, img.GetMetadata(), new Extension(".tga")); } } } @@ -95,11 +96,24 @@ namespace Wabbajack.ImageHashing DXGI_FORMAT.BC7_UNORM_SRGB, }; + private Extension _extension; + + public ImageState ImageState() + { + return new() + { + Width = _metaData.Width, + Height = _metaData.Height, + PerceptualHash = PerceptionHash() + }; + } + public PHash PerceptionHash() { ScratchImage? resized = default; try { + // First we resize the image, so that changes due to image scaling matter less in the final hash if (CompressedTypes.Contains(_metaData.Format)) { using var decompressed = _image.Decompress(DXGI_FORMAT.UNKNOWN); @@ -109,8 +123,7 @@ namespace Wabbajack.ImageHashing { resized = _image.Resize(512, 512, TEX_FILTER_FLAGS.DEFAULT); } - - var data = new List<(int, int)>(); + var image = new byte[512 * 512]; unsafe void EvaluatePixels(IntPtr pixels, IntPtr width, IntPtr line) @@ -121,7 +134,6 @@ namespace Wabbajack.ImageHashing if (widthV != 512) return; var y = line.ToInt32(); - data.Add((widthV, y)); for (int i = 0; i < widthV; i++) { diff --git a/Wabbajack.ImageHashing/ImageState.cs b/Wabbajack.ImageHashing/ImageState.cs new file mode 100644 index 00000000..36c3a03a --- /dev/null +++ b/Wabbajack.ImageHashing/ImageState.cs @@ -0,0 +1,33 @@ +using System.IO; +using DirectXTexNet; +using Wabbajack.Common; + +namespace Wabbajack.ImageHashing +{ + public class ImageState + { + public int Width { get; set; } + public int Height { get; set; } + public DXGI_FORMAT Format { get; set; } + public PHash PerceptualHash { get; set; } + + public static ImageState Read(BinaryReader br) + { + return new() + { + Width = br.ReadUInt16(), + Height = br.ReadUInt16(), + Format = (DXGI_FORMAT)br.ReadByte(), + PerceptualHash = PHash.Read(br) + }; + } + + public void Write(BinaryWriter bw) + { + bw.Write((ushort)Width); + bw.Write((ushort)Height); + bw.Write((byte)Format); + PerceptualHash.Write(bw); + } + } +} diff --git a/Wabbajack.ImageHashing/PHash.cs b/Wabbajack.ImageHashing/PHash.cs index dab74b97..2751625a 100644 --- a/Wabbajack.ImageHashing/PHash.cs +++ b/Wabbajack.ImageHashing/PHash.cs @@ -11,12 +11,24 @@ namespace Wabbajack.ImageHashing { private const int SIZE = 40; private readonly byte[] _data; + private readonly int _hash; - private PHash(byte[]? data) + private PHash(byte[] data) { - _data = data ?? new byte[SIZE]; + _data = data; if (_data.Length != SIZE) throw new DataException(); + + long h = 0; + h |= _data[0]; + h <<= 8; + h |= _data[1]; + h <<= 8; + h |= _data[2]; + h <<= 8; + h |= _data[3]; + h <<= 8; + _hash = (int)h; } public static PHash FromBase64(string base64) @@ -34,7 +46,10 @@ namespace Wabbajack.ImageHashing public void Write(BinaryWriter br) { - br.Write((_data?.Length ?? 0) == 0 ? new byte[SIZE] : _data); + if (_hash == 0) + br.Write(new byte[SIZE]); + else + br.Write(_data); } public static PHash FromDigest(Digest digest) diff --git a/Wabbajack.VirtualFileSystem/IndexedVirtualFile.cs b/Wabbajack.VirtualFileSystem/IndexedVirtualFile.cs index fa01224c..39a77308 100644 --- a/Wabbajack.VirtualFileSystem/IndexedVirtualFile.cs +++ b/Wabbajack.VirtualFileSystem/IndexedVirtualFile.cs @@ -1,5 +1,6 @@ using System.Collections.Generic; using System.IO; +using System.IO.Compression; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -18,7 +19,7 @@ namespace Wabbajack.VirtualFileSystem public IPath Name { get; set; } public Hash Hash { get; set; } - public PHash PerceptualHash { get; set; } + public ImageState? ImageState { get; set; } public long Size { get; set; } public List Children { get; set; } = new(); @@ -26,7 +27,15 @@ namespace Wabbajack.VirtualFileSystem { bw.Write(Name.ToString()); bw.Write((ulong)Hash); - PerceptualHash.Write(bw); + + if (ImageState == null) + bw.Write(false); + else + { + bw.Write(true); + ImageState.Write(bw); + } + bw.Write(Size); bw.Write(Children.Count); foreach (var file in Children) @@ -35,7 +44,8 @@ namespace Wabbajack.VirtualFileSystem public void Write(Stream s) { - using var bw = new BinaryWriter(s, Encoding.UTF8, true); + using var cs = new GZipStream(s, CompressionLevel.Optimal , true); + using var bw = new BinaryWriter(cs, Encoding.UTF8, true); bw.Write(Size); bw.Write(Children.Count); foreach (var file in Children) @@ -48,9 +58,13 @@ namespace Wabbajack.VirtualFileSystem { Name = (RelativePath)br.ReadString(), Hash = Hash.FromULong(br.ReadUInt64()), - PerceptualHash = PHash.Read(br), - Size = br.ReadInt64(), }; + + if (br.ReadBoolean()) + ivf.ImageState = ImageState.Read(br); + + ivf.Size = br.ReadInt64(); + var lst = new List(); ivf.Children = lst; var count = br.ReadInt32(); @@ -64,7 +78,8 @@ namespace Wabbajack.VirtualFileSystem public static IndexedVirtualFile Read(Stream s) { - using var br = new BinaryReader(s); + using var cs = new GZipStream(s, CompressionMode.Decompress, true); + using var br = new BinaryReader(cs); var ivf = new IndexedVirtualFile { Size = br.ReadInt64(), From 528ef51d40b7adfbcb4a40ad1a5077a53c1ebe1d Mon Sep 17 00:00:00 2001 From: Timothy Baldridge Date: Thu, 17 Jun 2021 17:09:03 -0600 Subject: [PATCH 4/8] Full round trip test passes --- Wabbajack.Common/Json.cs | 2 +- Wabbajack.ImageHashing/DDSImage.cs | 52 ++++++++++++++++-- Wabbajack.ImageHashing/ImageState.cs | 35 +++++++++++- Wabbajack.ImageHashing/PHash.cs | 53 ++++++++++++++----- Wabbajack.Lib/AInstaller.cs | 11 ++++ .../CompilationSteps/MatchSimilarTextures.cs | 44 +++++++++++++++ Wabbajack.Lib/Data.cs | 15 ++++-- Wabbajack.Lib/MO2Compiler.cs | 1 + Wabbajack.Test/SanityTests.cs | 37 +++++++++++++ Wabbajack.Test/TestUtils.cs | 18 ++++--- .../IndexedVirtualFile.cs | 2 +- Wabbajack.VirtualFileSystem/VirtualFile.cs | 10 ++-- 12 files changed, 244 insertions(+), 36 deletions(-) create mode 100644 Wabbajack.Lib/CompilationSteps/MatchSimilarTextures.cs diff --git a/Wabbajack.Common/Json.cs b/Wabbajack.Common/Json.cs index 93dffe6b..57320008 100644 --- a/Wabbajack.Common/Json.cs +++ b/Wabbajack.Common/Json.cs @@ -128,7 +128,7 @@ namespace Wabbajack.Common return Hash.FromBase64((string)reader.Value!); } } - + public class RelativePathConverter : JsonConverter { public override void WriteJson(JsonWriter writer, RelativePath value, JsonSerializer serializer) diff --git a/Wabbajack.ImageHashing/DDSImage.cs b/Wabbajack.ImageHashing/DDSImage.cs index 7cdf8654..2ded1078 100644 --- a/Wabbajack.ImageHashing/DDSImage.cs +++ b/Wabbajack.ImageHashing/DDSImage.cs @@ -1,8 +1,10 @@ using System; using System.Collections.Generic; +using System.IO; using System.Numerics; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; +using System.Threading.Tasks; using DirectXTexNet; using Shipwreck.Phash; using Shipwreck.Phash.Imaging; @@ -10,7 +12,7 @@ using Wabbajack.Common; namespace Wabbajack.ImageHashing { - public class DDSImage + public class DDSImage : IDisposable { private DDSImage(ScratchImage img, TexMetadata metadata, Extension ext) { @@ -20,6 +22,7 @@ namespace Wabbajack.ImageHashing } private static Extension DDSExtension = new(".dds"); + private static Extension TGAExtension = new(".tga"); private ScratchImage _image; private TexMetadata _metaData; @@ -32,7 +35,7 @@ namespace Wabbajack.ImageHashing return new DDSImage(img, img.GetMetadata(), new Extension(".dds")); } - + public static DDSImage FromDDSMemory(byte[] data) { unsafe @@ -56,6 +59,17 @@ namespace Wabbajack.ImageHashing } } } + + + public static async Task FromStream(Stream stream, IPath arg1Name) + { + var data = await stream.ReadAllAsync(); + if (arg1Name.FileName.Extension == DDSExtension) + return FromDDSMemory(data); + if (arg1Name.FileName.Extension == TGAExtension) + return FromTGAMemory(data); + throw new NotImplementedException("Only DDS and TGA files supported"); + } public void Dispose() { @@ -66,9 +80,34 @@ namespace Wabbajack.ImageHashing public int Width => _metaData.Width; public int Height => _metaData.Height; - public void Resize(int width, int height) + // Destructively resize a Image + public void ResizeRecompressAndSave(int width, int height, DXGI_FORMAT newFormat, AbsolutePath dest) { + ScratchImage? resized = default; + try + { + // First we resize the image, so that changes due to image scaling matter less in the final hash + if (CompressedTypes.Contains(_metaData.Format)) + { + using var decompressed = _image.Decompress(DXGI_FORMAT.UNKNOWN); + resized = decompressed.Resize(width, height, TEX_FILTER_FLAGS.DEFAULT); + } + else + { + resized = _image.Resize(width, height, TEX_FILTER_FLAGS.DEFAULT); + } + using var compressed = resized.Compress(newFormat, TEX_COMPRESS_FLAGS.BC7_QUICK, 0.5f); + + if (dest.Extension == new Extension(".dds")) + { + compressed.SaveToDDSFile(DDS_FLAGS.NONE, dest.ToString()); + } + } + finally + { + resized?.Dispose(); + } } private static HashSet CompressedTypes = new HashSet() @@ -104,6 +143,7 @@ namespace Wabbajack.ImageHashing { Width = _metaData.Width, Height = _metaData.Height, + Format = _metaData.Format, PerceptualHash = PerceptionHash() }; } @@ -159,6 +199,10 @@ namespace Wabbajack.ImageHashing resized?.Dispose(); } } - + + public void ResizeRecompressAndSave(ImageState state, AbsolutePath dest) + { + ResizeRecompressAndSave(state.Width, state.Height, state.Format, dest); + } } } diff --git a/Wabbajack.ImageHashing/ImageState.cs b/Wabbajack.ImageHashing/ImageState.cs index 36c3a03a..02c35a38 100644 --- a/Wabbajack.ImageHashing/ImageState.cs +++ b/Wabbajack.ImageHashing/ImageState.cs @@ -1,9 +1,13 @@ -using System.IO; +using System; +using System.IO; +using System.Threading.Tasks; using DirectXTexNet; using Wabbajack.Common; +using Wabbajack.Common.Serialization.Json; namespace Wabbajack.ImageHashing { + [JsonName("ImageState")] public class ImageState { public int Width { get; set; } @@ -29,5 +33,34 @@ namespace Wabbajack.ImageHashing bw.Write((byte)Format); PerceptualHash.Write(bw); } + + public static async Task FromImageStream(Stream stream, Extension ext, bool takeStreamOwnership = true) + { + var ms = new MemoryStream(); + await stream.CopyToAsync(ms); + if (takeStreamOwnership) await stream.DisposeAsync(); + + DDSImage? img = default; + try + { + if (ext == new Extension(".dds")) + img = DDSImage.FromDDSMemory(ms.GetBuffer()); + else if (ext == new Extension(".tga")) + { + img = DDSImage.FromTGAMemory(ms.GetBuffer()); + } + else + { + throw new NotImplementedException("Only DDS and TGA files supported by PHash"); + } + + return img.ImageState(); + + } + finally + { + img?.Dispose(); + } + } } } diff --git a/Wabbajack.ImageHashing/PHash.cs b/Wabbajack.ImageHashing/PHash.cs index 2751625a..a96096e8 100644 --- a/Wabbajack.ImageHashing/PHash.cs +++ b/Wabbajack.ImageHashing/PHash.cs @@ -2,31 +2,34 @@ using System.Data; using System.IO; using System.Threading.Tasks; +using Newtonsoft.Json; using Shipwreck.Phash; using Wabbajack.Common; namespace Wabbajack.ImageHashing { + [JsonConverter(typeof(PHashJsonConverter))] public struct PHash { private const int SIZE = 40; - private readonly byte[] _data; private readonly int _hash; + public byte[] Data { get; } + private PHash(byte[] data) { - _data = data; - if (_data.Length != SIZE) + Data = data; + if (Data.Length != SIZE) throw new DataException(); long h = 0; - h |= _data[0]; + h |= Data[0]; h <<= 8; - h |= _data[1]; + h |= Data[1]; h <<= 8; - h |= _data[2]; + h |= Data[2]; h <<= 8; - h |= _data[3]; + h |= Data[3]; h <<= 8; _hash = (int)h; } @@ -49,7 +52,7 @@ namespace Wabbajack.ImageHashing if (_hash == 0) br.Write(new byte[SIZE]); else - br.Write(_data); + br.Write(Data); } public static PHash FromDigest(Digest digest) @@ -59,24 +62,24 @@ namespace Wabbajack.ImageHashing public float Similarity(PHash other) { - return ImagePhash.GetCrossCorrelation(this._data, other._data); + return ImagePhash.GetCrossCorrelation(this.Data, other.Data); } public override string ToString() { - return _data.ToBase64(); + return Data.ToBase64(); } public override int GetHashCode() { long h = 0; - h |= _data[0]; + h |= Data[0]; h <<= 8; - h |= _data[1]; + h |= Data[1]; h <<= 8; - h |= _data[2]; + h |= Data[2]; h <<= 8; - h |= _data[3]; + h |= Data[3]; h <<= 8; return (int)h; } @@ -100,5 +103,27 @@ namespace Wabbajack.ImageHashing } return img.PerceptionHash(); } + + public static async Task FromFile(AbsolutePath path) + { + await using var s = await path.OpenRead(); + return await FromStream(s, path.Extension); + + } + } + + + public class PHashJsonConverter : JsonConverter + { + public override void WriteJson(JsonWriter writer, PHash value, JsonSerializer serializer) + { + writer.WriteValue(value.Data.ToBase64()); + } + + public override PHash ReadJson(JsonReader reader, Type objectType, PHash existingValue, bool hasExistingValue, + JsonSerializer serializer) + { + return PHash.FromBase64((string)reader.Value!); + } } } diff --git a/Wabbajack.Lib/AInstaller.cs b/Wabbajack.Lib/AInstaller.cs index 16c52746..c6db2e01 100644 --- a/Wabbajack.Lib/AInstaller.cs +++ b/Wabbajack.Lib/AInstaller.cs @@ -6,6 +6,7 @@ using System.Linq; using System.Text.RegularExpressions; using System.Threading.Tasks; using Wabbajack.Common; +using Wabbajack.ImageHashing; using Wabbajack.Lib.Downloaders; using Wabbajack.Lib.Validation; using Wabbajack.VirtualFileSystem; @@ -153,6 +154,16 @@ namespace Wabbajack.Lib } break; + case TransformedTexture tt: + { + await using var s = await sf.GetStream(); + using var img = await DDSImage.FromStream(s, vf.Name); + + img.ResizeRecompressAndSave(tt.ImageState, directive.Directive.To.RelativeTo(OutputFolder)); + + } + break; + case FromArchive _: if (grouped[vf].Count() == 1) { diff --git a/Wabbajack.Lib/CompilationSteps/MatchSimilarTextures.cs b/Wabbajack.Lib/CompilationSteps/MatchSimilarTextures.cs new file mode 100644 index 00000000..71c174b1 --- /dev/null +++ b/Wabbajack.Lib/CompilationSteps/MatchSimilarTextures.cs @@ -0,0 +1,44 @@ +using System.Linq; +using System.Threading.Tasks; +using Wabbajack.Common; +using Wabbajack.ImageHashing; +using Wabbajack.VirtualFileSystem; + +namespace Wabbajack.Lib.CompilationSteps +{ + public class MatchSimilarTextures : ACompilationStep + { + private ILookup _byName; + public MatchSimilarTextures(ACompiler compiler) : base(compiler) + { + _byName = _compiler.IndexedFiles.SelectMany(kv => kv.Value) + .Where(f => f.Name.FileName.Extension == DDS) + .ToLookup(f => f.Name.FileName.FileNameWithoutExtension); + } + + private static Extension DDS = new(".dds"); + + + public override async ValueTask Run(RawSourceFile source) + { + if (source.Path.Extension == DDS) + { + var found = _byName[source.Path.FileNameWithoutExtension] + .Select(f => (f.ImageState.PerceptualHash.Similarity(source.File.ImageState.PerceptualHash), f)) + .Where(f => f.Item1 >= 0.90f) + .OrderByDescending(f => f.Item1) + .FirstOrDefault(); + + if (found == default) return null; + + var rv = source.EvolveTo(); + rv.ArchiveHashPath = found.f.MakeRelativePaths(); + rv.ImageState = found.f.ImageState; + + return rv; + } + + return null; + } + } +} diff --git a/Wabbajack.Lib/Data.cs b/Wabbajack.Lib/Data.cs index 8da342e3..c2355deb 100644 --- a/Wabbajack.Lib/Data.cs +++ b/Wabbajack.Lib/Data.cs @@ -6,6 +6,7 @@ using Compression.BSA; using Newtonsoft.Json; using Wabbajack.Common; using Wabbajack.Common.Serialization.Json; +using Wabbajack.ImageHashing; using Wabbajack.Lib.Downloaders; using Wabbajack.VirtualFileSystem; @@ -37,10 +38,7 @@ namespace Wabbajack.Lib public T EvolveTo() where T : Directive, new() { - var v = new T(); - v.To = Path; - v.Hash = File.Hash; - v.Size = File.Size; + var v = new T {To = Path, Hash = File.Hash, Size = File.Size}; return v; } } @@ -252,6 +250,15 @@ namespace Wabbajack.Lib [JsonIgnore] public VirtualFile[] Choices { get; set; } = { }; } + + [JsonName("TransformedTexture")] + public class TransformedTexture : FromArchive + { + /// + /// The file to apply to the source file to patch it + /// + public ImageState ImageState { get; set; } = new(); + } [JsonName("SourcePatch")] public class SourcePatch diff --git a/Wabbajack.Lib/MO2Compiler.cs b/Wabbajack.Lib/MO2Compiler.cs index cbb35e4a..5b2179ed 100644 --- a/Wabbajack.Lib/MO2Compiler.cs +++ b/Wabbajack.Lib/MO2Compiler.cs @@ -456,6 +456,7 @@ namespace Wabbajack.Lib new IgnoreEndsWith(this, ".log"), new DeconstructBSAs( this), // Deconstruct BSAs before building patches so we don't generate massive patch files + new MatchSimilarTextures(this), new IncludePatches(this), new IncludeDummyESPs(this), diff --git a/Wabbajack.Test/SanityTests.cs b/Wabbajack.Test/SanityTests.cs index 5b4ebb34..723e54d9 100644 --- a/Wabbajack.Test/SanityTests.cs +++ b/Wabbajack.Test/SanityTests.cs @@ -5,12 +5,14 @@ using System.Linq; using System.Threading.Tasks; using Compression.BSA; using Wabbajack.Common; +using Wabbajack.ImageHashing; using Wabbajack.Lib; using Wabbajack.Lib.CompilationSteps; using Wabbajack.Lib.CompilationSteps.CompilationErrors; using Xunit; using Xunit.Abstractions; using Xunit.Sdk; +using DXGI_FORMAT = DirectXTexNet.DXGI_FORMAT; using File = Alphaleonis.Win32.Filesystem.File; using Path = Alphaleonis.Win32.Filesystem.Path; @@ -364,6 +366,41 @@ namespace Wabbajack.Test } + + + [Fact] + public async Task CanRecompressAndResizeDDSImages() + { + var profile = utils.AddProfile(); + var mod = await utils.AddMod(); + var nativeFile = await utils.AddModFile(mod, @"native\whitestagbody.dds", 0); + var recompressedFile = await utils.AddModFile(mod, @"recompressed\whitestagbody.dds", 0); + var resizedFile = await utils.AddModFile(mod, @"resized\whitestagbody.dds", 0); + + var gameBSA = Game.SkyrimSpecialEdition.MetaData().GameLocation().Combine(@"Data\Skyrim - Textures1.bsa"); + var bsa = await BSADispatch.OpenRead(gameBSA); + var ddsExtension = new Extension(".dds"); + var firstFile = bsa.Files.First(f => f.Path.Extension == ddsExtension); + + await using (var nf = await nativeFile.OpenWrite()) + { + await firstFile.CopyDataTo(nf); + } + + { + using var originalDDS = DDSImage.FromFile(nativeFile); + originalDDS.ResizeRecompressAndSave(originalDDS.Width, originalDDS.Height, DXGI_FORMAT.BC7_UNORM, recompressedFile); + originalDDS.ResizeRecompressAndSave(128, 128, DXGI_FORMAT.BC7_UNORM, resizedFile); + } + + await utils.Configure(); + + await CompileAndInstall(profile, true); + await utils.VerifyInstalledFile(mod, @"native\whitestagbody.dds"); + Assert.Equal(0.9999227f, (await PHash.FromFile(recompressedFile)).Similarity(await PHash.FromFile(utils.InstalledPath(mod, @"recompressed\whitestagbody.dds")))); + Assert.Equal(0.98703325f, (await PHash.FromFile(resizedFile)).Similarity(await PHash.FromFile(utils.InstalledPath(mod, @"resized\whitestagbody.dds")))); + } + [Fact] public async Task CanNoMatchIncludeFilesFromBSAs() { diff --git a/Wabbajack.Test/TestUtils.cs b/Wabbajack.Test/TestUtils.cs index e121b1d2..328ef769 100644 --- a/Wabbajack.Test/TestUtils.cs +++ b/Wabbajack.Test/TestUtils.cs @@ -95,14 +95,17 @@ namespace Wabbajack.Test /// /// /// - /// + /// /// - public async Task AddModFile(string mod_name, string path, int random_fill=128) + public async Task AddModFile(string mod_name, string path, int randomFill=128) { - var full_path = ModsPath.Combine(mod_name, path); - full_path.Parent.CreateDirectory(); - await GenerateRandomFileData(full_path, random_fill); - return full_path; + var fullPath = ModsPath.Combine(mod_name, path); + fullPath.Parent.CreateDirectory(); + + if (randomFill != 0) + await GenerateRandomFileData(fullPath, randomFill); + + return fullPath; } public async Task GenerateRandomFileData(AbsolutePath full_path, int random_fill) @@ -198,6 +201,9 @@ namespace Wabbajack.Test Assert.True(false, $"Index {x} of {mod}\\{file} are not the same"); } } + + public AbsolutePath InstalledPath(string mod, string file) => + InstallPath.Combine((string)Consts.MO2ModFolderName, mod, file); public async Task VerifyInstalledGameFile(string file) { diff --git a/Wabbajack.VirtualFileSystem/IndexedVirtualFile.cs b/Wabbajack.VirtualFileSystem/IndexedVirtualFile.cs index 39a77308..b80b24c4 100644 --- a/Wabbajack.VirtualFileSystem/IndexedVirtualFile.cs +++ b/Wabbajack.VirtualFileSystem/IndexedVirtualFile.cs @@ -19,7 +19,7 @@ namespace Wabbajack.VirtualFileSystem public IPath Name { get; set; } public Hash Hash { get; set; } - public ImageState? ImageState { get; set; } + public ImageState ImageState { get; set; } public long Size { get; set; } public List Children { get; set; } = new(); diff --git a/Wabbajack.VirtualFileSystem/VirtualFile.cs b/Wabbajack.VirtualFileSystem/VirtualFile.cs index 34fd5b1f..eb7ed2be 100644 --- a/Wabbajack.VirtualFileSystem/VirtualFile.cs +++ b/Wabbajack.VirtualFileSystem/VirtualFile.cs @@ -49,8 +49,7 @@ namespace Wabbajack.VirtualFileSystem public FullPath FullPath { get; private set; } public Hash Hash { get; internal set; } - public PHash PerceptualHash { get; internal set; } - + public ImageState ImageState { get; internal set; } public ExtendedHashes ExtendedHashes { get; set; } public long Size { get; internal set; } @@ -148,7 +147,8 @@ namespace Wabbajack.VirtualFileSystem Size = file.Size, LastModified = extractedFile.LastModifiedUtc.AsUnixTime(), LastAnalyzed = DateTime.Now.AsUnixTime(), - Hash = file.Hash + Hash = file.Hash, + ImageState = file.ImageState }; vself.FillFullPath(); @@ -183,7 +183,7 @@ namespace Wabbajack.VirtualFileSystem return new() { Hash = Hash, - PerceptualHash = PerceptualHash, + ImageState = ImageState, Name = Name, Children = Children.Select(c => c.ToIndexedVirtualFile()).ToList(), Size = Size @@ -227,7 +227,7 @@ namespace Wabbajack.VirtualFileSystem }; if (Consts.TextureExtensions.Contains(relPath.FileName.Extension)) - self.PerceptualHash = await PHash.FromStream(stream, relPath.FileName.Extension, false); + self.ImageState = await ImageHashing.ImageState.FromImageStream(stream, relPath.FileName.Extension, false); self.FillFullPath(depth); From 5a501226c318029bef2b65f4264da1c1791550d1 Mon Sep 17 00:00:00 2001 From: Timothy Baldridge Date: Fri, 18 Jun 2021 16:10:10 -0600 Subject: [PATCH 5/8] Bump VFS version number --- Wabbajack.VirtualFileSystem/VirtualFile.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Wabbajack.VirtualFileSystem/VirtualFile.cs b/Wabbajack.VirtualFileSystem/VirtualFile.cs index eb7ed2be..c4e40146 100644 --- a/Wabbajack.VirtualFileSystem/VirtualFile.cs +++ b/Wabbajack.VirtualFileSystem/VirtualFile.cs @@ -17,7 +17,7 @@ namespace Wabbajack.VirtualFileSystem { public class VirtualFile { - private static AbsolutePath DBLocation = Consts.LocalAppDataPath.Combine("GlobalVFSCache.sqlite"); + private static AbsolutePath DBLocation = Consts.LocalAppDataPath.Combine("GlobalVFSCache2.sqlite"); private static string _connectionString; private static SQLiteConnection _conn; From 3703f3f5584c881507aa2e98eea26180caa9f563 Mon Sep 17 00:00:00 2001 From: Timothy Baldridge Date: Fri, 18 Jun 2021 17:33:58 -0600 Subject: [PATCH 6/8] Swallow exceptions from bad DDS files --- Wabbajack.ImageHashing/ImageState.cs | 7 ++++- Wabbajack.ImageHashing/PHash.cs | 33 ++++++++++++++-------- Wabbajack.VirtualFileSystem/VirtualFile.cs | 2 +- 3 files changed, 28 insertions(+), 14 deletions(-) diff --git a/Wabbajack.ImageHashing/ImageState.cs b/Wabbajack.ImageHashing/ImageState.cs index 02c35a38..323f79b7 100644 --- a/Wabbajack.ImageHashing/ImageState.cs +++ b/Wabbajack.ImageHashing/ImageState.cs @@ -34,7 +34,7 @@ namespace Wabbajack.ImageHashing PerceptualHash.Write(bw); } - public static async Task FromImageStream(Stream stream, Extension ext, bool takeStreamOwnership = true) + public static async Task FromImageStream(Stream stream, Extension ext, bool takeStreamOwnership = true) { var ms = new MemoryStream(); await stream.CopyToAsync(ms); @@ -57,6 +57,11 @@ namespace Wabbajack.ImageHashing return img.ImageState(); } + catch (Exception ex) + { + Utils.Log($"Error getting ImageState: {ex}"); + return null; + } finally { img?.Dispose(); diff --git a/Wabbajack.ImageHashing/PHash.cs b/Wabbajack.ImageHashing/PHash.cs index a96096e8..a5f17c7b 100644 --- a/Wabbajack.ImageHashing/PHash.cs +++ b/Wabbajack.ImageHashing/PHash.cs @@ -86,22 +86,31 @@ namespace Wabbajack.ImageHashing public static async Task FromStream(Stream stream, Extension ext, bool takeStreamOwnership = true) { - var ms = new MemoryStream(); - await stream.CopyToAsync(ms); - if (takeStreamOwnership) await stream.DisposeAsync(); + try + { + var ms = new MemoryStream(); + await stream.CopyToAsync(ms); + if (takeStreamOwnership) await stream.DisposeAsync(); - DDSImage img; - if (ext == new Extension(".dds")) - img = DDSImage.FromDDSMemory(ms.GetBuffer()); - else if (ext == new Extension(".tga")) - { - img = DDSImage.FromTGAMemory(ms.GetBuffer()); + DDSImage img; + if (ext == new Extension(".dds")) + img = DDSImage.FromDDSMemory(ms.GetBuffer()); + else if (ext == new Extension(".tga")) + { + img = DDSImage.FromTGAMemory(ms.GetBuffer()); + } + else + { + throw new NotImplementedException("Only DDS and TGA files supported by PHash"); + } + + return img.PerceptionHash(); } - else + catch (Exception ex) { - throw new NotImplementedException("Only DDS and TGA files supported by PHash"); + Utils.Log($"Error getting PHASH {ex}"); + return default; } - return img.PerceptionHash(); } public static async Task FromFile(AbsolutePath path) diff --git a/Wabbajack.VirtualFileSystem/VirtualFile.cs b/Wabbajack.VirtualFileSystem/VirtualFile.cs index c4e40146..c6a6f933 100644 --- a/Wabbajack.VirtualFileSystem/VirtualFile.cs +++ b/Wabbajack.VirtualFileSystem/VirtualFile.cs @@ -227,7 +227,7 @@ namespace Wabbajack.VirtualFileSystem }; if (Consts.TextureExtensions.Contains(relPath.FileName.Extension)) - self.ImageState = await ImageHashing.ImageState.FromImageStream(stream, relPath.FileName.Extension, false); + self.ImageState = await ImageState.FromImageStream(stream, relPath.FileName.Extension, false); self.FillFullPath(depth); From a9c003fe347329b1c7c3d452689bdbe0dad1df17 Mon Sep 17 00:00:00 2001 From: Timothy Baldridge Date: Sat, 19 Jun 2021 07:08:45 -0600 Subject: [PATCH 7/8] Fix a fragile test --- Wabbajack.Test/SanityTests.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Wabbajack.Test/SanityTests.cs b/Wabbajack.Test/SanityTests.cs index 723e54d9..af00249f 100644 --- a/Wabbajack.Test/SanityTests.cs +++ b/Wabbajack.Test/SanityTests.cs @@ -397,8 +397,8 @@ namespace Wabbajack.Test await CompileAndInstall(profile, true); await utils.VerifyInstalledFile(mod, @"native\whitestagbody.dds"); - Assert.Equal(0.9999227f, (await PHash.FromFile(recompressedFile)).Similarity(await PHash.FromFile(utils.InstalledPath(mod, @"recompressed\whitestagbody.dds")))); - Assert.Equal(0.98703325f, (await PHash.FromFile(resizedFile)).Similarity(await PHash.FromFile(utils.InstalledPath(mod, @"resized\whitestagbody.dds")))); + Assert.True(0.99f <=(await PHash.FromFile(recompressedFile)).Similarity(await PHash.FromFile(utils.InstalledPath(mod, @"recompressed\whitestagbody.dds")))); + Assert.True(0.98f <=(await PHash.FromFile(resizedFile)).Similarity(await PHash.FromFile(utils.InstalledPath(mod, @"resized\whitestagbody.dds")))); } [Fact] From 115f452d99c694b250e22b5e6195cdeb4df18ced Mon Sep 17 00:00:00 2001 From: Timothy Baldridge Date: Sat, 19 Jun 2021 08:03:10 -0600 Subject: [PATCH 8/8] Make texture recompression optional via the settings pannel (defaults to on) --- Wabbajack.Lib/MO2Compiler.cs | 8 +++++++- Wabbajack/Settings.cs | 15 +++++++++++++++ .../Views/Settings/PerformanceSettingsView.xaml | 12 ++++++++++++ .../Settings/PerformanceSettingsView.xaml.cs | 2 ++ 4 files changed, 36 insertions(+), 1 deletion(-) diff --git a/Wabbajack.Lib/MO2Compiler.cs b/Wabbajack.Lib/MO2Compiler.cs index 5b2179ed..2ec804fd 100644 --- a/Wabbajack.Lib/MO2Compiler.cs +++ b/Wabbajack.Lib/MO2Compiler.cs @@ -39,6 +39,7 @@ namespace Wabbajack.Lib public Dictionary ModInis { get; } = new Dictionary(); public HashSet SelectedProfiles { get; set; } = new HashSet(); + public bool DisableTextureResizing { get; set; } public static AbsolutePath GetTypicalDownloadsFolder(AbsolutePath mo2Folder) { @@ -421,7 +422,7 @@ namespace Wabbajack.Lib public override IEnumerable MakeStack() { Utils.Log("Generating compilation stack"); - return new List + var steps = new List { new IgnoreGameFilesIfGameFolderFilesExist(this), new IncludePropertyFiles(this), @@ -487,6 +488,11 @@ namespace Wabbajack.Lib new IgnoreExtension(this, new Extension(".CACHE")), new DropAll(this) }; + + if (DisableTextureResizing) + steps = steps.Where(s => !(s is MatchSimilarTextures)).ToList(); + + return steps; } } } diff --git a/Wabbajack/Settings.cs b/Wabbajack/Settings.cs index 28ca821a..7ec19c8f 100644 --- a/Wabbajack/Settings.cs +++ b/Wabbajack/Settings.cs @@ -145,6 +145,18 @@ namespace Wabbajack } } + + private bool _disableTextureResizing; + public bool DisableTextureResizing + { + get => _disableTextureResizing; + set + { + RaiseAndSetIfChanged(ref _disableTextureResizing, value); + } + } + + public void SetProcessorSettings(ABatchProcessor processor) { @@ -152,6 +164,9 @@ namespace Wabbajack processor.DiskThreads = DiskThreads; processor.ReduceHDDThreads = ReduceHDDThreads; processor.FavorPerfOverRam = FavorPerfOverRam; + + if (processor is MO2Compiler mo2c) + mo2c.DisableTextureResizing = DisableTextureResizing; } } diff --git a/Wabbajack/Views/Settings/PerformanceSettingsView.xaml b/Wabbajack/Views/Settings/PerformanceSettingsView.xaml index 478f6b3e..3f6623d8 100644 --- a/Wabbajack/Views/Settings/PerformanceSettingsView.xaml +++ b/Wabbajack/Views/Settings/PerformanceSettingsView.xaml @@ -28,6 +28,7 @@ + @@ -99,6 +100,17 @@ VerticalAlignment="Center" Foreground="White" > + + + diff --git a/Wabbajack/Views/Settings/PerformanceSettingsView.xaml.cs b/Wabbajack/Views/Settings/PerformanceSettingsView.xaml.cs index be145ff5..7c672b10 100644 --- a/Wabbajack/Views/Settings/PerformanceSettingsView.xaml.cs +++ b/Wabbajack/Views/Settings/PerformanceSettingsView.xaml.cs @@ -45,6 +45,8 @@ namespace Wabbajack .DisposeWith(disposable); this.BindStrict(this.ViewModel, x => x.NetworkWorkaroundMode, x => x.UseNetworkWorkAround.IsChecked) .DisposeWith(disposable); + this.BindStrict(this.ViewModel, x => x.DisableTextureResizing, x => x.DisableTextureResizing.IsChecked) + .DisposeWith(disposable); }); } }

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