diff options
author | Rafaël Carré <funman@videolan.org> | 2012-02-09 20:26:17 -0500 |
---|---|---|
committer | Diego Biurrun <diego@biurrun.de> | 2012-02-10 15:48:51 +0100 |
commit | e40924887acead75f1410e5db65415d7986f4cb4 (patch) | |
tree | 909d1640a6f3cf37516148da150cc7ee6c40c561 | |
parent | 53a09964f036a580facb57963b3407ebdeb813cf (diff) | |
download | ffmpeg-e40924887acead75f1410e5db65415d7986f4cb4.tar.gz |
mpeg4video parser: move specific fields into private context
This obviates using ParseContext1, which is slated for removal.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
-rw-r--r-- | libavcodec/mpeg4video_parser.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/libavcodec/mpeg4video_parser.c b/libavcodec/mpeg4video_parser.c index 89bbf3465d..5362ad8d82 100644 --- a/libavcodec/mpeg4video_parser.c +++ b/libavcodec/mpeg4video_parser.c @@ -25,6 +25,11 @@ #include "mpeg4video.h" #include "mpeg4video_parser.h" +struct Mp4vParseContext { + ParseContext pc; + struct MpegEncContext enc; + int first_picture; +}; int ff_mpeg4_find_frame_end(ParseContext *pc, const uint8_t *buf, int buf_size){ int vop_found, i; @@ -68,8 +73,8 @@ static int av_mpeg4_decode_header(AVCodecParserContext *s1, AVCodecContext *avctx, const uint8_t *buf, int buf_size) { - ParseContext1 *pc = s1->priv_data; - MpegEncContext *s = pc->enc; + struct Mp4vParseContext *pc = s1->priv_data; + MpegEncContext *s = &pc->enc; GetBitContext gb1, *gb = &gb1; int ret; @@ -93,13 +98,10 @@ static int av_mpeg4_decode_header(AVCodecParserContext *s1, static av_cold int mpeg4video_parse_init(AVCodecParserContext *s) { - ParseContext1 *pc = s->priv_data; + struct Mp4vParseContext *pc = s->priv_data; - pc->enc = av_mallocz(sizeof(MpegEncContext)); - if (!pc->enc) - return -1; pc->first_picture = 1; - pc->enc->slice_context_count = 1; + pc->enc.slice_context_count = 1; return 0; } @@ -132,9 +134,9 @@ static int mpeg4video_parse(AVCodecParserContext *s, AVCodecParser ff_mpeg4video_parser = { .codec_ids = { CODEC_ID_MPEG4 }, - .priv_data_size = sizeof(ParseContext1), + .priv_data_size = sizeof(struct Mp4vParseContext), .parser_init = mpeg4video_parse_init, .parser_parse = mpeg4video_parse, - .parser_close = ff_parse1_close, + .parser_close = ff_parse_close, .split = ff_mpeg4video_split, }; |