Mercurial > libavcodec.hg
comparison h263.c @ 599:b1a191202f96 libavcodec
mpeg4 mpeg quantizer encoding
author | michaelni |
---|---|
date | Tue, 06 Aug 2002 23:51:15 +0000 |
parents | 0c950f816d61 |
children | df2102629fef |
comparison
equal
deleted
inserted
replaced
598:0c950f816d61 | 599:b1a191202f96 |
---|---|
1120 s->max_qcoeff= 127; | 1120 s->max_qcoeff= 127; |
1121 s->y_dc_scale_table= | 1121 s->y_dc_scale_table= |
1122 s->c_dc_scale_table= ff_mpeg1_dc_scale_table; | 1122 s->c_dc_scale_table= ff_mpeg1_dc_scale_table; |
1123 } | 1123 } |
1124 | 1124 |
1125 /* h263 type bias */ | 1125 if(s->mpeg_quant){ |
1126 //FIXME mpeg4 mpeg quantizer | 1126 s->intra_quant_bias= 3<<(QUANT_BIAS_SHIFT-3); //(a + x*3/8)/x |
1127 s->intra_quant_bias=0; | 1127 s->inter_quant_bias= 0; |
1128 s->inter_quant_bias=-(1<<(QUANT_BIAS_SHIFT-2)); //(a - x/4)/x | 1128 }else{ |
1129 s->intra_quant_bias=0; | |
1130 s->inter_quant_bias=-(1<<(QUANT_BIAS_SHIFT-2)); //(a - x/4)/x | |
1131 } | |
1129 } | 1132 } |
1130 | 1133 |
1131 static void h263_encode_block(MpegEncContext * s, DCTELEM * block, int n) | 1134 static void h263_encode_block(MpegEncContext * s, DCTELEM * block, int n) |
1132 { | 1135 { |
1133 int level, run, last, i, j, last_index, last_non_zero, sign, slevel, code; | 1136 int level, run, last, i, j, last_index, last_non_zero, sign, slevel, code; |
1272 put_bits(&s->pb, 1, s->vol_sprite_usage=0); /* sprite enable */ | 1275 put_bits(&s->pb, 1, s->vol_sprite_usage=0); /* sprite enable */ |
1273 }else{ /* vo_ver_id == 2 */ | 1276 }else{ /* vo_ver_id == 2 */ |
1274 put_bits(&s->pb, 2, s->vol_sprite_usage=0); /* sprite enable */ | 1277 put_bits(&s->pb, 2, s->vol_sprite_usage=0); /* sprite enable */ |
1275 } | 1278 } |
1276 put_bits(&s->pb, 1, 0); /* not 8 bit */ | 1279 put_bits(&s->pb, 1, 0); /* not 8 bit */ |
1277 put_bits(&s->pb, 1, 0); /* quant type= h263 style*/ | 1280 put_bits(&s->pb, 1, s->mpeg_quant); /* quant type= (0=h263 style)*/ |
1281 if(s->mpeg_quant) put_bits(&s->pb, 2, 0); /* no custom matrixes */ | |
1282 | |
1278 if (vo_ver_id != 1) | 1283 if (vo_ver_id != 1) |
1279 put_bits(&s->pb, 1, s->quarter_sample=0); | 1284 put_bits(&s->pb, 1, s->quarter_sample=0); |
1280 put_bits(&s->pb, 1, 1); /* complexity estimation disable */ | 1285 put_bits(&s->pb, 1, 1); /* complexity estimation disable */ |
1281 s->resync_marker= s->rtp_mode; | 1286 s->resync_marker= s->rtp_mode; |
1282 put_bits(&s->pb, 1, s->resync_marker ? 0 : 1);/* resync marker disable */ | 1287 put_bits(&s->pb, 1, s->resync_marker ? 0 : 1);/* resync marker disable */ |