Mercurial > libavcodec.hg
changeset 1159:13ea348d4cf2 libavcodec
simplify slice encoding (variance of packet size is practically identical)
author | michaelni |
---|---|
date | Sun, 30 Mar 2003 16:22:08 +0000 |
parents | 71d890b5c13b |
children | 9a5c29575902 |
files | mpegvideo.c mpegvideo.h |
diffstat | 2 files changed, 2 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/mpegvideo.c Sat Mar 29 14:06:24 2003 +0000 +++ b/mpegvideo.c Sun Mar 30 16:22:08 2003 +0000 @@ -3043,7 +3043,6 @@ s->resync_mb_y=0; s->first_slice_line = 1; s->ptr_lastgob = s->pb.buf; - s->ptr_last_mb_line = s->pb.buf; for(mb_y=0; mb_y < s->mb_height; mb_y++) { s->y_dc_scale= s->y_dc_scale_table[ s->qscale ]; s->c_dc_scale= s->c_dc_scale_table[ s->qscale ]; @@ -3078,7 +3077,7 @@ is_gob_start=0; if(s->codec_id==CODEC_ID_MPEG4){ - if(current_packet_size + s->mb_line_avgsize/s->mb_width >= s->rtp_payload_size + if(current_packet_size >= s->rtp_payload_size && s->mb_y + s->mb_x>0){ if(s->partitioned_frame){ @@ -3096,7 +3095,7 @@ is_gob_start=1; } }else{ - if(current_packet_size + s->mb_line_avgsize*s->gob_index >= s->rtp_payload_size + if(current_packet_size >= s->rtp_payload_size && s->mb_x==0 && s->mb_y>0 && s->mb_y%s->gob_index==0){ h263_encode_gob_header(s, mb_y); @@ -3411,17 +3410,6 @@ } //printf("MB %d %d bits\n", s->mb_x+s->mb_y*s->mb_width, get_bit_count(&s->pb)); } - - - /* Obtain average mb_row size for RTP */ - if (s->rtp_mode) { - if (mb_y==0) - s->mb_line_avgsize = pbBufPtr(&s->pb) - s->ptr_last_mb_line; - else { - s->mb_line_avgsize = (s->mb_line_avgsize + pbBufPtr(&s->pb) - s->ptr_last_mb_line) >> 1; - } - s->ptr_last_mb_line = pbBufPtr(&s->pb); - } } emms_c();
--- a/mpegvideo.h Sat Mar 29 14:06:24 2003 +0000 +++ b/mpegvideo.h Sun Mar 30 16:22:08 2003 +0000 @@ -578,8 +578,6 @@ int rtp_payload_size; void (*rtp_callback)(void *data, int size, int packet_number); uint8_t *ptr_lastgob; - uint8_t *ptr_last_mb_line; - uint32_t mb_line_avgsize; DCTELEM (*block)[64]; ///< points to one of the following blocks DCTELEM blocks[2][6][64] __align8; // for HQ mode we need to keep the best block