BitMiracle.LibJpeg.Classic.Internal.jpeg_marker_reader.examine_app14 C# (CSharp) Method

examine_app14() private static method

Examine first few bytes from an APP14. Take appropriate action if it is an Adobe marker. datalen is # of bytes at data[], remaining is length of rest of marker data.
private static examine_app14 ( jpeg_decompress_struct cinfo, byte data, int datalen, int remaining ) : void
cinfo jpeg_decompress_struct
data byte
datalen int
remaining int
return void
        private static void examine_app14(jpeg_decompress_struct cinfo, byte[] data, int datalen, int remaining)
        {
            if (datalen >= APP14_DATA_LEN &&
                data[0] == 0x41 &&
                data[1] == 0x64 &&
                data[2] == 0x6F &&
                data[3] == 0x62 &&
                data[4] == 0x65)
            {
                /* Found Adobe APP14 marker */
                int version = (data[5] << 8) + data[6];
                int flags0 = (data[7] << 8) + data[8];
                int flags1 = (data[9] << 8) + data[10];
                int transform = data[11];
                cinfo.TRACEMS(1, J_MESSAGE_CODE.JTRC_ADOBE, version, flags0, flags1, transform);
                cinfo.m_saw_Adobe_marker = true;
                cinfo.m_Adobe_transform = (byte)transform;
            }
            else
            {
                /* Start of APP14 does not match "Adobe", or too short */
                cinfo.TRACEMS(1, J_MESSAGE_CODE.JTRC_APP14, datalen + remaining);
            }
        }