+ float min_length, int sig_index, bool first_change_only = false);
+
+ void get_surrounding_edges(vector<EdgePair> &dest,
+ uint64_t origin_sample, float min_length, int sig_index);
+
+private:
+ uint64_t unpack_sample(const uint8_t *ptr) const;
+ void pack_sample(uint8_t *ptr, uint64_t value);
+
+ void reallocate_mipmap_level(MipMapLevel &m);
+
+ void append_payload_to_mipmap();
+
+ uint64_t get_unpacked_sample(uint64_t index) const;
+
+ template <class T> void downsampleTmain(const T*&in, T &acc, T &prev);
+ template <class T> void downsampleT(const uint8_t *in, uint8_t *&out, uint64_t len);
+ void downsampleGeneric(const uint8_t *in, uint8_t *&out, uint64_t len);