Speed up MipMap downsampling in logicsegment
authorJon Burgess <jburgess777@gmail.com>
Sat, 13 Oct 2018 14:11:54 +0000 (15:11 +0100)
committerUwe Hermann <uwe@hermann-uwe.de>
Tue, 16 Oct 2018 21:53:10 +0000 (23:53 +0200)
commit0df28cd5a727c5e4ff2c46e3258b76936bc0c33d
treec5ecf599babfe6c9c12bc5e70c584a9ad7a4e3ec
parent50e56db003055e96c5a12e675889e4afad07b65c
Speed up MipMap downsampling in logicsegment

Make use of the segment chunk size to process samples
in contiguous blocks when possible.

Provide routines for downsampling with sample sizes
of 1, 2, 4 & 8 bytes which the compiler can optimize.

These changes halve the time taken to display the
23MB ws2812b_neopixel24_4mhz_verylong.sr from
40 seconds to 18 seconds.
pv/data/logicsegment.cpp
pv/data/logicsegment.hpp
pv/data/segment.cpp