mirror of https://git.ffmpeg.org/ffmpeg.git
ffprobe: factorize common code in value_string()
This commit is contained in:
parent
72092188ef
commit
58b10b4c7e
24
ffprobe.c
24
ffprobe.c
|
@ -102,11 +102,13 @@ static char *value_string(char *buf, int buf_size, struct unit_value uv)
|
||||||
hours = mins / 60;
|
hours = mins / 60;
|
||||||
mins %= 60;
|
mins %= 60;
|
||||||
snprintf(buf, buf_size, "%d:%02d:%09.6f", hours, mins, secs);
|
snprintf(buf, buf_size, "%d:%02d:%09.6f", hours, mins, secs);
|
||||||
} else if (use_value_prefix) {
|
} else {
|
||||||
const char *prefix_string;
|
const char *prefix_string = "";
|
||||||
long long int index;
|
|
||||||
int l;
|
int l;
|
||||||
|
|
||||||
|
if (use_value_prefix) {
|
||||||
|
long long int index;
|
||||||
|
|
||||||
if (uv.unit == unit_byte_str && use_byte_value_binary_prefix) {
|
if (uv.unit == unit_byte_str && use_byte_value_binary_prefix) {
|
||||||
index = (long long int) (log(vald)/log(2)) / 10;
|
index = (long long int) (log(vald)/log(2)) / 10;
|
||||||
index = av_clip(index, 0, FF_ARRAY_ELEMS(binary_unit_prefixes) - 1);
|
index = av_clip(index, 0, FF_ARRAY_ELEMS(binary_unit_prefixes) - 1);
|
||||||
|
@ -118,18 +120,14 @@ static char *value_string(char *buf, int buf_size, struct unit_value uv)
|
||||||
vald /= pow(10, index * 3);
|
vald /= pow(10, index * 3);
|
||||||
prefix_string = decimal_unit_prefixes[index];
|
prefix_string = decimal_unit_prefixes[index];
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (show_float || vald != (long long int)vald) l = snprintf(buf, buf_size, "%.3f", vald);
|
if (show_float || (use_value_prefix && vald != (long long int)vald))
|
||||||
else l = snprintf(buf, buf_size, "%lld", (long long int)vald);
|
l = snprintf(buf, buf_size, "%.3f", vald);
|
||||||
snprintf(buf+l, buf_size-l, "%s%s%s", prefix_string || show_value_unit ? " " : "",
|
else
|
||||||
|
l = snprintf(buf, buf_size, "%lld", (long long int)vald);
|
||||||
|
snprintf(buf+l, buf_size-l, "%s%s%s", *prefix_string || show_value_unit ? " " : "",
|
||||||
prefix_string, show_value_unit ? uv.unit : "");
|
prefix_string, show_value_unit ? uv.unit : "");
|
||||||
} else {
|
|
||||||
int l;
|
|
||||||
|
|
||||||
if (show_float) l = snprintf(buf, buf_size, "%.3f", vald);
|
|
||||||
else l = snprintf(buf, buf_size, "%lld", (long long int)vald);
|
|
||||||
snprintf(buf+l, buf_size-l, "%s%s", show_value_unit ? " " : "",
|
|
||||||
show_value_unit ? uv.unit : "");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return buf;
|
return buf;
|
||||||
|
|
Loading…
Reference in New Issue