Commit 835ab05c authored by mru's avatar mru

set constant QP from AVCodecContext.global_quality.

set key_frame flag on coded_picture correctly.


git-svn-id: file:///var/local/repositories/ffmpeg/trunk@4045 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent 4f021638
...@@ -104,7 +104,8 @@ X264_frame(AVCodecContext *ctx, uint8_t *buf, int bufsize, void *data) ...@@ -104,7 +104,8 @@ X264_frame(AVCodecContext *ctx, uint8_t *buf, int bufsize, void *data)
break; 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; return bufsize;
} }
...@@ -139,6 +140,10 @@ X264_init(AVCodecContext *avctx) ...@@ -139,6 +140,10 @@ X264_init(AVCodecContext *avctx)
x4->params.rc.i_qp_max = avctx->qmax; x4->params.rc.i_qp_max = avctx->qmax;
x4->params.rc.i_qp_step = avctx->max_qdiff; 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_width = avctx->width;
x4->params.i_height = avctx->height; x4->params.i_height = avctx->height;
x4->params.vui.i_sar_width = avctx->sample_aspect_ratio.num; x4->params.vui.i_sar_width = avctx->sample_aspect_ratio.num;
......
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