Browse Source

Move lossy and lossless related files into separate folders

pull/1552/head
Brian Popow 6 years ago
parent
commit
d3e7214246
  1. 2
      src/ImageSharp/Formats/WebP/AlphaDecoder.cs
  2. 2
      src/ImageSharp/Formats/WebP/BitReader/BitReaderBase.cs
  3. 2
      src/ImageSharp/Formats/WebP/BitReader/Vp8BitReader.cs
  4. 2
      src/ImageSharp/Formats/WebP/BitReader/Vp8LBitReader.cs
  5. 2
      src/ImageSharp/Formats/WebP/Lossless/ColorCache.cs
  6. 2
      src/ImageSharp/Formats/WebP/Lossless/HTreeGroup.cs
  7. 2
      src/ImageSharp/Formats/WebP/Lossless/HuffIndex.cs
  8. 2
      src/ImageSharp/Formats/WebP/Lossless/HuffmanCode.cs
  9. 2
      src/ImageSharp/Formats/WebP/Lossless/HuffmanUtils.cs
  10. 2
      src/ImageSharp/Formats/WebP/Lossless/LosslessUtils.cs
  11. 2
      src/ImageSharp/Formats/WebP/Lossless/Vp8LDecoder.cs
  12. 2
      src/ImageSharp/Formats/WebP/Lossless/Vp8LMetadata.cs
  13. 2
      src/ImageSharp/Formats/WebP/Lossless/Vp8LTransform.cs
  14. 2
      src/ImageSharp/Formats/WebP/Lossless/Vp8LTransformType.cs
  15. 9
      src/ImageSharp/Formats/WebP/Lossless/WebPLosslessDecoder.cs
  16. 2
      src/ImageSharp/Formats/WebP/Lossy/IntraPredictionMode.cs
  17. 2
      src/ImageSharp/Formats/WebP/Lossy/LoopFilter.cs
  18. 2
      src/ImageSharp/Formats/WebP/Lossy/LossyUtils.cs
  19. 2
      src/ImageSharp/Formats/WebP/Lossy/VP8BandProbas.cs
  20. 3
      src/ImageSharp/Formats/WebP/Lossy/Vp8Decoder.cs
  21. 2
      src/ImageSharp/Formats/WebP/Lossy/Vp8FilterHeader.cs
  22. 2
      src/ImageSharp/Formats/WebP/Lossy/Vp8FilterInfo.cs
  23. 2
      src/ImageSharp/Formats/WebP/Lossy/Vp8FrameHeader.cs
  24. 2
      src/ImageSharp/Formats/WebP/Lossy/Vp8Io.cs
  25. 2
      src/ImageSharp/Formats/WebP/Lossy/Vp8MacroBlock.cs
  26. 2
      src/ImageSharp/Formats/WebP/Lossy/Vp8MacroBlockData.cs
  27. 2
      src/ImageSharp/Formats/WebP/Lossy/Vp8PictureHeader.cs
  28. 2
      src/ImageSharp/Formats/WebP/Lossy/Vp8Proba.cs
  29. 2
      src/ImageSharp/Formats/WebP/Lossy/Vp8ProbaArray.cs
  30. 2
      src/ImageSharp/Formats/WebP/Lossy/Vp8QuantMatrix.cs
  31. 2
      src/ImageSharp/Formats/WebP/Lossy/Vp8SegmentHeader.cs
  32. 2
      src/ImageSharp/Formats/WebP/Lossy/Vp8TopSamples.cs
  33. 3
      src/ImageSharp/Formats/WebP/Lossy/WebPLossyDecoder.cs
  34. 3
      src/ImageSharp/Formats/WebP/WebPDecoderCore.cs
  35. 2
      src/ImageSharp/Formats/WebP/WebPImageInfo.cs

2
src/ImageSharp/Formats/WebP/AlphaDecoder.cs

