From 12865d9947dbf9a0ecc91447032795558610e213 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20=27Flameeyes=27=20Petten=C3=B2?= Date: Thu, 29 Mar 2007 17:31:43 +0000 Subject: Allocate chunk_buffer when initialising the parser, rather than having it inline the ff_video_decoder_t struct. CVS patchset: 8763 CVS date: 2007/03/29 17:31:43 --- src/libffmpeg/mpeg_parser.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/libffmpeg/mpeg_parser.c') diff --git a/src/libffmpeg/mpeg_parser.c b/src/libffmpeg/mpeg_parser.c index d9ee602b2..4ac6f0780 100644 --- a/src/libffmpeg/mpeg_parser.c +++ b/src/libffmpeg/mpeg_parser.c @@ -20,7 +20,7 @@ * Simple MPEG-ES parser/framer by Thibaut Mattern (tmattern@noos.fr) * based on libmpeg2 decoder. * - * $Id: mpeg_parser.c,v 1.4 2006/09/26 01:19:31 dgp85 Exp $ + * $Id: mpeg_parser.c,v 1.5 2007/03/29 17:31:43 dgp85 Exp $ */ #define LOG_MODULE "mpeg_parser" #define LOG_VERBOSE @@ -52,6 +52,7 @@ static const int frame_rate_tab[][2] = { void mpeg_parser_init (mpeg_parser_t *parser) { + parser->chunk_buffer = xine_xmalloc(BUFFER_SIZE + FF_INPUT_BUFFER_PADDING_SIZE); mpeg_parser_reset(parser); } -- cgit v1.2.3 From 13f031f44d75faabcdf21cf75ab08c8d66c61b5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20=27Flameeyes=27=20Petten=C3=B2?= Date: Thu, 29 Mar 2007 17:59:35 +0000 Subject: Add a dispose function to clean the allocated buffer. CVS patchset: 8765 CVS date: 2007/03/29 17:59:35 --- src/libffmpeg/mpeg_parser.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/libffmpeg/mpeg_parser.c') diff --git a/src/libffmpeg/mpeg_parser.c b/src/libffmpeg/mpeg_parser.c index 4ac6f0780..3c0370cfa 100644 --- a/src/libffmpeg/mpeg_parser.c +++ b/src/libffmpeg/mpeg_parser.c @@ -20,7 +20,7 @@ * Simple MPEG-ES parser/framer by Thibaut Mattern (tmattern@noos.fr) * based on libmpeg2 decoder. * - * $Id: mpeg_parser.c,v 1.5 2007/03/29 17:31:43 dgp85 Exp $ + * $Id: mpeg_parser.c,v 1.6 2007/03/29 17:59:35 dgp85 Exp $ */ #define LOG_MODULE "mpeg_parser" #define LOG_VERBOSE @@ -56,6 +56,13 @@ void mpeg_parser_init (mpeg_parser_t *parser) mpeg_parser_reset(parser); } +void mpeg_parser_dispose (mpeg_parser_t *parser) +{ + if ( parser == NULL ) return; + + free(parser->chunk_buffer); +} + void mpeg_parser_reset (mpeg_parser_t *parser) { parser->shift = 0xffffff00; -- cgit v1.2.3 From 71e00d9d010f9b6a9cfd531efb87f7757859833b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20=27Flameeyes=27=20Petten=C3=B2?= Date: Thu, 29 Mar 2007 18:52:45 +0000 Subject: Reorder fields, use a bitmask to reduce the size, and change width and height to uint16_t (they are read as 12-bit values). CVS patchset: 8769 CVS date: 2007/03/29 18:52:45 --- src/libffmpeg/mpeg_parser.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src/libffmpeg/mpeg_parser.c') diff --git a/src/libffmpeg/mpeg_parser.c b/src/libffmpeg/mpeg_parser.c index 3c0370cfa..14a08a456 100644 --- a/src/libffmpeg/mpeg_parser.c +++ b/src/libffmpeg/mpeg_parser.c @@ -20,7 +20,7 @@ * Simple MPEG-ES parser/framer by Thibaut Mattern (tmattern@noos.fr) * based on libmpeg2 decoder. * - * $Id: mpeg_parser.c,v 1.6 2007/03/29 17:59:35 dgp85 Exp $ + * $Id: mpeg_parser.c,v 1.7 2007/03/29 18:52:45 dgp85 Exp $ */ #define LOG_MODULE "mpeg_parser" #define LOG_VERBOSE @@ -170,8 +170,7 @@ static int parse_chunk (mpeg_parser_t *parser, int code, uint8_t *buffer, int le case 0xb3: /* sequence_header_code */ { int value; - int width; - int height; + uint16_t width, height; if (parser->is_sequence_needed) { parser->is_sequence_needed = 0; -- cgit v1.2.3