[FFmpeg-cvslog] avfilter/vf_idet: fix rounding of av_dict_set_fxp()
Michael Niedermayer
git at videolan.org
Mon Nov 3 17:33:18 CET 2014
ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Mon Nov 3 17:14:29 2014 +0100| [5d590d87b30c59dfb853ebde6276d36f8a8bbc58] | committer: Michael Niedermayer
avfilter/vf_idet: fix rounding of av_dict_set_fxp()
fixes the remainder overflowing beyond .999
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=5d590d87b30c59dfb853ebde6276d36f8a8bbc58
---
libavfilter/vf_idet.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/libavfilter/vf_idet.c b/libavfilter/vf_idet.c
index 01d7eca..05f361a 100644
--- a/libavfilter/vf_idet.c
+++ b/libavfilter/vf_idet.c
@@ -62,8 +62,13 @@ static int av_dict_set_fxp(AVDictionary **pm, const char *key, uint64_t value, u
int flags)
{
char valuestr[44];
+ uint64_t print_precision = uintpow(10, digits);
+
+ value = av_rescale(value, print_precision, PRECISION);
+
snprintf(valuestr, sizeof(valuestr), "%"PRId64".%0*"PRId64,
- value / PRECISION, digits, ( value % PRECISION ) / ( PRECISION / uintpow(10,digits) ));
+ value / print_precision, digits, value % print_precision);
+
return av_dict_set(pm, key, valuestr, flags);
}
More information about the ffmpeg-cvslog
mailing list