mirror of
https://github.com/UglyToad/PdfPig.git
synced 2025-11-28 09:28:25 +08:00
skip application specific markers when parsing jpg headers
This commit is contained in:
@@ -29,17 +29,37 @@
|
||||
switch (marker)
|
||||
{
|
||||
case JpegMarker.StartOfBaselineDctFrame:
|
||||
{
|
||||
// ReSharper disable once UnusedVariable
|
||||
var length = ReadShort(stream, shortBuffer);
|
||||
var bpp = stream.ReadByte();
|
||||
var height = ReadShort(stream, shortBuffer);
|
||||
var width = ReadShort(stream, shortBuffer);
|
||||
|
||||
return new JpegInformation(width, height, bpp);
|
||||
}
|
||||
case JpegMarker.StartOfProgressiveDctFrame:
|
||||
break;
|
||||
{
|
||||
// ReSharper disable once UnusedVariable
|
||||
var length = ReadShort(stream, shortBuffer);
|
||||
var bpp = stream.ReadByte();
|
||||
var height = ReadShort(stream, shortBuffer);
|
||||
var width = ReadShort(stream, shortBuffer);
|
||||
|
||||
return new JpegInformation(width, height, bpp);
|
||||
}
|
||||
case JpegMarker.ApplicationSpecific0:
|
||||
case JpegMarker.ApplicationSpecific1:
|
||||
case JpegMarker.ApplicationSpecific2:
|
||||
case JpegMarker.ApplicationSpecific3:
|
||||
case JpegMarker.ApplicationSpecific4:
|
||||
case JpegMarker.ApplicationSpecific5:
|
||||
case JpegMarker.ApplicationSpecific6:
|
||||
case JpegMarker.ApplicationSpecific7:
|
||||
case JpegMarker.ApplicationSpecific8:
|
||||
case JpegMarker.ApplicationSpecific9:
|
||||
case JpegMarker.ApplicationSpecific10:
|
||||
case JpegMarker.ApplicationSpecific11:
|
||||
case JpegMarker.ApplicationSpecific12:
|
||||
case JpegMarker.ApplicationSpecific13:
|
||||
case JpegMarker.ApplicationSpecific14:
|
||||
case JpegMarker.ApplicationSpecific15:
|
||||
{
|
||||
var length = ReadShort(stream, shortBuffer);
|
||||
stream.Seek(length - 2, SeekOrigin.Current);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
marker = (JpegMarker)ReadSegmentMarker(stream, true);
|
||||
@@ -104,7 +124,7 @@
|
||||
throw new InvalidOperationException("Failed to read a short where expected in the JPEG stream.");
|
||||
}
|
||||
|
||||
return (short) ((buffer[0] << 8) + buffer[1]);
|
||||
return (short)((buffer[0] << 8) + buffer[1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -78,6 +78,12 @@
|
||||
ApplicationSpecific7 = 0xE7,
|
||||
ApplicationSpecific8 = 0xE8,
|
||||
ApplicationSpecific9 = 0xE9,
|
||||
ApplicationSpecific10 = 0xEA,
|
||||
ApplicationSpecific11 = 0xEB,
|
||||
ApplicationSpecific12 = 0xEC,
|
||||
ApplicationSpecific13 = 0xED,
|
||||
ApplicationSpecific14 = 0xEE,
|
||||
ApplicationSpecific15 = 0xEF,
|
||||
/// <summary>
|
||||
/// Marks a text comment.
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user