Browse Source

moved WriteDataToDqt

af/merge-core
antonfirsov 9 years ago
parent
commit
856535cf44
  1. 16
      src/ImageSharp/Formats/Jpg/JpegEncoderCore.cs
  2. 11
      src/ImageSharp/Formats/Jpg/Utils/JpegUtils.cs

16
src/ImageSharp/Formats/Jpg/JpegEncoderCore.cs

@ -298,18 +298,6 @@ namespace ImageSharp.Formats
}
}
#pragma warning disable SA1204
private static void WriteDataToDqt(byte[] dqt, ref int offset, QuantIndex i, ref Block8x8F q)
{
dqt[offset++] = (byte)i;
for (int j = 0; j < Block8x8F.ScalarCount; j++)
{
dqt[offset++] = (byte)q[j];
}
}
#pragma warning restore SA1204
/// <summary>
/// Emits the least significant count of bits of bits to the bit-stream.
/// The precondition is bits <example>&lt; 1&lt;&lt;nBits &amp;&amp; nBits &lt;= 16</example>.
@ -627,8 +615,8 @@ namespace ImageSharp.Formats
byte[] dqt = ArrayPool<byte>.Shared.Rent(dqtCount);
int offset = 0;
WriteDataToDqt(dqt, ref offset, QuantIndex.Luminance, ref this.luminanceQuantTable);
WriteDataToDqt(dqt, ref offset, QuantIndex.Chrominance, ref this.chrominanceQuantTable);
JpegUtils.WriteDataToDqt(dqt, ref offset, QuantIndex.Luminance, ref this.luminanceQuantTable);
JpegUtils.WriteDataToDqt(dqt, ref offset, QuantIndex.Chrominance, ref this.chrominanceQuantTable);
this.outputStream.Write(dqt, 0, dqtCount);
ArrayPool<byte>.Shared.Return(dqt);

11
src/ImageSharp/Formats/Jpg/Utils/JpegUtils.cs

@ -7,6 +7,8 @@ namespace ImageSharp.Formats.Jpg.Utils
using System;
using System.Runtime.CompilerServices;
using ImageSharp.Formats.Jpg.Components.Encoder;
/// <summary>
/// Jpeg specific utilities and extension methods
/// </summary>
@ -89,5 +91,14 @@ namespace ImageSharp.Formats.Jpg.Utils
{
return fromX <= 0 || fromY <= 0 || fromX >= area.Width || fromY >= area.Height;
}
internal static void WriteDataToDqt(byte[] dqt, ref int offset, QuantIndex i, ref Block8x8F q)
{
dqt[offset++] = (byte)i;
for (int j = 0; j < Block8x8F.ScalarCount; j++)
{
dqt[offset++] = (byte)q[j];
}
}
}
}
Loading…
Cancel
Save