[LAD] Plugin block length restrictions

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: <devel@...>
Cc: Linux Audio Developers <linux-audio-dev@...>
Date: Sunday, October 21, 2012 - 8:24 pm

--=-jiPe9rxTzgtkBJr/z8K0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

I have explicitly asked about block length restrictions on l-a-d several
times, but of course that doesn't work. Setting up an idea to be flamed
works wonderfully though (mining that most plentiful resource of
assholes on mailing lists). The convoLV2 announcement served this
purpose nicely. In summary:

Convolution is the only reason anyone has come up with for a power of 2
block length restriction. Apparently that is wrong.

Only one argument has ever been posed for a fixed restriction, and that
was wrong too (outside LADSPA anyway, where we are not forced to use
control ports).

So, unless anyone has new compelling examples, we have some new
implementation recommendations for the block length restrictions defined
in LV2 1.2.0:

* Fixed and power of two can be difficult or impossible to implement,
and are not useful, so hosts should not bother trying to implement
either (except where it is trivial), and plugins should not expect
them to.

* The remaining restrictions, minimum and maximum, are needed to do
some things without latency, and are useful for performance reasons,
so hosts should try to implement this if possible. Plugins should
only require these if absolutely necessary, since some hosts may not
be able to implement minimum in particular. convoLV2 is an example
of a plugin with minimum and maximum restrictions.

As before, all hosts should implement passing the maximum length to the
plugin, which is often required and easy to do.

There is one issue related to minimum, buffer alignment, which is useful
for SIMD (e.g. using SSE). This has not yet been addressed in the
specifications.

-dr

--=-jiPe9rxTzgtkBJr/z8K0
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIcBAABCAAGBQJQhFnwAAoJEDZyeCqb82jzCKkQAOmfxOCUWADUqafRMAemLzCO
K2SPf8BFJ6B7hBGUrmL5TcB5WH09SmMncd7PFtecCyRtqD6/fawJ5A27qGs5T/xZ
3l9FavQdcZA5dqokB4aYMnAiY+zX8wsGxJZiXTwGNzDu2i6UsOOC71DECWhFp+6d
L6PY51blhgw0GteUROrqy9Lpp73Px8t0cIKKtUzAmJqD85y97IcMYbk16ek2tSGM
Flmhu8B3C4bUOdUwLow6Q/JOfu7IuTT2Ob4Iu+HoHzV9EqGYE8txvj43n+sc//ud
kRpT/r4QiKqrjjkejSxMkad99IMqDQeDQv1W4Z4ROhGWLK/5VD/+2XYKXGNifl1P
NW3FfqSKtvhgq22Esk1F9yDxsYzeDyCR40XBOjmrtCHifYsM21/6tYlF40BVeeju
mLFvTs/PRMLDiBwx6TuP1uaPWPSHsWbSjK8XJDkjeveK9DMxpC/SRNWC/R9kSFN0
QYWsyPeslRC3EVNxE8nGHwevzNFcZyUHVBh3XYCOaAxJqUw/v8jklzcjrjFarTXw
mCTL/c4YABf2P8N+elIa5BK9KJfUOFEwQaPtDRtErAE+Eif6KSM3ItpUoZQyn5A5
pL7gcevmZZkLGPqJUJSh/QIsyuubMxuo6TitkbX7r4Lz93XBPTn81ZawnpLTv3Af
DR4UOm0LL8cz0tKWhZnT
=7qxy
-----END PGP SIGNATURE-----

--=-jiPe9rxTzgtkBJr/z8K0--

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[LAD] Plugin block length restrictions, David Robillard, (Sun Oct 21, 8:24 pm)
Re: [LAD] Plugin block length restrictions, Fons Adriaensen, (Sun Oct 21, 9:10 pm)
Re: [LAD] Plugin block length restrictions, David Robillard, (Sun Oct 21, 11:15 pm)
Re: [LAD] Plugin block length restrictions, Fons Adriaensen, (Mon Oct 22, 11:41 am)
Re: [LAD] Plugin block length restrictions, David Robillard, (Mon Oct 22, 3:27 pm)
Re: [LAD] Plugin block length restrictions, Fons Adriaensen, (Mon Oct 22, 7:51 pm)
Re: [LAD] Plugin block length restrictions, David Robillard, (Tue Oct 23, 11:33 pm)