diff mbox series

[FFmpeg-devel] doc/examples/extract_mvs: add motion information

Message ID 20220912234956.2879286-1-chemag@gmail.com
State Accepted
Commit 7adf7502b8c5f7d47bef7474de25f6328fd9bb9a
Headers show
Series [FFmpeg-devel] doc/examples/extract_mvs: add motion information | expand

Checks

Context Check Description
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Chema Gonzalez Sept. 12, 2022, 11:49 p.m. UTC
Note that the motion information includes subpel motion information

This was likely forgotten in 56bdf61baa04c4fd8d165f34499115ce0aa97c43.

Tested:
```
$ make examples -j
...
$ doc/examples/extract_mvs in.264 | head -40 | \
    csvcut -C framenum,source,flags |csvlook
| blockw | blockh |  srcx | srcy |  dstx | dsty | motion_x | motion_y | motion_scale |
| ------ | ------ | ----- | ---- | ----- | ---- | -------- | -------- | ------------ |
|     16 |     16 |    20 |   26 |     8 |    8 |       49 |       72 |            4 |
|     16 |     16 |   152 |   15 |   136 |    8 |       65 |       28 |            4 |
|     16 |      8 |   360 |    3 |   360 |    4 |        1 |       -6 |            4 |
|     16 |      8 |   360 |   13 |   360 |   12 |       -1 |        4 |            4 |
|     16 |     16 |   440 |   10 |   440 |    8 |        3 |       10 |            4 |
|      8 |     16 |   829 |    7 |   836 |    8 |      -31 |       -6 |            4 |
|      8 |     16 |   844 |    7 |   844 |    8 |       -1 |       -4 |            4 |
|     16 |     16 | 1,004 |   14 | 1,048 |    8 |     -177 |       24 |            4 |
|     16 |     16 | 1,096 |    8 | 1,096 |    8 |       -1 |        0 |            4 |
|     16 |      8 | 1,417 |   24 | 1,416 |    4 |        7 |       82 |            4 |
|     16 |      8 | 1,416 |   13 | 1,416 |   12 |        0 |        6 |            4 |
|     16 |      8 |    87 |   20 |    88 |   20 |       -7 |        0 |            4 |
|     16 |      8 |    99 |   44 |    88 |   28 |       45 |       66 |            4 |
...
```

Also:
```
$ make fate -j
...
```
---
 doc/examples/extract_mvs.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

Comments

Chema Gonzalez Sept. 23, 2022, 3:23 a.m. UTC | #1
ping

-Chema

On Mon, Sep 12, 2022 at 4:50 PM Chema Gonzalez <chemag@gmail.com> wrote:
>
> Note that the motion information includes subpel motion information
>
> This was likely forgotten in 56bdf61baa04c4fd8d165f34499115ce0aa97c43.
>
> Tested:
> ```
> $ make examples -j
> ...
> $ doc/examples/extract_mvs in.264 | head -40 | \
>     csvcut -C framenum,source,flags |csvlook
> | blockw | blockh |  srcx | srcy |  dstx | dsty | motion_x | motion_y | motion_scale |
> | ------ | ------ | ----- | ---- | ----- | ---- | -------- | -------- | ------------ |
> |     16 |     16 |    20 |   26 |     8 |    8 |       49 |       72 |            4 |
> |     16 |     16 |   152 |   15 |   136 |    8 |       65 |       28 |            4 |
> |     16 |      8 |   360 |    3 |   360 |    4 |        1 |       -6 |            4 |
> |     16 |      8 |   360 |   13 |   360 |   12 |       -1 |        4 |            4 |
> |     16 |     16 |   440 |   10 |   440 |    8 |        3 |       10 |            4 |
> |      8 |     16 |   829 |    7 |   836 |    8 |      -31 |       -6 |            4 |
> |      8 |     16 |   844 |    7 |   844 |    8 |       -1 |       -4 |            4 |
> |     16 |     16 | 1,004 |   14 | 1,048 |    8 |     -177 |       24 |            4 |
> |     16 |     16 | 1,096 |    8 | 1,096 |    8 |       -1 |        0 |            4 |
> |     16 |      8 | 1,417 |   24 | 1,416 |    4 |        7 |       82 |            4 |
> |     16 |      8 | 1,416 |   13 | 1,416 |   12 |        0 |        6 |            4 |
> |     16 |      8 |    87 |   20 |    88 |   20 |       -7 |        0 |            4 |
> |     16 |      8 |    99 |   44 |    88 |   28 |       45 |       66 |            4 |
> ...
> ```
>
> Also:
> ```
> $ make fate -j
> ...
> ```
> ---
>  doc/examples/extract_mvs.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/doc/examples/extract_mvs.c b/doc/examples/extract_mvs.c
> index cc1311da91..b80ba26bb7 100644
> --- a/doc/examples/extract_mvs.c
> +++ b/doc/examples/extract_mvs.c
> @@ -61,10 +61,11 @@ static int decode_packet(const AVPacket *pkt)
>                  const AVMotionVector *mvs = (const AVMotionVector *)sd->data;
>                  for (i = 0; i < sd->size / sizeof(*mvs); i++) {
>                      const AVMotionVector *mv = &mvs[i];
> -                    printf("%d,%2d,%2d,%2d,%4d,%4d,%4d,%4d,0x%"PRIx64"\n",
> +                    printf("%d,%2d,%2d,%2d,%4d,%4d,%4d,%4d,0x%"PRIx64",%4d,%4d,%4d\n",
>                          video_frame_count, mv->source,
>                          mv->w, mv->h, mv->src_x, mv->src_y,
> -                        mv->dst_x, mv->dst_y, mv->flags);
> +                        mv->dst_x, mv->dst_y, mv->flags,
> +                        mv->motion_x, mv->motion_y, mv->motion_scale);
>                  }
>              }
>              av_frame_unref(frame);
> @@ -166,7 +167,7 @@ int main(int argc, char **argv)
>          goto end;
>      }
>
> -    printf("framenum,source,blockw,blockh,srcx,srcy,dstx,dsty,flags\n");
> +    printf("framenum,source,blockw,blockh,srcx,srcy,dstx,dsty,flags,motion_x,motion_y,motion_scale\n");
>
>      /* read frames from the file */
>      while (av_read_frame(fmt_ctx, pkt) >= 0) {
> --
> 2.37.3
>
Michael Niedermayer Sept. 23, 2022, 5:50 p.m. UTC | #2
On Mon, Sep 12, 2022 at 04:49:56PM -0700, Chema Gonzalez wrote:
> Note that the motion information includes subpel motion information
> 
> This was likely forgotten in 56bdf61baa04c4fd8d165f34499115ce0aa97c43.
> 
> Tested:
> ```
> $ make examples -j
> ...
> $ doc/examples/extract_mvs in.264 | head -40 | \
>     csvcut -C framenum,source,flags |csvlook
> | blockw | blockh |  srcx | srcy |  dstx | dsty | motion_x | motion_y | motion_scale |
> | ------ | ------ | ----- | ---- | ----- | ---- | -------- | -------- | ------------ |
> |     16 |     16 |    20 |   26 |     8 |    8 |       49 |       72 |            4 |
> |     16 |     16 |   152 |   15 |   136 |    8 |       65 |       28 |            4 |
> |     16 |      8 |   360 |    3 |   360 |    4 |        1 |       -6 |            4 |
> |     16 |      8 |   360 |   13 |   360 |   12 |       -1 |        4 |            4 |
> |     16 |     16 |   440 |   10 |   440 |    8 |        3 |       10 |            4 |
> |      8 |     16 |   829 |    7 |   836 |    8 |      -31 |       -6 |            4 |
> |      8 |     16 |   844 |    7 |   844 |    8 |       -1 |       -4 |            4 |
> |     16 |     16 | 1,004 |   14 | 1,048 |    8 |     -177 |       24 |            4 |
> |     16 |     16 | 1,096 |    8 | 1,096 |    8 |       -1 |        0 |            4 |
> |     16 |      8 | 1,417 |   24 | 1,416 |    4 |        7 |       82 |            4 |
> |     16 |      8 | 1,416 |   13 | 1,416 |   12 |        0 |        6 |            4 |
> |     16 |      8 |    87 |   20 |    88 |   20 |       -7 |        0 |            4 |
> |     16 |      8 |    99 |   44 |    88 |   28 |       45 |       66 |            4 |
> ...
> ```
> 
> Also:
> ```
> $ make fate -j
> ...
> ```
> ---
>  doc/examples/extract_mvs.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)

will apply

thx

[...]
diff mbox series

Patch

diff --git a/doc/examples/extract_mvs.c b/doc/examples/extract_mvs.c
index cc1311da91..b80ba26bb7 100644
--- a/doc/examples/extract_mvs.c
+++ b/doc/examples/extract_mvs.c
@@ -61,10 +61,11 @@  static int decode_packet(const AVPacket *pkt)
                 const AVMotionVector *mvs = (const AVMotionVector *)sd->data;
                 for (i = 0; i < sd->size / sizeof(*mvs); i++) {
                     const AVMotionVector *mv = &mvs[i];
-                    printf("%d,%2d,%2d,%2d,%4d,%4d,%4d,%4d,0x%"PRIx64"\n",
+                    printf("%d,%2d,%2d,%2d,%4d,%4d,%4d,%4d,0x%"PRIx64",%4d,%4d,%4d\n",
                         video_frame_count, mv->source,
                         mv->w, mv->h, mv->src_x, mv->src_y,
-                        mv->dst_x, mv->dst_y, mv->flags);
+                        mv->dst_x, mv->dst_y, mv->flags,
+                        mv->motion_x, mv->motion_y, mv->motion_scale);
                 }
             }
             av_frame_unref(frame);
@@ -166,7 +167,7 @@  int main(int argc, char **argv)
         goto end;
     }
 
-    printf("framenum,source,blockw,blockh,srcx,srcy,dstx,dsty,flags\n");
+    printf("framenum,source,blockw,blockh,srcx,srcy,dstx,dsty,flags,motion_x,motion_y,motion_scale\n");
 
     /* read frames from the file */
     while (av_read_frame(fmt_ctx, pkt) >= 0) {