Message ID | 20170324223147.2692-5-jamrial@gmail.com |
---|---|
State | Accepted |
Headers | show |
On Fri, Mar 24, 2017 at 07:31:45PM -0300, James Almer wrote: > It's a simplifaction of the same code, originally commited as b4b9a64bdb6. > > Signed-off-by: James Almer <jamrial@gmail.com> > --- > libavcodec/extract_extradata_bsf.c | 18 +++++++----------- > 1 file changed, 7 insertions(+), 11 deletions(-) LGTM thx [...]
On 3/25/2017 9:53 PM, Michael Niedermayer wrote: > On Fri, Mar 24, 2017 at 07:31:45PM -0300, James Almer wrote: >> It's a simplifaction of the same code, originally commited as b4b9a64bdb6. >> >> Signed-off-by: James Almer <jamrial@gmail.com> >> --- >> libavcodec/extract_extradata_bsf.c | 18 +++++++----------- >> 1 file changed, 7 insertions(+), 11 deletions(-) > > LGTM > > thx Pushed.
diff --git a/libavcodec/extract_extradata_bsf.c b/libavcodec/extract_extradata_bsf.c index 89981996f2..57a3d51bef 100644 --- a/libavcodec/extract_extradata_bsf.c +++ b/libavcodec/extract_extradata_bsf.c @@ -139,19 +139,15 @@ static int extract_extradata_vc1(AVBSFContext *ctx, AVPacket *pkt, { ExtractExtradataContext *s = ctx->priv_data; uint32_t state = UINT32_MAX; + const uint8_t *ptr = pkt->data, *end = pkt->data + pkt->size; int has_extradata = 0, extradata_size = 0; - int i; - for (i = 0; i < pkt->size; i++) { - state = (state << 8) | pkt->data[i]; - if (IS_MARKER(state)) { - if (state == VC1_CODE_SEQHDR || state == VC1_CODE_ENTRYPOINT) { - has_extradata = 1; - } else if (has_extradata) { - extradata_size = i - 3; - break; - } - } + while (ptr < end) { + ptr = avpriv_find_start_code(ptr, end, &state); + if (state == VC1_CODE_SEQHDR || state == VC1_CODE_ENTRYPOINT) { + has_extradata = 1; + } else if (has_extradata && IS_MARKER(state)) + extradata_size = ptr - 4 - pkt->data; } if (extradata_size) {
It's a simplifaction of the same code, originally commited as b4b9a64bdb6. Signed-off-by: James Almer <jamrial@gmail.com> --- libavcodec/extract_extradata_bsf.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-)