/*
* H.264 encoding using the x264 library
- * Copyright (C) 2005 Måns Rullgård <mru@inprovide.com>
+ * Copyright (C) 2005 Mans Rullgard <mru@inprovide.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
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;
}
x4->params.rc.i_rc_buffer_size = avctx->rc_buffer_size / 1000;
if(avctx->rc_buffer_size)
x4->params.rc.b_cbr = 1;
+ x4->params.i_bframe = avctx->max_b_frames;
+ x4->params.b_cabac = avctx->coder_type == FF_CODER_TYPE_AC;
+
x4->params.rc.i_qp_min = avctx->qmin;
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;