summaryrefslogtreecommitdiff
path: root/src/libffmpeg/mpeg_parser.c
diff options
context:
space:
mode:
authorDiego 'Flameeyes' Pettenò <flameeyes@gmail.com>2007-04-03 00:38:22 +0200
committerDiego 'Flameeyes' Pettenò <flameeyes@gmail.com>2007-04-03 00:38:22 +0200
commit0ed2cd4f34189ec303dfac5a30de0abae0decba8 (patch)
tree7a8d08d25ca7c81daa9d6cd65fd4f633fd676b41 /src/libffmpeg/mpeg_parser.c
parent6081bc9a06ee97333769f77a9e5c18a15afb29da (diff)
parent3dd7d925c2feb7868a49e7a1a0b953a5aab233f0 (diff)
downloadxine-lib-0ed2cd4f34189ec303dfac5a30de0abae0decba8.tar.gz
xine-lib-0ed2cd4f34189ec303dfac5a30de0abae0decba8.tar.bz2
Merge changes happened in 1.1 development.
Diffstat (limited to 'src/libffmpeg/mpeg_parser.c')
-rw-r--r--src/libffmpeg/mpeg_parser.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/libffmpeg/mpeg_parser.c b/src/libffmpeg/mpeg_parser.c
index d9ee602b2..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.4 2006/09/26 01:19:31 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
@@ -52,9 +52,17 @@ 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);
}
+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;
@@ -162,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;