aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/vc1_parser.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2009-02-22 20:48:12 +0000
committerMichael Niedermayer <michaelni@gmx.at>2009-02-22 20:48:12 +0000
commit7bbc686f82146dfdc5201dc43c9d90b466d0f065 (patch)
tree4bd4d42f271a00496d69271bc0a70d84236a06e2 /libavcodec/vc1_parser.c
parent91ba181a15b1cb3c3683edf1928e9eb3446782b4 (diff)
downloadffmpeg-7bbc686f82146dfdc5201dc43c9d90b466d0f065.tar.gz
Fix vc1 split().
Fixes Subtitle-sample.evo, issue52. Originally committed as revision 17533 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/vc1_parser.c')
-rw-r--r--libavcodec/vc1_parser.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/libavcodec/vc1_parser.c b/libavcodec/vc1_parser.c
index a9baccce79..3f4618dbed 100644
--- a/libavcodec/vc1_parser.c
+++ b/libavcodec/vc1_parser.c
@@ -99,11 +99,17 @@ static int vc1_split(AVCodecContext *avctx,
{
int i;
uint32_t state= -1;
+ int charged=0;
for(i=0; i<buf_size; i++){
state= (state<<8) | buf[i];
- if(IS_MARKER(state) && state != VC1_CODE_SEQHDR && state != VC1_CODE_ENTRYPOINT)
- return i-3;
+ if(IS_MARKER(state)){
+ if(state == VC1_CODE_SEQHDR || state == VC1_CODE_ENTRYPOINT){
+ charged=1;
+ }else if(charged){
+ return i-3;
+ }
+ }
}
return 0;
}