/* Uncompress 4096 stereo sample pairs of ADPCM. */ static int doStereoBlock( boost::int16_t** out_data, // in/out param int n_bits, BitsReader& in, int left_sample, int left_stepsize_index, int right_sample, int right_stepsize_index ) { /* First samples don't need to be decompressed. */ boost::uint32_t sample_count = 2; *(*out_data)++ = (boost::int16_t) left_sample; *(*out_data)++ = (boost::int16_t) right_sample; unsigned bitsNeeded = n_bits*2; while (sample_count < 4096 && in.gotBits(bitsNeeded)) { int left_raw_code = in.read_uint(n_bits); doSample(n_bits, left_sample, left_stepsize_index, left_raw_code); *(*out_data)++ = (boost::int16_t) left_sample; int right_raw_code = in.read_uint(n_bits); doSample(n_bits, right_sample, right_stepsize_index, right_raw_code); *(*out_data)++ = (boost::int16_t) right_sample; sample_count++; } return sample_count; }
Value sample(const Math::Point2D &samplePoint, const Math::Bivector2D &sampleProjection) const { Value value; doSample(samplePoint, sampleProjection, value.channels); return value; }
void MONITOR_EXT_WRAP_NAME(pnga_nbwait)(Integer *nbhandle) { MONITOR_EXT_GET_NAME_WRAP(real_pnga_nbwait, pnga_nbwait); // FIXME: measure only if tagged def_isSampled(); def_timeBeg(isSampled); real_pnga_nbwait(nbhandle); if (isSampled) { double latency = timeElapsed(timeBeg); doSample(G_A_NULL, doMetric(hpcrun_ga_metricId_latency, latency, r), do0(), do0(), do0()); } }