[FFmpeg-devel] [PATCH 03/12] lavfi/vf_colorlevels: replace round by lrint
Ganesh Ajjanagadde
gajjanagadde at gmail.com
Sat Dec 19 06:45:29 CET 2015
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
More information about the ffmpeg-devel
mailing list