lrint is more accurate, and is not slower on non-broken libm's. Thus this represents a Pareto improvement.
Signed-off-by: Ganesh Ajjanagadde <gajjanaga...@gmail.com> --- libavfilter/vf_colorlevels.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/libavfilter/vf_colorlevels.c b/libavfilter/vf_colorlevels.c index cb3314b..dedbe30 100644 --- a/libavfilter/vf_colorlevels.c +++ b/libavfilter/vf_colorlevels.c @@ -132,10 +132,10 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in) const uint8_t offset = s->rgba_map[i]; const uint8_t *srcrow = in->data[0]; uint8_t *dstrow = out->data[0]; - int imin = round(r->in_min * UINT8_MAX); - int imax = round(r->in_max * UINT8_MAX); - int omin = round(r->out_min * UINT8_MAX); - int omax = round(r->out_max * UINT8_MAX); + int imin = lrint(r->in_min * UINT8_MAX); + int imax = lrint(r->in_max * UINT8_MAX); + int omin = lrint(r->out_min * UINT8_MAX); + int omax = lrint(r->out_max * UINT8_MAX); double coeff; if (imin < 0) { @@ -179,10 +179,10 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in) const uint8_t offset = s->rgba_map[i]; const uint8_t *srcrow = in->data[0]; uint8_t *dstrow = out->data[0]; - int imin = round(r->in_min * UINT16_MAX); - int imax = round(r->in_max * UINT16_MAX); - int omin = round(r->out_min * UINT16_MAX); - int omax = round(r->out_max * UINT16_MAX); + int imin = lrint(r->in_min * UINT16_MAX); + int imax = lrint(r->in_max * UINT16_MAX); + int omin = lrint(r->out_min * UINT16_MAX); + int omax = lrint(r->out_max * UINT16_MAX); double coeff; if (imin < 0) { -- 2.6.4 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel