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 }