[XviD-devel] Lambda for plugins

Johannes Reinhardt Johannes.Reinhardt at uni-konstanz.de
Sun Oct 23 23:53:11 CEST 2005


Hi everybody,

I tried to expose the lambda values for macroblocks to plugins, to be
able to do some HVS stuff. It seems to compile fine and not bork
anything here. I am at the moment not able to test it more careful. The
patch is against the latest CVS.

http://web3.gleitz.org/Kopernikus/lambdaplugin.diff

But for now, I have not tried to code a plugin that uses the lambda
values. Can someone with a better knowledge of the XviD Code look
through it, if I have borked some really important things, propose
improvements or correct me if my style is bad.

I have some questions on the code:

Why is dquant_stride in xvid_plg_data_t in xvid.h needed? Is it possible
that its different from mb_width?

I assumed that the lambda[6] in SearchData in estimation.h is the lambda
for the 6 blocks of a macroblock (4 Luminance and 2 Chrominance blocks).
Is that correct?

In xvid_plg_data_t there is a remark that deprecated data is kept for
binary compatibility. Does it break binary compatibility if I add the
pointer to the lambda table to xvid_plg_data? Would it make sense, to
replace one of the deprecated ints with the pointer to keep compatibility?

Does it make sense, to multiplicate the lambda in dct_quantize_trellis_c
in mbtransquant.c with the lambda modificator? I am not sure I
understood trellis completly. Is there any further information about
trellis quantization?

Why are the dquants available for plugins at PLUGIN_AFTER? Is that
needed for the lambdas?

And finally, is there a draft of the specs or something similar
available for download. I would like to have precise Information on some
things.

Thanks in advance

Johannes Reinhardt


More information about the XviD-devel mailing list