mirror of https://git.ffmpeg.org/ffmpeg.git
ffprobe: avoid potentially lossy long long int -> double cast in value_string()
Previously the cast long long int -> double was always performed (and then the double was converted back to long long int) even when it was avoidable.
This commit is contained in:
parent
e3329474a3
commit
5e99a23b2d
|
@ -96,13 +96,14 @@ struct unit_value {
|
|||
static char *value_string(char *buf, int buf_size, struct unit_value uv)
|
||||
{
|
||||
double vald;
|
||||
long long int vali;
|
||||
int show_float = 0;
|
||||
|
||||
if (uv.unit == unit_second_str) {
|
||||
vald = uv.val.d;
|
||||
show_float = 1;
|
||||
} else {
|
||||
vald = uv.val.i;
|
||||
vald = vali = uv.val.i;
|
||||
}
|
||||
|
||||
if (uv.unit == unit_second_str && use_value_sexagesimal_format) {
|
||||
|
@ -136,7 +137,7 @@ static char *value_string(char *buf, int buf_size, struct unit_value uv)
|
|||
if (show_float || (use_value_prefix && vald != (long long int)vald))
|
||||
snprintf(buf, buf_size, "%f", vald);
|
||||
else
|
||||
snprintf(buf, buf_size, "%lld", (long long int)vald);
|
||||
snprintf(buf, buf_size, "%lld", vali);
|
||||
av_strlcatf(buf, buf_size, "%s%s%s", *prefix_string || show_value_unit ? " " : "",
|
||||
prefix_string, show_value_unit ? uv.unit : "");
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue