[Ffmpeg-cvslog] CVS: ffmpeg/libavcodec h264.c,1.119,1.120
Michael Niedermayer CVS
michael
Fri May 6 19:04:05 CEST 2005
Update of /cvsroot/ffmpeg/ffmpeg/libavcodec
In directory mail:/var2/tmp/cvs-serv12738/libavcodec
Modified Files:
h264.c
Log Message:
fix decoding of conformace streams AUD_MW_E.264 and BA1_FT_C.264 again (there where last correctly decoded with h264.c rev 1.96)
Index: h264.c
===================================================================
RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/h264.c,v
retrieving revision 1.119
retrieving revision 1.120
diff -u -d -r1.119 -r1.120
--- h264.c 6 May 2005 14:36:15 -0000 1.119
+++ h264.c 6 May 2005 17:04:03 -0000 1.120
@@ -3697,6 +3697,11 @@
if(h->sps.poc_type==0){
const int max_poc_lsb= 1<<h->sps.log2_max_poc_lsb;
+ if(h->nal_unit_type == NAL_IDR_SLICE){
+ h->prev_poc_msb=
+ h->prev_poc_lsb= 0;
+ }
+
if (h->poc_lsb < h->prev_poc_lsb && h->prev_poc_lsb - h->poc_lsb >= max_poc_lsb/2)
h->poc_msb = h->prev_poc_msb + max_poc_lsb;
else if(h->poc_lsb > h->prev_poc_lsb && h->prev_poc_lsb - h->poc_lsb < -max_poc_lsb/2)
@@ -6946,7 +6951,7 @@
cur->reference = 1;
for(i=0; h->delayed_pic[i]; i++)
- if(h->delayed_pic[i]->key_frame)
+ if(h->delayed_pic[i]->key_frame || h->delayed_pic[i]->poc==0)
cross_idr = 1;
out = h->delayed_pic[0];
More information about the ffmpeg-cvslog
mailing list