View Single Post
Old 20th October 2015, 13:15   #3  |  Link
serhannn
Registered User
 
Join Date: Sep 2015
Posts: 11
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.

Last edited by serhannn; 20th October 2015 at 13:50. Reason: New info:
serhannn is offline   Reply With Quote