[Ffmpeg-cvslog] CVS: ffmpeg/libavcodec h264.c,1.204,1.205

Michael Niedermayer CVS michael
Wed May 10 12:57:30 CEST 2006


Update of /cvsroot/ffmpeg/ffmpeg/libavcodec
In directory mail:/var2/tmp/cvs-serv31970

Modified Files:
	h264.c 
Log Message:
decoders should (IMHO) not duplicate frames, the application can do this if it wants


Index: h264.c
===================================================================
RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/h264.c,v
retrieving revision 1.204
retrieving revision 1.205
diff -u -d -r1.204 -r1.205
--- h264.c	5 May 2006 18:08:01 -0000	1.204
+++ h264.c	10 May 2006 10:57:27 -0000	1.205
@@ -6900,7 +6900,7 @@
             eos = get_cabac_terminate( &h->cabac );
 
             if( ret < 0 || h->cabac.bytestream > h->cabac.bytestream_end + 1) {
-                av_log(h->s.avctx, AV_LOG_ERROR, "error while decoding MB %d %d\n", s->mb_x, s->mb_y);
+                av_log(h->s.avctx, AV_LOG_ERROR, "error while decoding MB %d %d, bytestream (%d)\n", s->mb_x, s->mb_y, h->cabac.bytestream_end - h->cabac.bytestream);
                 ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y, s->mb_x, s->mb_y, (AC_ERROR|DC_ERROR|MV_ERROR)&part_mask);
                 return -1;
             }
@@ -7786,7 +7786,6 @@
         int pics = 0;
         int out_of_order;
         int cross_idr = 0;
-        int dropped_frame = 0;
         int i;
 
         if(h->sps.bitstream_restriction_flag
@@ -7829,12 +7828,11 @@
             out = prev;
 
         if(out_of_order || pics > s->avctx->has_b_frames){
-            dropped_frame = (out != h->delayed_pic[out_idx]);
             for(i=out_idx; h->delayed_pic[i]; i++)
                 h->delayed_pic[i] = h->delayed_pic[i+1];
         }
 
-        if(prev == out && !dropped_frame)
+        if(prev == out)
             *data_size = 0;
         else
             *data_size = sizeof(AVFrame);





More information about the ffmpeg-cvslog mailing list