use stream->sample_aspect_ratio to output display_aspect_ratio and
pixel_aspect_ratio if dec_ctx->sample_aspect_ratio.num is not set.
---
 avprobe.c |   11 +++++++++++
 1 file changed, 11 insertions(+)


diff --git a/avprobe.c b/avprobe.c
index 4da9621..3e26b90 100644
--- a/avprobe.c
+++ b/avprobe.c
@@ -629,6 +629,17 @@ static void show_stream(AVFormatContext *fmt_ctx, int stream_idx)
                 probe_str("display_aspect_ratio",
                           rational_string(val_str, sizeof(val_str), ":",
                           &display_aspect_ratio));
+            } else if (stream->sample_aspect_ratio.num) {
+                probe_str("sample_aspect_ratio",
+                          rational_string(val_str, sizeof(val_str), ":",
+                          &stream->sample_aspect_ratio));
+                av_reduce(&display_aspect_ratio.num, &display_aspect_ratio.den,
+                          dec_ctx->width  * stream->sample_aspect_ratio.num,
+                          dec_ctx->height * stream->sample_aspect_ratio.den,
+                          1024*1024);
+                probe_str("display_aspect_ratio",
+                          rational_string(val_str, sizeof(val_str), ":",
+                          &display_aspect_ratio));
             }
             desc = av_pix_fmt_desc_get(dec_ctx->pix_fmt);
             probe_str("pix_fmt", desc ? desc->name : "unknown");

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to