Re: [libav-devel] [PATCH 2/6] avprobe: Print a user-friendly version of the display matrix
On 04/04/2018 17:29, Vittorio Giovara wrote: > Shift fixed point numbers to be actual decimal numbers. > --- > 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"); > Ok. ___ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel
[libav-devel] [PATCH 2/6] avprobe: Print a user-friendly version of the display matrix
Shift fixed point numbers to be actual decimal numbers. --- 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"); -- 2.16.2 ___ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel