aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBaptiste Coudurier <baptiste.coudurier@gmail.com>2008-10-23 17:12:41 +0000
committerBaptiste Coudurier <baptiste.coudurier@gmail.com>2008-10-23 17:12:41 +0000
commit98a8ce49644a640d1178cd57ed3a4db4edca2e69 (patch)
tree4e1fe9b010473bc582ef48f81ab4c16808af0bde
parentaeb87a49a7d65c9fc37e1e49ef5c21032dcf6cdd (diff)
downloadffmpeg-98a8ce49644a640d1178cd57ed3a4db4edca2e69.tar.gz
add state64 field to ParseContext storing last 8 bytes, to be able to check for longer startcodes
Originally committed as revision 15671 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavcodec/parser.c1
-rw-r--r--libavcodec/parser.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/libavcodec/parser.c b/libavcodec/parser.c
index 460693f2dd..b7b6b8df9d 100644
--- a/libavcodec/parser.c
+++ b/libavcodec/parser.c
@@ -274,6 +274,7 @@ int ff_combine_frame(ParseContext *pc, int next, const uint8_t **buf, int *buf_s
/* store overread bytes */
for(;next < 0; next++){
pc->state = (pc->state<<8) | pc->buffer[pc->last_index + next];
+ pc->state64 = (pc->state64<<8) | pc->buffer[pc->last_index + next];
pc->overread++;
}
diff --git a/libavcodec/parser.h b/libavcodec/parser.h
index 4150870c84..3b6978fe1e 100644
--- a/libavcodec/parser.h
+++ b/libavcodec/parser.h
@@ -34,6 +34,7 @@ typedef struct ParseContext{
int frame_start_found;
int overread; ///< the number of bytes which where irreversibly read from the next frame
int overread_index; ///< the index into ParseContext.buffer of the overread bytes
+ uint64_t state64; ///< contains the last 8 bytes in MSB order
} ParseContext;
struct MpegEncContext;