diff --git a/libavcodec/dvbsub_parser.c b/libavcodec/dvbsub_parser.c index 8ced3c4c34..b7a3d6154c 100644 --- a/libavcodec/dvbsub_parser.c +++ b/libavcodec/dvbsub_parser.c @@ -35,20 +35,12 @@ /* parser definition */ typedef struct DVBSubParseContext { - uint8_t *packet_buf; int packet_start; int packet_index; int in_packet; + uint8_t packet_buf[PARSE_BUF_SIZE]; } DVBSubParseContext; -static av_cold int dvbsub_parse_init(AVCodecParserContext *s) -{ - DVBSubParseContext *pc = s->priv_data; - pc->packet_buf = av_malloc(PARSE_BUF_SIZE); - - return 0; -} - static int dvbsub_parse(AVCodecParserContext *s, AVCodecContext *avctx, const uint8_t **poutbuf, int *poutbuf_size, @@ -173,16 +165,8 @@ static int dvbsub_parse(AVCodecParserContext *s, return buf_size; } -static av_cold void dvbsub_parse_close(AVCodecParserContext *s) -{ - DVBSubParseContext *pc = s->priv_data; - av_freep(&pc->packet_buf); -} - AVCodecParser ff_dvbsub_parser = { .codec_ids = { AV_CODEC_ID_DVB_SUBTITLE }, .priv_data_size = sizeof(DVBSubParseContext), - .parser_init = dvbsub_parse_init, .parser_parse = dvbsub_parse, - .parser_close = dvbsub_parse_close, };