Mercurial > libavcodec.hg
diff mpegvideo.c @ 1160:9a5c29575902 libavcodec
mpeg1 slice encoding support
author | michaelni |
---|---|
date | Sun, 30 Mar 2003 19:26:01 +0000 |
parents | 13ea348d4cf2 |
children | 8c15d82c1893 |
line wrap: on
line diff
--- a/mpegvideo.c Sun Mar 30 16:22:08 2003 +0000 +++ b/mpegvideo.c Sun Mar 30 19:26:01 2003 +0000 @@ -2684,7 +2684,7 @@ memcpy(d->last_mv, s->last_mv, 2*2*2*sizeof(int)); //FIXME is memcpy faster then a loop? /* mpeg1 */ - d->mb_incr= s->mb_incr; + d->mb_skip_run= s->mb_skip_run; for(i=0; i<3; i++) d->last_dc[i]= s->last_dc[i]; @@ -2710,7 +2710,7 @@ memcpy(d->last_mv, s->last_mv, 2*2*2*sizeof(int)); //FIXME is memcpy faster then a loop? /* mpeg1 */ - d->mb_incr= s->mb_incr; + d->mb_skip_run= s->mb_skip_run; for(i=0; i<3; i++) d->last_dc[i]= s->last_dc[i]; @@ -3023,7 +3023,7 @@ s->current_picture_ptr->error[i] = 0; } - s->mb_incr = 1; + s->mb_skip_run = 0; s->last_mv[0][0][0] = 0; s->last_mv[0][0][1] = 0; s->last_mv[1][0][0] = 0; @@ -3094,6 +3094,13 @@ ff_mpeg4_clean_buffers(s); is_gob_start=1; } + }else if(s->codec_id==CODEC_ID_MPEG1VIDEO){ + if( current_packet_size >= s->rtp_payload_size + && s->mb_y + s->mb_x>0 && s->mb_skip_run==0){ + ff_mpeg1_encode_slice_header(s); + ff_mpeg1_clean_buffers(s); + is_gob_start=1; + } }else{ if(current_packet_size >= s->rtp_payload_size && s->mb_x==0 && s->mb_y>0 && s->mb_y%s->gob_index==0){