Commit 20a5956b authored by Vittorio Giovara's avatar Vittorio Giovara

dump: split audio and video probing on multiple lines

Also always report pixel format.
parent 5a419b2d
...@@ -1887,6 +1887,7 @@ void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode) ...@@ -1887,6 +1887,7 @@ void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode)
const AVCodec *p; const AVCodec *p;
char buf1[32]; char buf1[32];
int bitrate; int bitrate;
int new_line = 0;
AVRational display_aspect_ratio; AVRational display_aspect_ratio;
if (enc->codec) if (enc->codec)
...@@ -1919,15 +1920,19 @@ void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode) ...@@ -1919,15 +1920,19 @@ void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode)
if (profile) if (profile)
snprintf(buf + strlen(buf), buf_size - strlen(buf), snprintf(buf + strlen(buf), buf_size - strlen(buf),
" (%s)", profile); " (%s)", profile);
if (enc->pix_fmt != AV_PIX_FMT_NONE) {
snprintf(buf + strlen(buf), buf_size - strlen(buf), av_strlcat(buf, "\n ", buf_size);
", %s", 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)); av_get_pix_fmt_name(enc->pix_fmt));
}
if (enc->width) { if (enc->width) {
av_strlcat(buf, new_line ? "\n " : ", ", buf_size);
snprintf(buf + strlen(buf), buf_size - strlen(buf), snprintf(buf + strlen(buf), buf_size - strlen(buf),
", %dx%d", "%dx%d",
enc->width, enc->height); enc->width, enc->height);
if (enc->sample_aspect_ratio.num) { if (enc->sample_aspect_ratio.num) {
av_reduce(&display_aspect_ratio.num, &display_aspect_ratio.den, av_reduce(&display_aspect_ratio.num, &display_aspect_ratio.den,
enc->width * enc->sample_aspect_ratio.num, enc->width * enc->sample_aspect_ratio.num,
...@@ -1957,11 +1962,11 @@ void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode) ...@@ -1957,11 +1962,11 @@ void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode)
if (profile) if (profile)
snprintf(buf + strlen(buf), buf_size - strlen(buf), snprintf(buf + strlen(buf), buf_size - strlen(buf),
" (%s)", profile); " (%s)", profile);
av_strlcat(buf, "\n ", buf_size);
if (enc->sample_rate) { if (enc->sample_rate) {
snprintf(buf + strlen(buf), buf_size - strlen(buf), 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); 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) { if (enc->sample_fmt != AV_SAMPLE_FMT_NONE) {
snprintf(buf + strlen(buf), buf_size - strlen(buf), snprintf(buf + strlen(buf), buf_size - strlen(buf),
......
...@@ -116,11 +116,11 @@ static void print_fps(double d, const char *postfix) ...@@ -116,11 +116,11 @@ static void print_fps(double d, const char *postfix)
{ {
uint64_t v = lrintf(d * 100); uint64_t v = lrintf(d * 100);
if (v % 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)) 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 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) static void dump_metadata(void *ctx, AVDictionary *m, const char *indent)
...@@ -357,11 +357,17 @@ static void dump_stream_format(AVFormatContext *ic, int i, ...@@ -357,11 +357,17 @@ static void dump_stream_format(AVFormatContext *ic, int i,
} }
if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO) { if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO) {
if (st->avg_frame_rate.den && st->avg_frame_rate.num) int fps = st->avg_frame_rate.den && st->avg_frame_rate.num;
print_fps(av_q2d(st->avg_frame_rate), "fps"); int tbn = st->time_base.den && st->time_base.num;
if (st->time_base.den && st->time_base.num) int tbc = st->codec->time_base.den && st->codec->time_base.num;
print_fps(1 / av_q2d(st->time_base), "tbn");
if (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"); print_fps(1 / av_q2d(st->codec->time_base), "tbc");
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment