I have an application that does high-speed block matching on a frame-to-frame basis on video that I am trying to embed. Looking at potential processors, I see the DaVinci processor has many hardware-supported functions that would greatly accelerate the processing for my application, specifically, the HDVICP block. Ideally, my application would take a macroblock of fixed size and generate motion vectors for each macroblock based on SAD; this happens to be one of the primary functions of the HDVICP block, however it looks like that aspect can only be accessed when doing video encoding (judging from the SDK's API). Although accessing the motion vectors from the MPEG4 encoder codec (which appears to be possible) would be an acceptable solution, it adds a dimension of complexity that doesn't need to be there - does there exist some library or function call I have overlooked that performs just the block matching/motion estimation aspect of the encoding step?