jishnujayakumar / MV-Tractus

A simple tool to extract motion vectors from h264 encoded videos.
108 stars 27 forks source link

Interpretation of extracted values #6

Closed LukasBommes closed 5 years ago

LukasBommes commented 5 years ago

Since I saw in another forum some confusion about the interpreation of extracted values. This is how I would interpret them (numbers are examples):

source: -1 The source frame is the previous (-1) frames width: 16 The macorblock has width 16 px height: 16 The macorblock has height 16 px src_x 426 The x location (in pixels) of the macroblock center point in the source (-1) frame src_y 547 The y location (in pixels) of the macroblock center point in the source (-1) frame dst_x 440 The x location (in pixels) of the corresponding macroblock center point in the current frame, note how this is a integer multiple of half of the block width dst_y 552 The y location (in pixels) of the corresponding macroblock center point in the current frame dx 14 The x component (in pixels) of the motion vector pointing from src_x to dst_x, so dx = dst_x - src_x dy 5 The y component (in pixels) of the motion vector pointing from src_y to dst_y, so dx = dst_y - src_y

This is meant as help for anyone wondering how to interpret the values. If the above is wrong, please correct me.

jishnujayakumar commented 5 years ago

You are right. But instead of opening a seperate issue for this, if you can create a wiki page then that would be useful.

3bhady commented 5 years ago

@jishnujayakumar @LukasBommes Have you actually extracted the reference frame? instead of mv->src being -1. I would like to get the exact reference frame for each motion vector to actually find the block which is being referenced instead of just knowing if the reference frame for this MV is one of the previous frames or the preceding ones.