Browse Source

avfilter/vf_idet: fix rounding of av_dict_set_fxp()

fixes the remainder overflowing beyond .999

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.5
Michael Niedermayer 11 years ago
parent
commit
5d590d87b3
1 changed files with 6 additions and 1 deletions
  1. +6
    -1
      libavfilter/vf_idet.c

+ 6
- 1
libavfilter/vf_idet.c View File

@@ -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);
}



Loading…
Cancel
Save