Thanks for the correction, in the documentation off ffmpeg there is no information regarding that, so it was a source of confusion for me... Can you point me to a source file where I can verify this?
Except for that, there are still two unclear points:
1. Do
src and
dst really refer to the top-left coordinates of the respective macroblocks?
2. The function
av_frame_get_side_data does not actually give coordinates in upscaled plane as you mentioned (with H.264/AVC videos). E.g. when I run
extract_mvs.c in the documentation, I get an output like:
Code:
framenum,source,blockw,blockh,srcx,srcy,dstx,dsty
2,-1,16,16, 8, 8, 8, 8
2,-1,16,16, 24, 8, 24, 8
2,-1,16,16, 40, 8, 40, 8
2,-1,16,16, 56, 8, 56, 8
2,-1,16,16, 72, 8, 72, 8
...
...
To me it seems that srcx, srcy, dstx, and dsty give the
center point for the respective blocks rather than the top-left point.
EDIT: I also went throught the code in
vf_codecview.c and the function
filter_frame gave me the impression that
dst_{x,y] are the coordinates of the reference block since the
draw_arrow function draws an arrow from
src_{x,y} to
dst_{x,y}. I'm still kind of confused.