diff --git a/CSJ2K/j2k/codestream/Markers.cs b/CSJ2K/j2k/codestream/Markers.cs index 7a3a7bb2..4177af71 100644 --- a/CSJ2K/j2k/codestream/Markers.cs +++ b/CSJ2K/j2k/codestream/Markers.cs @@ -151,7 +151,9 @@ namespace CSJ2K.j2k.codestream public const short CRG = unchecked((short)0xff63); /// Comment (COM): 0xFF64 public const short COM = unchecked((short)0xff64); - /// General use registration value (COM): 0x0001 - public const short RCOM_GEN_USE = unchecked((short)0x0001); + /// General use registration value (binary) (COM): 0x0000 + public const short RCOM_BINARY = unchecked((short)0x0000); + /// General use registration value (latin) (COM): 0x0001 + public const short RCOM_LATIN = unchecked((short)0x0001); } } \ No newline at end of file diff --git a/CSJ2K/j2k/codestream/reader/HeaderDecoder.cs b/CSJ2K/j2k/codestream/reader/HeaderDecoder.cs index 9377ade5..d070b9f6 100644 --- a/CSJ2K/j2k/codestream/reader/HeaderDecoder.cs +++ b/CSJ2K/j2k/codestream/reader/HeaderDecoder.cs @@ -865,16 +865,15 @@ namespace CSJ2K.j2k.codestream.reader ms.rcom = ehs.ReadUInt16(); switch (ms.rcom) { - - case CSJ2K.j2k.codestream.Markers.RCOM_GEN_USE: + case CSJ2K.j2k.codestream.Markers.RCOM_BINARY: + case CSJ2K.j2k.codestream.Markers.RCOM_LATIN: ms.ccom = new byte[ms.lcom - 4]; for (int i = 0; i < ms.lcom - 4; i++) { ms.ccom[i] = ehs.ReadByte(); } break; - - default: + default: // --- Unknown or unsupported markers --- // (skip them and see if we can get way with it) FacilityManager.getMsgLogger().printmsg(CSJ2K.j2k.util.MsgLogger_Fields.WARNING, "COM marker registered as 0x" + System.Convert.ToString(ms.rcom, 16) + " unknown, ignoring (this might crash the " + "decoder or decode a quality degraded or even " + "useless image)");