[FFmpeg-devel] [PATCH 03/12] lavfi/vf_colorlevels: replace round by lrint

Ganesh Ajjanagadde gajjanagadde at gmail.com
Mon Dec 21 17:32:19 CET 2015


On Fri, Dec 18, 2015 at 9:45 PM, Ganesh Ajjanagadde
<gajjanagadde at gmail.com> wrote:
> lrint is more accurate, and is not slower on non-broken libm's. Thus this
> represents a Pareto improvement.
>
> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde at 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
>

pushed


More information about the ffmpeg-devel mailing list