Mercurial > libavcodec.hg
comparison mpegvideo.c @ 1801:3f26dfb3eba4 libavcodec
replace a few pbBufPtr() by put_bits_count(), one of them was actually wrong
author | michael |
---|---|
date | Fri, 13 Feb 2004 20:59:48 +0000 |
parents | 95612d423fde |
children | e91dbb5b1a8d |
comparison
equal
deleted
inserted
replaced
1800:e039d79185c2 | 1801:3f26dfb3eba4 |
---|---|
2039 for(i=0; i<4; i++){ | 2039 for(i=0; i<4; i++){ |
2040 avctx->error[i] += s->current_picture_ptr->error[i]; | 2040 avctx->error[i] += s->current_picture_ptr->error[i]; |
2041 } | 2041 } |
2042 | 2042 |
2043 flush_put_bits(&s->pb); | 2043 flush_put_bits(&s->pb); |
2044 s->frame_bits = (pbBufPtr(&s->pb) - s->pb.buf) * 8; | 2044 s->frame_bits = put_bits_count(&s->pb); |
2045 | 2045 |
2046 stuffing_count= ff_vbv_update(s, s->frame_bits); | 2046 stuffing_count= ff_vbv_update(s, s->frame_bits); |
2047 if(stuffing_count){ | 2047 if(stuffing_count){ |
2048 switch(s->codec_id){ | 2048 switch(s->codec_id){ |
2049 case CODEC_ID_MPEG1VIDEO: | 2049 case CODEC_ID_MPEG1VIDEO: |
2062 break; | 2062 break; |
2063 default: | 2063 default: |
2064 av_log(s->avctx, AV_LOG_ERROR, "vbv buffer overflow\n"); | 2064 av_log(s->avctx, AV_LOG_ERROR, "vbv buffer overflow\n"); |
2065 } | 2065 } |
2066 flush_put_bits(&s->pb); | 2066 flush_put_bits(&s->pb); |
2067 s->frame_bits = (pbBufPtr(&s->pb) - s->pb.buf) * 8; | 2067 s->frame_bits = put_bits_count(&s->pb); |
2068 } | 2068 } |
2069 | 2069 |
2070 /* update mpeg1/2 vbv_delay for CBR */ | 2070 /* update mpeg1/2 vbv_delay for CBR */ |
2071 if(s->avctx->rc_max_rate && s->avctx->rc_min_rate == s->avctx->rc_max_rate){ | 2071 if(s->avctx->rc_max_rate && s->avctx->rc_min_rate == s->avctx->rc_max_rate){ |
2072 int vbv_delay; | 2072 int vbv_delay; |
4038 /* write gob / video packet header */ | 4038 /* write gob / video packet header */ |
4039 #ifdef CONFIG_RISKY | 4039 #ifdef CONFIG_RISKY |
4040 if(s->rtp_mode){ | 4040 if(s->rtp_mode){ |
4041 int current_packet_size, is_gob_start; | 4041 int current_packet_size, is_gob_start; |
4042 | 4042 |
4043 current_packet_size= pbBufPtr(&s->pb) - s->ptr_lastgob; //FIXME wrong | 4043 current_packet_size= ((put_bits_count(&s->pb)+7)>>3) - (s->ptr_lastgob - s->pb.buf); |
4044 | 4044 |
4045 is_gob_start= s->avctx->rtp_payload_size && current_packet_size >= s->avctx->rtp_payload_size && mb_y + mb_x>0; | 4045 is_gob_start= s->avctx->rtp_payload_size && current_packet_size >= s->avctx->rtp_payload_size && mb_y + mb_x>0; |
4046 | 4046 |
4047 if(s->start_mb_y == mb_y && mb_y > 0 && mb_x==0) is_gob_start=1; | 4047 if(s->start_mb_y == mb_y && mb_y > 0 && mb_x==0) is_gob_start=1; |
4048 | 4048 |