[XviD-devel] API 3.0 (more stuff)

Radoslaw Czyz xvid-devel@xvid.org
Wed, 18 Sep 2002 23:06:54 +0930


Hey.

> anyway, ive attacheed the latest xvid.h prototype.

Some my suggestiond for further discussion. All ME-related because
that's something I can talk about ;)

> XVID_BFRAMES
  Don't we want to set max_bframes = 0 if we don't want to have any
  bframes?

> XVID_INTER4V
  What do you think about moving this flag to motion flags? It looks
  like a motion flag to me ;)

> PMV_OVERLAPPING16 and PMV_OVERLAPPING8
  I might be wrong, but I think you don't have a 8/16 choice. Ether
  everything is overlapped or not.

> PMV_EARLYSTOP16 and PMV_QUICKSTOP16
  I don't think I understand the flags, at least in the current ME.
  the difference between them is halfpel - if halfpel is off, they are
  equal. If halfpel is on, then PMV_QUICKSTOP16 will most likely
  decrease quality without any reasonable speed gain.
  Please note that all quality modes from 1 to 6 have this flag
  activated. If we removed the flags from API we could spare some
  "if"s in the code without changing anything.

> PMV_EARLYSTOP8 and PMV_QUICKSTOP8
  In the current ME, it's the same arguments as above. In my ME they
  are completely ignored and I don't think I could find any use for them

> PMV_ADVANCEDDIAMOND8 and PMV_USESQUARES8
  If we want to be fair about using different MainSearches for
  different search modes, we would have to add AdvDiamond and Square
  for Direct, Interpolate and Forward/Backward modes, too.
  Instead, I recommend to remove the flags. In my ME they are only
  used if ExtSearch8 is activated because the gain from doing ANY 8x8
  mainsearch is absolutely minimal. As a result, we could use
  PMV_USESQUARES16 etc. for that choice. The same for bidirectinal
  search - if someone wants to have maximum quality he should just use
  'PMV_USESQUARES" and all the searches would be affected.

What's missing in this prototype is qpel.

Please comment.

Best regards,
Radek