Add support for the new query-based PD v3 decoder API.
authorUwe Hermann <uwe@hermann-uwe.de>
Fri, 26 Aug 2016 13:09:17 +0000 (15:09 +0200)
committerUwe Hermann <uwe@hermann-uwe.de>
Wed, 7 Dec 2016 21:37:49 +0000 (22:37 +0100)
commit21dfd91d99836bdc6c0da939b601dd8a52358f21
tree54e380dc67e1cd73273679d04c4c5a8af3036e4f
parentee9304c667bf98b3c4e3a767943e3d8f6964601e
Add support for the new query-based PD v3 decoder API.

For the time being, both APIs (2 and 3) will remain supported until all
decoders have been converted to API version 3. Then, support for API
version 2 will be dropped.

Decoders using PD v3 API can benefit from both readability improvements
as well as performance improvements. Up to 10x speedup has been measured
in some situations (depends a lot on the decoder, the amount of data,
the amount of edges in the signals, the amount of oversampling etc. etc.).

This is only the first set of (basic) performance improvements for
libsigrokdecode, there are various additional opportunities for further
changes to improve performance.

This changeset has been tested to survive a run of all the test-cases in
the sigrok-test repo without issues (for the converted PDs), however it is
not very well-tested yet, so there might be regressions that need to be
addressed.
decoder.c
instance.c
libsigrokdecode-internal.h
libsigrokdecode.h
type_decoder.c
util.c