# HG changeset patch # User michael # Date 1073301365 0 # Node ID 73a3699b83750e47aaa2589961cb2bc007a8ef05 # Parent 1ed3664b352392923294896475bb31b4a9d2ef18 simplify diff -r 1ed3664b3523 -r 73a3699b8375 mpeg12.c --- a/mpeg12.c Sun Jan 04 22:13:14 2004 +0000 +++ b/mpeg12.c Mon Jan 05 11:16:05 2004 +0000 @@ -1016,14 +1016,11 @@ static inline int get_qscale(MpegEncContext *s) { int qscale = get_bits(&s->gb, 5); - if (s->codec_id == CODEC_ID_MPEG2VIDEO) { - if (s->q_scale_type) { - return non_linear_qscale[qscale]; - } else { - return qscale << 1; - } + if (s->q_scale_type) { + return non_linear_qscale[qscale]; + } else { + return qscale << 1; } - return qscale; } /* motion type (for mpeg2) */ @@ -1453,7 +1450,7 @@ } else if(level != 0) { i += run; j = scantable[i]; - level= (level*qscale*quant_matrix[j])>>3; + level= (level*qscale*quant_matrix[j])>>4; level= (level-1)|1; level = (level ^ SHOW_SBITS(re, &s->gb, 1)) - SHOW_SBITS(re, &s->gb, 1); LAST_SKIP_BITS(re, &s->gb, 1); @@ -1471,11 +1468,11 @@ j = scantable[i]; if(level<0){ level= -level; - level= (level*qscale*quant_matrix[j])>>3; + level= (level*qscale*quant_matrix[j])>>4; level= (level-1)|1; level= -level; }else{ - level= (level*qscale*quant_matrix[j])>>3; + level= (level*qscale*quant_matrix[j])>>4; level= (level-1)|1; } } @@ -1511,7 +1508,7 @@ v= SHOW_UBITS(re, &s->gb, 2); if (v & 2) { LAST_SKIP_BITS(re, &s->gb, 2); - level= (3*qscale*quant_matrix[0])>>4; + level= (3*qscale*quant_matrix[0])>>5; level= (level-1)|1; if(v&1) level= -level; @@ -1529,7 +1526,7 @@ } else if(level != 0) { i += run; j = scantable[i]; - level= ((level*2+1)*qscale*quant_matrix[j])>>4; + level= ((level*2+1)*qscale*quant_matrix[j])>>5; level= (level-1)|1; level = (level ^ SHOW_SBITS(re, &s->gb, 1)) - SHOW_SBITS(re, &s->gb, 1); LAST_SKIP_BITS(re, &s->gb, 1); @@ -1547,11 +1544,11 @@ j = scantable[i]; if(level<0){ level= -level; - level= ((level*2+1)*qscale*quant_matrix[j])>>4; + level= ((level*2+1)*qscale*quant_matrix[j])>>5; level= (level-1)|1; level= -level; }else{ - level= ((level*2+1)*qscale*quant_matrix[j])>>4; + level= ((level*2+1)*qscale*quant_matrix[j])>>5; level= (level-1)|1; } } @@ -2313,10 +2310,7 @@ if (/*s->mb_y<mb_height &&*/ !s->first_field) { /* end of image */ - if(s->codec_id == CODEC_ID_MPEG2VIDEO){ - s->current_picture_ptr->qscale_type= FF_QSCALE_TYPE_MPEG2; - }else - s->current_picture_ptr->qscale_type= FF_QSCALE_TYPE_MPEG1; + s->current_picture_ptr->qscale_type= FF_QSCALE_TYPE_MPEG2; ff_er_frame_end(s);