diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2011-10-29 22:27:01 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-10-30 00:28:25 +0200 |
commit | 429b3cd6f5f108dd1581bc998121ae966957757b (patch) | |
tree | ac3d62fec804ce855af81433fc47334b57e7f1de /libavcodec | |
parent | 86931dc9300f544ac9d9c2bfbffab4372071e779 (diff) | |
download | ffmpeg-429b3cd6f5f108dd1581bc998121ae966957757b.tar.gz |
mjpeg_parser: add MJPEGParserContext
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/mjpeg_parser.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/libavcodec/mjpeg_parser.c b/libavcodec/mjpeg_parser.c index 0cc355db5c..79c9d49398 100644 --- a/libavcodec/mjpeg_parser.c +++ b/libavcodec/mjpeg_parser.c @@ -28,12 +28,16 @@ #include "parser.h" +typedef struct MJPEGParserContext{ + ParseContext pc; +}MJPEGParserContext; /** * finds the end of the current frame in the bitstream. * @return the position of the first byte of the next frame, or -1 */ -static int find_frame_end(ParseContext *pc, const uint8_t *buf, int buf_size){ +static int find_frame_end(MJPEGParserContext *m, const uint8_t *buf, int buf_size){ + ParseContext *pc= &m->pc; int vop_found, i; uint16_t state; @@ -75,13 +79,14 @@ static int jpeg_parse(AVCodecParserContext *s, const uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size) { - ParseContext *pc = s->priv_data; + MJPEGParserContext *m = s->priv_data; + ParseContext *pc = &m->pc; int next; if(s->flags & PARSER_FLAG_COMPLETE_FRAMES){ next= buf_size; }else{ - next= find_frame_end(pc, buf, buf_size); + next= find_frame_end(m, buf, buf_size); if (ff_combine_frame(pc, next, &buf, &buf_size) < 0) { *poutbuf = NULL; @@ -98,7 +103,7 @@ static int jpeg_parse(AVCodecParserContext *s, AVCodecParser ff_mjpeg_parser = { { CODEC_ID_MJPEG }, - sizeof(ParseContext), + sizeof(MJPEGParserContext), NULL, jpeg_parse, ff_parse_close, |