Commit b4b9a64b authored by zhaoxiu.zeng's avatar zhaoxiu.zeng Committed by Michael Niedermayer

avcodec/vc1: simplify vc1_split()

Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent b39ac9d2
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
#include "parser.h" #include "parser.h"
#include "vc1.h" #include "vc1.h"
#include "get_bits.h" #include "get_bits.h"
#include "internal.h"
/** The maximum number of bytes of a sequence, entry point or /** The maximum number of bytes of a sequence, entry point or
* frame header whose values we pay any attention to */ * frame header whose values we pay any attention to */
...@@ -250,20 +251,18 @@ static int vc1_parse(AVCodecParserContext *s, ...@@ -250,20 +251,18 @@ static int vc1_parse(AVCodecParserContext *s,
static int vc1_split(AVCodecContext *avctx, static int vc1_split(AVCodecContext *avctx,
const uint8_t *buf, int buf_size) const uint8_t *buf, int buf_size)
{ {
int i; uint32_t state = -1;
uint32_t state= -1; int charged = 0;
int charged=0; const uint8_t *ptr = buf, *end = buf + buf_size;
for(i=0; i<buf_size; i++){ while (ptr < end) {
state= (state<<8) | buf[i]; ptr = avpriv_find_start_code(ptr, end, &state);
if(IS_MARKER(state)){ if (state == VC1_CODE_SEQHDR || state == VC1_CODE_ENTRYPOINT) {
if(state == VC1_CODE_SEQHDR || state == VC1_CODE_ENTRYPOINT){ charged = 1;
charged=1; } else if (charged && IS_MARKER(state))
}else if(charged){ return ptr - 4 - buf;
return i-3;
}
}
} }
return 0; return 0;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment