Mercurial > libavcodec.hg
comparison mpegvideo.c @ 2229:5ca45491294b libavcodec
qprd + mpeg2 segfault fix
author | michael |
---|---|
date | Tue, 14 Sep 2004 17:17:12 +0000 |
parents | c17d0cbbdf66 |
children | 53f407cf1f18 |
comparison
equal
deleted
inserted
replaced
2228:f9411c92f7e6 | 2229:5ca45491294b |
---|---|
4406 for(dquant= dir; dquant<=2 && dquant>=-2; dquant += dir){ | 4406 for(dquant= dir; dquant<=2 && dquant>=-2; dquant += dir){ |
4407 qp= last_qp + dquant; | 4407 qp= last_qp + dquant; |
4408 if(qp < s->avctx->qmin || qp > s->avctx->qmax) | 4408 if(qp < s->avctx->qmin || qp > s->avctx->qmax) |
4409 break; | 4409 break; |
4410 backup_s.dquant= dquant; | 4410 backup_s.dquant= dquant; |
4411 if(s->mb_intra){ | 4411 if(s->mb_intra && s->dc_val[0]){ |
4412 for(i=0; i<6; i++){ | 4412 for(i=0; i<6; i++){ |
4413 dc[i]= s->dc_val[0][ s->block_index[i] ]; | 4413 dc[i]= s->dc_val[0][ s->block_index[i] ]; |
4414 memcpy(ac[i], s->ac_val[0][s->block_index[i]], sizeof(DCTELEM)*16); | 4414 memcpy(ac[i], s->ac_val[0][s->block_index[i]], sizeof(DCTELEM)*16); |
4415 } | 4415 } |
4416 } | 4416 } |
4417 | 4417 |
4418 encode_mb_hq(s, &backup_s, &best_s, CANDIDATE_MB_TYPE_INTER /* wrong but unused */, pb, pb2, tex_pb, | 4418 encode_mb_hq(s, &backup_s, &best_s, CANDIDATE_MB_TYPE_INTER /* wrong but unused */, pb, pb2, tex_pb, |
4419 &dmin, &next_block, s->mv[mvdir][0][0], s->mv[mvdir][0][1]); | 4419 &dmin, &next_block, s->mv[mvdir][0][0], s->mv[mvdir][0][1]); |
4420 if(best_s.qscale != qp){ | 4420 if(best_s.qscale != qp){ |
4421 if(s->mb_intra){ | 4421 if(s->mb_intra && s->dc_val[0]){ |
4422 for(i=0; i<6; i++){ | 4422 for(i=0; i<6; i++){ |
4423 s->dc_val[0][ s->block_index[i] ]= dc[i]; | 4423 s->dc_val[0][ s->block_index[i] ]= dc[i]; |
4424 memcpy(s->ac_val[0][s->block_index[i]], ac[i], sizeof(DCTELEM)*16); | 4424 memcpy(s->ac_val[0][s->block_index[i]], ac[i], sizeof(DCTELEM)*16); |
4425 } | 4425 } |
4426 } | 4426 } |