示例#1
0
	/* 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;
	}
示例#2
0
		Value sample(const Math::Point2D &samplePoint, const Math::Bivector2D &sampleProjection) const
		{
			Value value;
			doSample(samplePoint, sampleProjection, value.channels);

			return value;
		}
示例#3
0
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());
  }
}