Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
0
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;
}