[libav-commits] avprobe: also output dar/par if only defined in stream

Anton Khirnov git at libav.org
Fri Jan 4 18:10:56 CET 2013


Module: libav
Branch: master
Commit: dda20a6e2c0c3d7985a93c60f5897975549d53b0

Author:    Anton Khirnov <anton at khirnov.net>
Committer: Anton Khirnov <anton at khirnov.net>
Date:      Thu Jan  3 12:01:15 2013 +0100

avprobe: also output dar/par if only defined in stream

Based on a patch by Jan Gerber <j at v2v.cc>

---

 avprobe.c |   15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/avprobe.c b/avprobe.c
index 4da9621..38b74a3 100644
--- a/avprobe.c
+++ b/avprobe.c
@@ -583,7 +583,7 @@ static void show_stream(AVFormatContext *fmt_ctx, int stream_idx)
     const AVCodec *dec;
     const char *profile;
     char val_str[128];
-    AVRational display_aspect_ratio;
+    AVRational display_aspect_ratio, *sar = NULL;
     const AVPixFmtDescriptor *desc;
 
     probe_object_header("stream");
@@ -618,13 +618,16 @@ static void show_stream(AVFormatContext *fmt_ctx, int stream_idx)
             probe_int("width", dec_ctx->width);
             probe_int("height", dec_ctx->height);
             probe_int("has_b_frames", dec_ctx->has_b_frames);
-            if (dec_ctx->sample_aspect_ratio.num) {
+            if (dec_ctx->sample_aspect_ratio.num)
+                sar = &dec_ctx->sample_aspect_ratio;
+            else if (stream->sample_aspect_ratio.num)
+                sar = &stream->sample_aspect_ratio;
+
+            if (sar) {
                 probe_str("sample_aspect_ratio",
-                          rational_string(val_str, sizeof(val_str), ":",
-                          &dec_ctx->sample_aspect_ratio));
+                          rational_string(val_str, sizeof(val_str), ":", sar));
                 av_reduce(&display_aspect_ratio.num, &display_aspect_ratio.den,
-                          dec_ctx->width  * dec_ctx->sample_aspect_ratio.num,
-                          dec_ctx->height * dec_ctx->sample_aspect_ratio.den,
+                          dec_ctx->width  * sar->num, dec_ctx->height * sar->den,
                           1024*1024);
                 probe_str("display_aspect_ratio",
                           rational_string(val_str, sizeof(val_str), ":",



More information about the libav-commits mailing list