diff mpegvideo.c @ 1688:04b759af8bd4 libavcodec

error concealment regression test
author michael
date Sun, 14 Dec 2003 01:42:00 +0000
parents cdc3d4106fb6
children 1a2db2073848
line wrap: on
line diff
--- a/mpegvideo.c	Sat Dec 13 20:41:33 2003 +0000
+++ b/mpegvideo.c	Sun Dec 14 01:42:00 2003 +0000
@@ -4002,6 +4002,18 @@
 
                     assert((get_bit_count(&s->pb)&7) == 0);
                     current_packet_size= pbBufPtr(&s->pb) - s->ptr_lastgob;
+                    
+                    if(s->avctx->error_rate && s->resync_mb_x + s->resync_mb_y > 0){
+                        int r= get_bit_count(&s->pb)/8 + s->picture_number + s->codec_id + s->mb_x + s->mb_y;
+                        int d= 100 / s->avctx->error_rate;
+                        if(r % d == 0){
+                            current_packet_size=0;
+#ifndef ALT_BITSTREAM_WRITER
+                            s->pb.buf_ptr= s->ptr_lastgob;
+#endif
+                            assert(pbBufPtr(&s->pb) == s->ptr_lastgob);
+                        }
+                    }
         
                     if (s->avctx->rtp_callback)
                         s->avctx->rtp_callback(s->ptr_lastgob, current_packet_size, 0);