Commit 989564a7 authored by michael's avatar michael

100l qprd fix 2nd try


git-svn-id: file:///var/local/repositories/ffmpeg/trunk@7132 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent 98c17835
...@@ -5226,7 +5226,7 @@ static int encode_thread(AVCodecContext *c, void *arg){ ...@@ -5226,7 +5226,7 @@ static int encode_thread(AVCodecContext *c, void *arg){
if(s->flags & CODEC_FLAG_QP_RD){ if(s->flags & CODEC_FLAG_QP_RD){
if(best_s.mv_type==MV_TYPE_16X16 && !(best_s.mv_dir&MV_DIRECT)){ if(best_s.mv_type==MV_TYPE_16X16 && !(best_s.mv_dir&MV_DIRECT)){
const int last_qp= backup_s.qscale; const int last_qp= backup_s.qscale;
int dquant, qpi, qp, dc[6]; int qpi, qp, dc[6];
DCTELEM ac[6][16]; DCTELEM ac[6][16];
const int mvdir= (best_s.mv_dir&MV_DIR_BACKWARD) ? 1 : 0; const int mvdir= (best_s.mv_dir&MV_DIR_BACKWARD) ? 1 : 0;
static const int dquant_tab[4]={-1,1,-2,2}; static const int dquant_tab[4]={-1,1,-2,2};
...@@ -5243,7 +5243,8 @@ static int encode_thread(AVCodecContext *c, void *arg){ ...@@ -5243,7 +5243,8 @@ static int encode_thread(AVCodecContext *c, void *arg){
s->mv[1][0][1] = best_s.mv[1][0][1]; s->mv[1][0][1] = best_s.mv[1][0][1];
qpi = s->pict_type == B_TYPE ? 2 : 0; qpi = s->pict_type == B_TYPE ? 2 : 0;
for(dquant= dquant_tab[qpi]; qpi<4; qpi++){ for(; qpi<4; qpi++){
int dquant= dquant_tab[qpi];
qp= last_qp + dquant; qp= last_qp + dquant;
if(qp < s->avctx->qmin || qp > s->avctx->qmax) if(qp < s->avctx->qmin || qp > s->avctx->qmax)
continue; continue;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment