]> git.sesse.net Git - ffmpeg/commitdiff
avcodec/dvbsub_parser: Don't allocate buffer separately
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Mon, 29 Jun 2020 15:11:48 +0000 (17:11 +0200)
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Sat, 4 Jul 2020 15:36:19 +0000 (17:36 +0200)
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
libavcodec/dvbsub_parser.c

index 8ced3c4c340eba4f45d8d8f4dd257987f8825ce1..b7a3d6154c39e0fc1406c5b270743407c07aaf1d 100644 (file)
 
 /* 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,
 };