26                  const uint8_t **poutbuf, 
int *poutbuf_size,
 
   27                  const uint8_t *buf, 
int buf_size)
 
   30     uint8_t 
flags, depth, chroma_format, alpha_channel_type;
 
   33     *poutbuf_size = buf_size;
 
   42     if (bytestream2_get_be32(&gb) != buf_size)
 
   46     if (bytestream2_get_le32(&gb) != 
MKTAG(
'i',
'c',
'p',
'f'))
 
   50     if (bytestream2_get_be16(&gb) < 20)
 
   58     s->width  = bytestream2_get_be16(&gb);
 
   59     s->height = bytestream2_get_be16(&gb);
 
   63     flags = bytestream2_get_byte(&gb);
 
   66     switch (
flags >> 2 & 3) {
 
   87         case MKTAG(
'a',
'p',
'c',
'o'):
 
   88         case MKTAG(
'a',
'p',
'c',
's'):
 
   89         case MKTAG(
'a',
'p',
'c',
'n'):
 
   90         case MKTAG(
'a',
'p',
'c',
'h'):
 
   93         case MKTAG(
'a',
'p',
'4',
'h'):
 
   94         case MKTAG(
'a',
'p',
'4',
'x'):
 
  101     chroma_format = 
flags >> 6 & 3;
 
  102     if (chroma_format < 2)
 
  105     alpha_channel_type = bytestream2_get_byte(&gb) & 0xf;
 
  107     switch (depth | (chroma_format << 4) | (alpha_channel_type << 8)) {
 
  109         case 10 | (2 << 4) | (1 << 8):
 
  112         case 10 | (3 << 4) | (1 << 8):
 
  115         case 12 | (2 << 4) | (1 << 8):
 
  118         case 12 | (3 << 4) | (1 << 8):
 
  127     .parser_parse = 
parse,