Browse Source

mpegvideo parser: move specific fields into private context

This obviates using ParseContext1, which is slated for removal.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
tags/n0.11
Rafaël Carré Diego Biurrun 14 years ago
parent
commit
07554ace70
1 changed files with 12 additions and 4 deletions
  1. +12
    -4
      libavcodec/mpegvideo_parser.c

+ 12
- 4
libavcodec/mpegvideo_parser.c View File

@@ -23,11 +23,19 @@
#include "parser.h"
#include "mpegvideo.h"

struct MpvParseContext {
ParseContext pc;
AVRational frame_rate;
int progressive_sequence;
int width, height;
};


static void mpegvideo_extract_headers(AVCodecParserContext *s,
AVCodecContext *avctx,
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;
uint32_t start_code;
int frame_rate_index, ext_type, bytes_left;
@@ -131,7 +139,7 @@ static int mpegvideo_parse(AVCodecParserContext *s,
const uint8_t **poutbuf, int *poutbuf_size,
const uint8_t *buf, int buf_size)
{
ParseContext1 *pc1 = s->priv_data;
struct MpvParseContext *pc1 = s->priv_data;
ParseContext *pc= &pc1->pc;
int next;

@@ -175,8 +183,8 @@ static int mpegvideo_split(AVCodecContext *avctx,

AVCodecParser ff_mpegvideo_parser = {
.codec_ids = { CODEC_ID_MPEG1VIDEO, CODEC_ID_MPEG2VIDEO },
.priv_data_size = sizeof(ParseContext1),
.priv_data_size = sizeof(struct MpvParseContext),
.parser_parse = mpegvideo_parse,
.parser_close = ff_parse1_close,
.parser_close = ff_parse_close,
.split = mpegvideo_split,
};

Loading…
Cancel
Save