mirror of https://github.com/mpv-player/mpv
2-pass qscale fixed
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5633 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
04536ff9c5
commit
6d8cc6f3e9
|
@ -153,7 +153,8 @@ static int config(struct vf_instance_s* vf,
|
||||||
5) == -1){
|
5) == -1){
|
||||||
mp_msg(MSGT_MENCODER,MSGL_ERR,"2pass failed: filename=%s\n", passtmpfile);
|
mp_msg(MSGT_MENCODER,MSGL_ERR,"2pass failed: filename=%s\n", passtmpfile);
|
||||||
pass=0;
|
pass=0;
|
||||||
}
|
} else
|
||||||
|
lavc_venc_context.flags|=CODEC_FLAG_QSCALE|CODEC_FLAG_TYPE; // VBR
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -199,13 +200,8 @@ static void put_image(struct vf_instance_s* vf, mp_image_t *mpi){
|
||||||
if(pass==2){ // handle 2-pass:
|
if(pass==2){ // handle 2-pass:
|
||||||
lavc_venc_context.flags|=CODEC_FLAG_QSCALE; // enable VBR
|
lavc_venc_context.flags|=CODEC_FLAG_QSCALE; // enable VBR
|
||||||
lavc_venc_context.quality=VbrControl_get_quant();
|
lavc_venc_context.quality=VbrControl_get_quant();
|
||||||
#ifdef CODEC_FLAG_TYPE
|
|
||||||
lavc_venc_context.flags|=CODEC_FLAG_TYPE; // force keyframes
|
|
||||||
lavc_venc_context.key_frame=VbrControl_get_intra();
|
lavc_venc_context.key_frame=VbrControl_get_intra();
|
||||||
lavc_venc_context.gop_size=0x3fffffff;
|
lavc_venc_context.gop_size=0x3fffffff;
|
||||||
#else
|
|
||||||
#error you should upgrade libavcodec... get latest CVS
|
|
||||||
#endif
|
|
||||||
out_size = avcodec_encode_video(&lavc_venc_context, mux_v->buffer, mux_v->buffer_size,
|
out_size = avcodec_encode_video(&lavc_venc_context, mux_v->buffer, mux_v->buffer_size,
|
||||||
&lavc_venc_picture);
|
&lavc_venc_picture);
|
||||||
VbrControl_update_2pass_vbr_encoding(lavc_venc_context.mv_bits,
|
VbrControl_update_2pass_vbr_encoding(lavc_venc_context.mv_bits,
|
||||||
|
|
Loading…
Reference in New Issue