Commit 07554ace authored by Rafaël Carré's avatar Rafaël Carré Committed by Diego Biurrun

mpegvideo parser: move specific fields into private context

This obviates using ParseContext1, which is slated for removal.
Signed-off-by: 's avatarDiego Biurrun <diego@biurrun.de>
parent e4092488
...@@ -23,11 +23,19 @@ ...@@ -23,11 +23,19 @@
#include "parser.h" #include "parser.h"
#include "mpegvideo.h" #include "mpegvideo.h"
struct MpvParseContext {
ParseContext pc;
AVRational frame_rate;
int progressive_sequence;
int width, height;
};
static void mpegvideo_extract_headers(AVCodecParserContext *s, static void mpegvideo_extract_headers(AVCodecParserContext *s,
AVCodecContext *avctx, AVCodecContext *avctx,
const uint8_t *buf, int buf_size) const uint8_t *buf, int buf_size)
{ {
ParseContext1 *pc = s->priv_data; struct MpvParseContext *pc = s->priv_data;
const uint8_t *buf_end = buf + buf_size; const uint8_t *buf_end = buf + buf_size;
uint32_t start_code; uint32_t start_code;
int frame_rate_index, ext_type, bytes_left; int frame_rate_index, ext_type, bytes_left;
...@@ -131,7 +139,7 @@ static int mpegvideo_parse(AVCodecParserContext *s, ...@@ -131,7 +139,7 @@ static int mpegvideo_parse(AVCodecParserContext *s,
const uint8_t **poutbuf, int *poutbuf_size, const uint8_t **poutbuf, int *poutbuf_size,
const uint8_t *buf, int buf_size) const uint8_t *buf, int buf_size)
{ {
ParseContext1 *pc1 = s->priv_data; struct MpvParseContext *pc1 = s->priv_data;
ParseContext *pc= &pc1->pc; ParseContext *pc= &pc1->pc;
int next; int next;
...@@ -175,8 +183,8 @@ static int mpegvideo_split(AVCodecContext *avctx, ...@@ -175,8 +183,8 @@ static int mpegvideo_split(AVCodecContext *avctx,
AVCodecParser ff_mpegvideo_parser = { AVCodecParser ff_mpegvideo_parser = {
.codec_ids = { CODEC_ID_MPEG1VIDEO, CODEC_ID_MPEG2VIDEO }, .codec_ids = { CODEC_ID_MPEG1VIDEO, CODEC_ID_MPEG2VIDEO },
.priv_data_size = sizeof(ParseContext1), .priv_data_size = sizeof(struct MpvParseContext),
.parser_parse = mpegvideo_parse, .parser_parse = mpegvideo_parse,
.parser_close = ff_parse1_close, .parser_close = ff_parse_close,
.split = mpegvideo_split, .split = mpegvideo_split,
}; };
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment