* If the frame header is followed by the bytes FE 00 00 06 00 00 then
* this is probably one of the two known files that have 6 extra bytes
* after the frame header. Else, assume 2 extra bytes. */
- if ((s->data[10] == 0xFE) &&
+ if (s->size >= 16 &&
+ (s->data[10] == 0xFE) &&
(s->data[11] == 0x00) &&
(s->data[12] == 0x00) &&
(s->data[13] == 0x06) &&
}
AVCodec ff_cinepak_decoder = {
- "cinepak",
- AVMEDIA_TYPE_VIDEO,
- CODEC_ID_CINEPAK,
- sizeof(CinepakContext),
- cinepak_decode_init,
- NULL,
- cinepak_decode_end,
- cinepak_decode_frame,
- CODEC_CAP_DR1,
+ .name = "cinepak",
+ .type = AVMEDIA_TYPE_VIDEO,
+ .id = CODEC_ID_CINEPAK,
+ .priv_data_size = sizeof(CinepakContext),
+ .init = cinepak_decode_init,
+ .close = cinepak_decode_end,
+ .decode = cinepak_decode_frame,
+ .capabilities = CODEC_CAP_DR1,
.long_name = NULL_IF_CONFIG_SMALL("Cinepak"),
};