[Libva] Ivy bridge PRM and H.264 encoder implementation
Xiang, Haihao
haihao.xiang at intel.com
Tue Jul 3 20:12:15 PDT 2012
On Tue, 2012-07-03 at 21:28 +0100, Joe Bloggsian wrote:
> It is great that intel have released proper documentation for the Ivy
> bridge GPU/media engines. Kudos to them; if only all silicon vendors
> were so progressive!
>
> In particular it is very interesting to see the detailed information on
> the VME engine in Vol4 Part2, which seems a much more sophisticated
> piece of hardware than I expected.
>
> Comparing the documentation to the even the staging branch of
> intel-driver (in particular inter_frame.asm). It *appears* that there
> are significant hardware features that the current encoder
> implementation might not be using (or could be used better). A couple of
> examples:
>
> 1) The search and cost centers of the current implementation appear to
> always be zero. It seems to me this will firstly be resulting in
> improper costings for the motion vector selection (mv cost should be
> relative to an approximation of the predicted motion vectors). Secondly
> it implies a limitation of max MV that can be found to 16 x, 12 y
> integer pixels from the origin (not nearly enough for HD video). This
> seems consistent with the poor MV selection I see in the encoded video.
> It should be easy (and far better) to set the search and cost centers to
> (one of the) MVs found in the macroblock to the left as this is on the
> whole going to be a much better approximation of the predicted MVs, and
> this would also allow the encoder to find long MVs. One can imagine
> other even better ways to set the search position.
You are right, the parameters for the search and cost center aren't
optimal. You are welcome to provide patches for it.
>
> 2) It appears that none of the early exit options are used;
> EarlySkipSuccess, IMESuccess, EarlyIMEStop, SkipSuccess, etc. These
> ought to be a "free" significant performance gain just for setting some
> registers?
You also need to set threshold for these parameters in the VME message.
Only enabling these features without optimal threshold values may drop
down the quality a lot.
Thanks
Haihao
>
> Does the above seem reasonable and are there any existing plans to
> implement these kinds of improvements?
> If not already being worked on - would it be interesting for me to
> attempt to make changes similar to those I described and provide patches?
>
> Cheers,
> Bloggsian
> _______________________________________________
> Libva mailing list
> Libva at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/libva
More information about the Libva
mailing list