set constant QP from AVCodecContext.global_quality.
set key_frame flag on coded_picture correctly. Originally committed as revision 4045 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
0fa04b7fde
commit
68c6d60fdf
@ -104,7 +104,8 @@ X264_frame(AVCodecContext *ctx, uint8_t *buf, int bufsize, void *data)
|
||||
break;
|
||||
}
|
||||
|
||||
x4->out_pic.key_frame = x4->out_pic.key_frame == FF_I_TYPE;
|
||||
x4->out_pic.key_frame = pic_out.i_type == X264_TYPE_IDR;
|
||||
x4->out_pic.quality = (pic_out.i_qpplus1 - 1) * FF_QP2LAMBDA;
|
||||
|
||||
return bufsize;
|
||||
}
|
||||
@ -139,6 +140,10 @@ X264_init(AVCodecContext *avctx)
|
||||
x4->params.rc.i_qp_max = avctx->qmax;
|
||||
x4->params.rc.i_qp_step = avctx->max_qdiff;
|
||||
|
||||
if(avctx->flags & CODEC_FLAG_QSCALE && avctx->global_quality > 0)
|
||||
x4->params.rc.i_qp_constant =
|
||||
12 + 6 * log2((double) avctx->global_quality / FF_QP2LAMBDA);
|
||||
|
||||
x4->params.i_width = avctx->width;
|
||||
x4->params.i_height = avctx->height;
|
||||
x4->params.vui.i_sar_width = avctx->sample_aspect_ratio.num;
|
||||
|
Loading…
Reference in New Issue
Block a user