Mercurial > libavcodec.hg
comparison h264.c @ 7888:d0489fa75c41 libavcodec
Ensure that extradata is not parsed twice.
Fixes FRExt1_Panasonic.
author | michael |
---|---|
date | Thu, 18 Sep 2008 15:13:15 +0000 |
parents | d35a71a3db5f |
children | 59e42f624d4d |
comparison
equal
deleted
inserted
replaced
7887:44da2504ce69 | 7888:d0489fa75c41 |
---|---|
7545 h->nal_length_size = ((*(((char*)(avctx->extradata))+4))&0x03)+1; | 7545 h->nal_length_size = ((*(((char*)(avctx->extradata))+4))&0x03)+1; |
7546 // Do not reparse avcC | 7546 // Do not reparse avcC |
7547 h->got_avcC = 1; | 7547 h->got_avcC = 1; |
7548 } | 7548 } |
7549 | 7549 |
7550 if(avctx->frame_number==0 && !h->is_avc && s->avctx->extradata_size){ | 7550 if(!h->got_avcC && !h->is_avc && s->avctx->extradata_size){ |
7551 if(decode_nal_units(h, s->avctx->extradata, s->avctx->extradata_size) < 0) | 7551 if(decode_nal_units(h, s->avctx->extradata, s->avctx->extradata_size) < 0) |
7552 return -1; | 7552 return -1; |
7553 h->got_avcC = 1; | |
7553 } | 7554 } |
7554 | 7555 |
7555 buf_index=decode_nal_units(h, buf, buf_size); | 7556 buf_index=decode_nal_units(h, buf, buf_size); |
7556 if(buf_index < 0) | 7557 if(buf_index < 0) |
7557 return -1; | 7558 return -1; |