Re: [libav-devel] [PATCH 2/6] avprobe: Print a user-friendly version of the display matrix

2018-04-04 Thread Luca Barbato
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

2018-04-04 Thread Vittorio Giovara
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