Check rc_buffer_size value using integer arithmetic
Using floating-point here can cause erroneous rejection of parameters due to rounding errors leading to a slightly too large result. This fixes the mxf regression test with gcc 4.5 on x86_32. Originally committed as revision 25060 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
1904035bac
commit
b33451eeac
@ -351,7 +351,7 @@ av_cold int MPV_encode_init(AVCodecContext *avctx)
|
|||||||
av_log(avctx, AV_LOG_INFO, "impossible bitrate constraints, this will fail\n");
|
av_log(avctx, AV_LOG_INFO, "impossible bitrate constraints, this will fail\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(avctx->rc_buffer_size && avctx->bit_rate*av_q2d(avctx->time_base) > avctx->rc_buffer_size){
|
if(avctx->rc_buffer_size && avctx->bit_rate*(int64_t)avctx->time_base.num > avctx->rc_buffer_size * (int64_t)avctx->time_base.den){
|
||||||
av_log(avctx, AV_LOG_ERROR, "VBV buffer too small for bitrate\n");
|
av_log(avctx, AV_LOG_ERROR, "VBV buffer too small for bitrate\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user