[XviD-devel] VHQ

Radek Czyz radoslaw at syskin.cjb.net
Wed Feb 12 21:50:56 CET 2003


Heya everybody,

I have good news - I fixed all known VHQ bugs and I'm preparing to
commit the code. Anyone would like to comment? What I mean is if
someone would like to stop me for whatever reason, please do it now.

The code doesn't work with GMC yet (mcsel comparsion would not work)
but I'm going to fix this soon. The result will be a perfect,
brute force S_VOP/P_VOP selection and mcsel selection.

A bit about the flags which will appear in xvid.h:

global flag XVID_MODEDECISION_DCT will activate the code and use it
for mode decision.

motion flags:
QUARTERPELREFINE16_DCT - quarterpel refinement for 16x16 mode will be
  performed using DCT (well in fact not dct, but BITS) comparsion. It
  doesn't mean it will not be performed using SAD, so do not deactivate
  PMV_QUARTERPELREFINE16 or suffer some PSNR degradation. I'll write why
  this happens if someone asks me.

HALFPELREFINE16_DCT - just as the above, but for halfpel refinement.
  In qpel mode it will automatically activate the above flag.

QUARTERPELREFINE8_DCT - just like the _16 flag, but one thing is
  different - 8x8 qpel refinement will _never_ be performed using SAD,
  so PMV_QUARTERPELREFINE8 is ignored.

HALFPELREFINE8_DCT - no surprises here. will replace SAD-based hpel
  refinement of 8x8 candidates and will activate QUARTERPELREFINE8_DCT
  if in qpel mode.

EXTSEARCH_DCT - will use square-based search pattern on our 16x16
  candidate. Will automatically activate hpel16_dct and qpel16_dct (if
  qpel).
  If you also want square to be used for 8x8 search, combine it
  with PMV_EXTSEARCH8.

CHECKPREDICTION_DCT - with this flag, the code will automatically make
  one additional check - of the vector equal to prediction. The check
  is reasonably fast but at the other hand doesn't give that much.
  It's independant of all other motion flags.

And that's it. If you disable the global flag, you can safely activate
the motion flags - they will be ignored.

Any questions? It will take me at least on hour to prepare the commit
(I have to be careful, many files have changed), so you can still stop
me if something's wrong.

Radek



More information about the XviD-devel mailing list