2
0
forked from Ivasoft/DSView

v0.4 release

This commit is contained in:
DreamSourceLab
2014-09-24 18:43:42 +08:00
parent 5d7e3237b7
commit 9eb36b33b9
170 changed files with 10539 additions and 4321 deletions

View File

@@ -74,6 +74,22 @@ void LogicSnapshot::append_payload(
append_payload_to_mipmap();
}
void LogicSnapshot::get_samples(uint8_t *const data,
int64_t start_sample, int64_t end_sample) const
{
assert(data);
assert(start_sample >= 0);
assert(start_sample <= (int64_t)_sample_count);
assert(end_sample >= 0);
assert(end_sample <= (int64_t)_sample_count);
assert(start_sample <= end_sample);
//lock_guard<recursive_mutex> lock(_mutex);
const size_t size = (end_sample - start_sample) * _unit_size;
memcpy(data, (const uint8_t*)_data + start_sample * _unit_size, size);
}
void LogicSnapshot::reallocate_mipmap_level(MipMapLevel &m)
{
const uint64_t new_data_length = ((m.length + MipMapDataUnit - 1) /
@@ -170,14 +186,6 @@ void LogicSnapshot::append_payload_to_mipmap()
}
}
uint64_t LogicSnapshot::get_sample(uint64_t index) const
{
assert(_data);
assert(index < _sample_count);
return *(uint64_t*)((uint8_t*)_data + index * _unit_size);
}
void LogicSnapshot::get_subsampled_edges(
std::vector<EdgePair> &edges,
uint64_t start, uint64_t end,
@@ -194,6 +202,9 @@ void LogicSnapshot::get_subsampled_edges(
assert(sig_index >= 0);
assert(sig_index < 64);
if (!_data)
return;
boost::lock_guard<boost::recursive_mutex> lock(_mutex);
const uint64_t block_length = (uint64_t)max(min_length, 1.0f);