Mercurial > libavcodec.hg
comparison mpegvideo.c @ 1662:64c370fe6e88 libavcodec
slice flush / position fix
author | michael |
---|---|
date | Sun, 07 Dec 2003 02:10:30 +0000 |
parents | 4c9fd29f1606 |
children | 30746f429df6 |
comparison
equal
deleted
inserted
replaced
1661:4c9fd29f1606 | 1662:64c370fe6e88 |
---|---|
3914 | 3914 |
3915 if(s->codec_id==CODEC_ID_MPEG4) | 3915 if(s->codec_id==CODEC_ID_MPEG4) |
3916 ff_mpeg4_stuffing(&s->pb); | 3916 ff_mpeg4_stuffing(&s->pb); |
3917 | 3917 |
3918 align_put_bits(&s->pb); | 3918 align_put_bits(&s->pb); |
3919 // flush_put_bits(&s->pb); | 3919 flush_put_bits(&s->pb); |
3920 | |
3921 assert((get_bit_count(&s->pb)&7) == 0); | |
3920 current_packet_size= pbBufPtr(&s->pb) - s->ptr_lastgob; | 3922 current_packet_size= pbBufPtr(&s->pb) - s->ptr_lastgob; |
3921 | 3923 |
3922 if (s->avctx->rtp_callback) | 3924 if (s->avctx->rtp_callback) |
3923 s->avctx->rtp_callback(s->ptr_lastgob, current_packet_size, 0); | 3925 s->avctx->rtp_callback(s->ptr_lastgob, current_packet_size, 0); |
3924 | 3926 |
3942 int bits= get_bit_count(&s->pb); | 3944 int bits= get_bit_count(&s->pb); |
3943 s->misc_bits+= bits - s->last_bits; | 3945 s->misc_bits+= bits - s->last_bits; |
3944 s->last_bits= bits; | 3946 s->last_bits= bits; |
3945 } | 3947 } |
3946 | 3948 |
3947 s->ptr_lastgob = pbBufPtr(&s->pb); | 3949 s->ptr_lastgob += current_packet_size; |
3948 s->first_slice_line=1; | 3950 s->first_slice_line=1; |
3949 s->resync_mb_x=mb_x; | 3951 s->resync_mb_x=mb_x; |
3950 s->resync_mb_y=mb_y; | 3952 s->resync_mb_y=mb_y; |
3951 } | 3953 } |
3952 } | 3954 } |