[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