@ -6,6 +6,8 @@ using System.Buffers;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using SixLabors.ImageSharp.Formats.WebP.BitReader;
using SixLabors.ImageSharp.Formats.WebP.Lossless;
using SixLabors.ImageSharp.Memory;
namespace SixLabors.ImageSharp.Formats.WebP

2
src/ImageSharp/Formats/WebP/BitReaderBase.cs → src/ImageSharp/Formats/WebP/BitReader/BitReaderBase.cs

@ -7,7 +7,7 @@ using System.IO;
using SixLabors.ImageSharp.Memory;
namespace SixLabors.ImageSharp.Formats.WebP
namespace SixLabors.ImageSharp.Formats.WebP.BitReader
{
/// <summary>
/// Base class for VP8 and VP8L bitreader.

2
src/ImageSharp/Formats/WebP/Vp8BitReader.cs → src/ImageSharp/Formats/WebP/BitReader/Vp8BitReader.cs

@ -7,7 +7,7 @@ using System.IO;
using System.Runtime.CompilerServices;
using SixLabors.ImageSharp.Memory;
namespace SixLabors.ImageSharp.Formats.WebP
namespace SixLabors.ImageSharp.Formats.WebP.BitReader
{
/// <summary>
/// A bit reader for VP8 streams.

2
src/ImageSharp/Formats/WebP/Vp8LBitReader.cs → src/ImageSharp/Formats/WebP/BitReader/Vp8LBitReader.cs

@ -6,7 +6,7 @@ using System.IO;
using System.Runtime.CompilerServices;
using SixLabors.ImageSharp.Memory;
namespace SixLabors.ImageSharp.Formats.WebP
namespace SixLabors.ImageSharp.Formats.WebP.BitReader
{
/// <summary>
/// A bit reader for reading lossless webp streams.

2
src/ImageSharp/Formats/WebP/ColorCache.cs → src/ImageSharp/Formats/WebP/Lossless/ColorCache.cs

@ -1,7 +1,7 @@
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP
namespace SixLabors.ImageSharp.Formats.WebP.Lossless
{
/// <summary>
/// A small hash-addressed array to store recently used colors, to be able to recall them with shorter codes.

2
src/ImageSharp/Formats/WebP/HTreeGroup.cs → src/ImageSharp/Formats/WebP/Lossless/HTreeGroup.cs

@ -3,7 +3,7 @@
using System.Collections.Generic;
namespace SixLabors.ImageSharp.Formats.WebP
namespace SixLabors.ImageSharp.Formats.WebP.Lossless
{
/// <summary>
/// Huffman table group.

2
src/ImageSharp/Formats/WebP/HuffIndex.cs → src/ImageSharp/Formats/WebP/Lossless/HuffIndex.cs

@ -1,7 +1,7 @@
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP
namespace SixLabors.ImageSharp.Formats.WebP.Lossless
{
/// <summary>
/// Five Huffman codes are used at each meta code.

2
src/ImageSharp/Formats/WebP/HuffmanCode.cs → src/ImageSharp/Formats/WebP/Lossless/HuffmanCode.cs

@ -3,7 +3,7 @@
using System.Diagnostics;
namespace SixLabors.ImageSharp.Formats.WebP
namespace SixLabors.ImageSharp.Formats.WebP.Lossless
{
/// <summary>
/// A classic way to do entropy coding where a smaller number of bits are used for more frequent codes.

2
src/ImageSharp/Formats/WebP/HuffmanUtils.cs → src/ImageSharp/Formats/WebP/Lossless/HuffmanUtils.cs

@ -3,7 +3,7 @@
using System;
namespace SixLabors.ImageSharp.Formats.WebP
namespace SixLabors.ImageSharp.Formats.WebP.Lossless
{
/// <summary>
/// Utility functions related to creating the huffman tables.

2
src/ImageSharp/Formats/WebP/LosslessUtils.cs → src/ImageSharp/Formats/WebP/Lossless/LosslessUtils.cs

@ -7,7 +7,7 @@ using System.Runtime.InteropServices;
using SixLabors.ImageSharp.Memory;
namespace SixLabors.ImageSharp.Formats.WebP
namespace SixLabors.ImageSharp.Formats.WebP.Lossless
{
/// <summary>
/// Utility functions for the lossless decoder.

2
src/ImageSharp/Formats/WebP/Vp8LDecoder.cs → src/ImageSharp/Formats/WebP/Lossless/Vp8LDecoder.cs

@ -6,7 +6,7 @@ using System.Buffers;
using System.Collections.Generic;
using SixLabors.ImageSharp.Memory;
namespace SixLabors.ImageSharp.Formats.WebP
namespace SixLabors.ImageSharp.Formats.WebP.Lossless
{
/// <summary>
/// Holds information for decoding a lossless webp image.

2
src/ImageSharp/Formats/WebP/Vp8LMetadata.cs → src/ImageSharp/Formats/WebP/Lossless/Vp8LMetadata.cs

@ -3,7 +3,7 @@
using System.Buffers;
namespace SixLabors.ImageSharp.Formats.WebP
namespace SixLabors.ImageSharp.Formats.WebP.Lossless
{
internal class Vp8LMetadata
{

2
src/ImageSharp/Formats/WebP/Vp8LTransform.cs → src/ImageSharp/Formats/WebP/Lossless/Vp8LTransform.cs

@ -4,7 +4,7 @@
using System.Buffers;
using System.Diagnostics;
namespace SixLabors.ImageSharp.Formats.WebP
namespace SixLabors.ImageSharp.Formats.WebP.Lossless
{
/// <summary>
/// Data associated with a VP8L transformation to reduce the entropy.

2
src/ImageSharp/Formats/WebP/Vp8LTransformType.cs → src/ImageSharp/Formats/WebP/Lossless/Vp8LTransformType.cs

@ -1,7 +1,7 @@
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP
namespace SixLabors.ImageSharp.Formats.WebP.Lossless
{
/// <summary>
/// Enum for the different transform types. Transformations are reversible manipulations of the image data

9
src/ImageSharp/Formats/WebP/WebPLosslessDecoder.cs → src/ImageSharp/Formats/WebP/Lossless/WebPLosslessDecoder.cs

@ -8,10 +8,11 @@ using System.Linq;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using SixLabors.ImageSharp.Formats.WebP.BitReader;
using SixLabors.ImageSharp.Memory;
using SixLabors.ImageSharp.PixelFormats;
namespace SixLabors.ImageSharp.Formats.WebP
namespace SixLabors.ImageSharp.Formats.WebP.Lossless
{
/// <summary>
/// Decoder for lossless webp images. This code is a port of libwebp, which can be found here: https://chromium.googlesource.com/webm/libwebp
@ -939,8 +940,9 @@ namespace SixLabors.ImageSharp.Formats.WebP
/// <param name="length">The number of pixels to copy.</param>
private static void CopyBlock(Span<uint> pixelData, int decodedPixels, int dist, int length)
{
if (dist >= length) // no overlap.
if (dist >= length)
{
// no overlap.
Span<uint> src = pixelData.Slice(decodedPixels - dist, length);
Span<uint> dest = pixelData.Slice(decodedPixels);
src.CopyTo(dest);
@ -967,8 +969,9 @@ namespace SixLabors.ImageSharp.Formats.WebP
/// <param name="length">The number of pixels to copy.</param>
private static void CopyBlock8B(Span<byte> data, int pos, int dist, int length)
{
if (dist >= length) // no overlap.
if (dist >= length)
{
// no overlap.
data.Slice(pos - dist, length).CopyTo(data.Slice(pos));
}
else

2
src/ImageSharp/Formats/WebP/IntraPredictionMode.cs → src/ImageSharp/Formats/WebP/Lossy/IntraPredictionMode.cs

@ -1,7 +1,7 @@
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP
namespace SixLabors.ImageSharp.Formats.WebP.Lossy
{
internal enum IntraPredictionMode
{

2
src/ImageSharp/Formats/WebP/LoopFilter.cs → src/ImageSharp/Formats/WebP/Lossy/LoopFilter.cs

@ -1,7 +1,7 @@
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP
namespace SixLabors.ImageSharp.Formats.WebP.Lossy
{
/// <summary>
/// Enum for the different loop filters used. VP8 supports two types of loop filters.

2
src/ImageSharp/Formats/WebP/LossyUtils.cs → src/ImageSharp/Formats/WebP/Lossy/LossyUtils.cs

@ -6,7 +6,7 @@ using System.Buffers.Binary;
using System.Runtime.CompilerServices;
// ReSharper disable InconsistentNaming
namespace SixLabors.ImageSharp.Formats.WebP
namespace SixLabors.ImageSharp.Formats.WebP.Lossy
{
internal static class LossyUtils
{

2
src/ImageSharp/Formats/WebP/VP8BandProbas.cs → src/ImageSharp/Formats/WebP/Lossy/VP8BandProbas.cs

@ -1,7 +1,7 @@
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP
namespace SixLabors.ImageSharp.Formats.WebP.Lossy
{
/// <summary>
/// All the probabilities associated to one band.

3
src/ImageSharp/Formats/WebP/Vp8Decoder.cs → src/ImageSharp/Formats/WebP/Lossy/Vp8Decoder.cs

@ -3,9 +3,10 @@
using System;
using System.Buffers;
using SixLabors.ImageSharp.Formats.WebP.BitReader;
using SixLabors.ImageSharp.Memory;
namespace SixLabors.ImageSharp.Formats.WebP
namespace SixLabors.ImageSharp.Formats.WebP.Lossy
{
/// <summary>
/// Holds information for decoding a lossy webp image.

2
src/ImageSharp/Formats/WebP/Vp8FilterHeader.cs → src/ImageSharp/Formats/WebP/Lossy/Vp8FilterHeader.cs

@ -1,7 +1,7 @@
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP
namespace SixLabors.ImageSharp.Formats.WebP.Lossy
{
internal class Vp8FilterHeader
{

2
src/ImageSharp/Formats/WebP/Vp8FilterInfo.cs → src/ImageSharp/Formats/WebP/Lossy/Vp8FilterInfo.cs

@ -1,7 +1,7 @@
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP
namespace SixLabors.ImageSharp.Formats.WebP.Lossy
{
/// <summary>
/// Filter information.

2
src/ImageSharp/Formats/WebP/Vp8FrameHeader.cs → src/ImageSharp/Formats/WebP/Lossy/Vp8FrameHeader.cs

@ -1,7 +1,7 @@
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP
namespace SixLabors.ImageSharp.Formats.WebP.Lossy
{
/// <summary>
/// Vp8 frame header information.

2
src/ImageSharp/Formats/WebP/Vp8Io.cs → src/ImageSharp/Formats/WebP/Lossy/Vp8Io.cs

@ -3,7 +3,7 @@
using System;
namespace SixLabors.ImageSharp.Formats.WebP
namespace SixLabors.ImageSharp.Formats.WebP.Lossy
{
internal ref struct Vp8Io
{

2
src/ImageSharp/Formats/WebP/Vp8MacroBlock.cs → src/ImageSharp/Formats/WebP/Lossy/Vp8MacroBlock.cs

@ -1,7 +1,7 @@
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP
namespace SixLabors.ImageSharp.Formats.WebP.Lossy
{
/// <summary>
/// Contextual macroblock information.

2
src/ImageSharp/Formats/WebP/Vp8MacroBlockData.cs → src/ImageSharp/Formats/WebP/Lossy/Vp8MacroBlockData.cs

@ -1,7 +1,7 @@
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP
namespace SixLabors.ImageSharp.Formats.WebP.Lossy
{
/// <summary>
/// Data needed to reconstruct a macroblock.

2
src/ImageSharp/Formats/WebP/Vp8PictureHeader.cs → src/ImageSharp/Formats/WebP/Lossy/Vp8PictureHeader.cs

@ -1,7 +1,7 @@
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP
namespace SixLabors.ImageSharp.Formats.WebP.Lossy
{
internal class Vp8PictureHeader
{

2
src/ImageSharp/Formats/WebP/Vp8Proba.cs → src/ImageSharp/Formats/WebP/Lossy/Vp8Proba.cs

@ -1,7 +1,7 @@
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP
namespace SixLabors.ImageSharp.Formats.WebP.Lossy
{
/// <summary>
/// Data for all frame-persistent probabilities.

2
src/ImageSharp/Formats/WebP/Vp8ProbaArray.cs → src/ImageSharp/Formats/WebP/Lossy/Vp8ProbaArray.cs

@ -1,7 +1,7 @@
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP
namespace SixLabors.ImageSharp.Formats.WebP.Lossy
{
/// <summary>
/// Probabilities associated to one of the contexts.

2
src/ImageSharp/Formats/WebP/Vp8QuantMatrix.cs → src/ImageSharp/Formats/WebP/Lossy/Vp8QuantMatrix.cs

@ -1,7 +1,7 @@
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP
namespace SixLabors.ImageSharp.Formats.WebP.Lossy
{
internal class Vp8QuantMatrix
{

2
src/ImageSharp/Formats/WebP/Vp8SegmentHeader.cs → src/ImageSharp/Formats/WebP/Lossy/Vp8SegmentHeader.cs

@ -1,7 +1,7 @@
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP
namespace SixLabors.ImageSharp.Formats.WebP.Lossy
{
/// <summary>
/// Segment features.

2
src/ImageSharp/Formats/WebP/Vp8TopSamples.cs → src/ImageSharp/Formats/WebP/Lossy/Vp8TopSamples.cs

@ -1,7 +1,7 @@
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP
namespace SixLabors.ImageSharp.Formats.WebP.Lossy
{
internal class Vp8TopSamples
{

3
src/ImageSharp/Formats/WebP/WebPLossyDecoder.cs → src/ImageSharp/Formats/WebP/Lossy/WebPLossyDecoder.cs

@ -6,10 +6,11 @@ using System.Buffers;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using SixLabors.ImageSharp.Formats.WebP.BitReader;
using SixLabors.ImageSharp.Memory;
using SixLabors.ImageSharp.PixelFormats;
namespace SixLabors.ImageSharp.Formats.WebP
namespace SixLabors.ImageSharp.Formats.WebP.Lossy
{
/// <summary>
/// Decoder for lossy webp images. This code is a port of libwebp, which can be found here: https://chromium.googlesource.com/webm/libwebp

3
src/ImageSharp/Formats/WebP/WebPDecoderCore.cs

@ -5,6 +5,9 @@ using System;
using System.Buffers.Binary;
using System.IO;
using SixLabors.ImageSharp.Formats.WebP.BitReader;
using SixLabors.ImageSharp.Formats.WebP.Lossless;
using SixLabors.ImageSharp.Formats.WebP.Lossy;
using SixLabors.ImageSharp.Memory;
using SixLabors.ImageSharp.Metadata;
using SixLabors.ImageSharp.Metadata.Profiles.Exif;

2
src/ImageSharp/Formats/WebP/WebPImageInfo.cs

@ -2,6 +2,8 @@
// Licensed under the Apache License, Version 2.0.
using System;
using SixLabors.ImageSharp.Formats.WebP.BitReader;
using SixLabors.ImageSharp.Formats.WebP.Lossy;
namespace SixLabors.ImageSharp.Formats.WebP
{

Loading…
Cancel
Save