[FFmpeg-cvslog] dump: split audio and video probing on multiple lines
Vittorio Giovara
git at videolan.org
Thu Oct 9 01:03:30 CEST 2014
ffmpeg | branch: master | Vittorio Giovara <vittorio.giovara at gmail.com> | Fri Sep 26 14:37:40 2014 +0100| [20a5956b8daeee4cb59d6fa00ec809b02c04d7f8] | committer: Vittorio Giovara
dump: split audio and video probing on multiple lines
Also always report pixel format.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=20a5956b8daeee4cb59d6fa00ec809b02c04d7f8
---
libavcodec/utils.c | 19 ++++++++++++-------
libavformat/dump.c | 22 ++++++++++++++--------
2 files changed, 26 insertions(+), 15 deletions(-)
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index 8ecf358..4d097d4 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -1887,6 +1887,7 @@ void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode)
const AVCodec *p;
char buf1[32];
int bitrate;
+ int new_line = 0;
AVRational display_aspect_ratio;
if (enc->codec)
@@ -1919,15 +1920,19 @@ void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode)
if (profile)
snprintf(buf + strlen(buf), buf_size - strlen(buf),
" (%s)", profile);
- if (enc->pix_fmt != AV_PIX_FMT_NONE) {
- snprintf(buf + strlen(buf), buf_size - strlen(buf),
- ", %s",
+
+ av_strlcat(buf, "\n ", buf_size);
+ snprintf(buf + strlen(buf), buf_size - strlen(buf),
+ "%s", enc->pix_fmt == AV_PIX_FMT_NONE ? "none" :
av_get_pix_fmt_name(enc->pix_fmt));
- }
+
if (enc->width) {
+ av_strlcat(buf, new_line ? "\n " : ", ", buf_size);
+
snprintf(buf + strlen(buf), buf_size - strlen(buf),
- ", %dx%d",
+ "%dx%d",
enc->width, enc->height);
+
if (enc->sample_aspect_ratio.num) {
av_reduce(&display_aspect_ratio.num, &display_aspect_ratio.den,
enc->width * enc->sample_aspect_ratio.num,
@@ -1957,11 +1962,11 @@ void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode)
if (profile)
snprintf(buf + strlen(buf), buf_size - strlen(buf),
" (%s)", profile);
+ av_strlcat(buf, "\n ", buf_size);
if (enc->sample_rate) {
snprintf(buf + strlen(buf), buf_size - strlen(buf),
- ", %d Hz", enc->sample_rate);
+ "%d Hz, ", enc->sample_rate);
}
- av_strlcat(buf, ", ", buf_size);
av_get_channel_layout_string(buf + strlen(buf), buf_size - strlen(buf), enc->channels, enc->channel_layout);
if (enc->sample_fmt != AV_SAMPLE_FMT_NONE) {
snprintf(buf + strlen(buf), buf_size - strlen(buf),
diff --git a/libavformat/dump.c b/libavformat/dump.c
index 58ed654..649678c 100644
--- a/libavformat/dump.c
+++ b/libavformat/dump.c
@@ -116,11 +116,11 @@ static void print_fps(double d, const char *postfix)
{
uint64_t v = lrintf(d * 100);
if (v % 100)
- av_log(NULL, AV_LOG_INFO, ", %3.2f %s", d, postfix);
+ av_log(NULL, AV_LOG_INFO, "%3.2f %s", d, postfix);
else if (v % (100 * 1000))
- av_log(NULL, AV_LOG_INFO, ", %1.0f %s", d, postfix);
+ av_log(NULL, AV_LOG_INFO, "%1.0f %s", d, postfix);
else
- av_log(NULL, AV_LOG_INFO, ", %1.0fk %s", d / 1000, postfix);
+ av_log(NULL, AV_LOG_INFO, "%1.0fk %s", d / 1000, postfix);
}
static void dump_metadata(void *ctx, AVDictionary *m, const char *indent)
@@ -357,11 +357,17 @@ static void dump_stream_format(AVFormatContext *ic, int i,
}
if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO) {
- if (st->avg_frame_rate.den && st->avg_frame_rate.num)
- print_fps(av_q2d(st->avg_frame_rate), "fps");
- if (st->time_base.den && st->time_base.num)
- print_fps(1 / av_q2d(st->time_base), "tbn");
- if (st->codec->time_base.den && st->codec->time_base.num)
+ int fps = st->avg_frame_rate.den && st->avg_frame_rate.num;
+ int tbn = st->time_base.den && st->time_base.num;
+ int tbc = st->codec->time_base.den && st->codec->time_base.num;
+
+ if (fps || tbn || tbc)
+ av_log(NULL, AV_LOG_INFO, "\n ");
+ if (fps)
+ print_fps(av_q2d(st->avg_frame_rate), tbn || tbc ? "fps, " : "fps");
+ if (tbn)
+ print_fps(1 / av_q2d(st->time_base), tbc ? "tbn, " : "tbn");
+ if (tbc)
print_fps(1 / av_q2d(st->codec->time_base), "tbc");
}
More information about the ffmpeg-cvslog
mailing list