[FFmpeg-cvslog] avprobe: Print a user-friendly version of the display matrix
Vittorio Giovara
git at videolan.org
Sat Apr 14 02:53:00 EEST 2018
ffmpeg | branch: master | Vittorio Giovara <vittorio.giovara at gmail.com> | Wed Apr 4 17:29:35 2018 +0200| [c31f6b1d61759436ef50c094e7f4c8005e97614a] | committer: Vittorio Giovara
avprobe: Print a user-friendly version of the display matrix
Shift fixed point numbers to be actual decimal numbers.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c31f6b1d61759436ef50c094e7f4c8005e97614a
---
avtools/avprobe.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/avtools/avprobe.c b/avtools/avprobe.c
index d6809042f7..0ea9ff46fd 100644
--- a/avtools/avprobe.c
+++ b/avtools/avprobe.c
@@ -131,6 +131,7 @@ typedef struct PrintContext {
static AVIOContext *probe_out = NULL;
static PrintContext octx;
#define AVP_INDENT() avio_printf(probe_out, "%*c", octx.level * 2, ' ')
+#define CONV_FP(x,fp) ((double) (x)) / (1 << fp)
/*
* Default format, INI
@@ -816,6 +817,15 @@ static void show_stream(InputFile *ifile, InputStream *ist)
for (j = 0; j < 9; j++)
probe_int(NULL, ((int32_t *)sd->data)[j]);
probe_array_footer("matrix", 1);
+ probe_array_header("matrix_str", 1);
+ for (j = 0; j < 9; j++) {
+ char buf[32];
+ int fp = (j == 2 || j == 5 || j == 8) ? 30 : 16;
+ int32_t val = ((int32_t *)sd->data)[j];
+ value_string(buf, sizeof(buf), CONV_FP(val, fp), "");
+ probe_str(NULL, buf);
+ }
+ probe_array_footer("matrix_str", 1);
probe_int("rotation",
av_display_rotation_get((int32_t *)sd->data));
probe_object_footer("displaymatrix");
More information about the ffmpeg-cvslog
mailing list