[x264-devel] Question on the motion vector resultion

Jason Garrett-Glaser darkshikari at gmail.com
Mon Sep 7 18:27:18 CEST 2009


On Mon, Sep 7, 2009 at 8:45 AM, Erich Marth
<destinationcloud at googlemail.com> wrote:
> Hi there
>
> I do have a question. I'm doing some research on the motion estimation
> algorithm.
> For each slice, every single macroblock is analyzed.
> Based on the SLICE_TYPE, the analyzing is done on intra or inter decisions.
>
> In the P/B slice case
> we do first calc the cost for all valid mv cases.
> in the x264_macroblock_analyze method we try to find the best match.
> But first we are going to predicted the needed motion vector from available
> neighbours.
> In H.264 the motion vector's resolution is able to do quarter pel positions.
> But the mvp which is calculated in the mv fetch (x264_mb_predict_mv_16x16)
> method is of type integer?

It isn't; it's qpel.

> Why? I mean if all neighboring macroblocks do have quarter pel positions
> the current mvp shall be on a quarter pel position too? So why integer?

It isn't.

> And why didn't I find any half/quarter pel estimation in diamond search ...
> ?

Because subpel motion estimation is in refine_subpel, not
x264_me_search_ref, hence the name.

Dark Shikari


More information about the x264-devel mailing list