int matchJPEG(Ychannel *channel) { unsigned char header[8]; int hlen; if (!YchannelReadable(channel)) { return YFALSE; } hlen = YchannelRead(channel, header, sizeof(header)); if (hlen > 0) { YchannelPush(channel, (const char*) header, hlen); } if (hlen < 3) { return YFALSE; } if ( (header[0] != 0xff) || (header[1] != 0xd8) || (header[2] != 0xff) ) { return YFALSE; } return YTRUE; }
int matchWEBP(Ychannel *channel) { #if HAVE_WEBP char header[WEBP_HEADER_SIZE]; int hlen; if (!YchannelReadable(channel)) { return YFALSE; } hlen = YchannelRead(channel, header, sizeof(header)); if (hlen > 0) { YchannelPush(channel, header, hlen); } if (WebpCheckHeader(header, hlen) > 0) { return YTRUE; } #endif return YFALSE; }