mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2025-11-09 19:53:04 +00:00
changing some raw pointers by smart pointers in the core receiver.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@502 64b25241-fba3-4117-9849-534c7e92360d
This commit is contained in:
@@ -44,44 +44,39 @@ unpack_byte_2bit_samples_sptr make_unpack_byte_2bit_samples()
|
||||
return unpack_byte_2bit_samples_sptr(new unpack_byte_2bit_samples());
|
||||
}
|
||||
|
||||
unpack_byte_2bit_samples::unpack_byte_2bit_samples()
|
||||
: sync_interpolator("unpack_byte_2bit_samples",
|
||||
gr::io_signature::make(1, 1,sizeof(signed char)),
|
||||
gr::io_signature::make(1, 1,sizeof(float)),
|
||||
4)
|
||||
{
|
||||
|
||||
}
|
||||
unpack_byte_2bit_samples::unpack_byte_2bit_samples() : sync_interpolator("unpack_byte_2bit_samples",
|
||||
gr::io_signature::make(1, 1, sizeof(signed char)),
|
||||
gr::io_signature::make(1, 1, sizeof(float)),
|
||||
4)
|
||||
{}
|
||||
|
||||
unpack_byte_2bit_samples::~unpack_byte_2bit_samples()
|
||||
{
|
||||
{}
|
||||
|
||||
}
|
||||
|
||||
int unpack_byte_2bit_samples::work(int noutput_items,gr_vector_const_void_star &input_items,
|
||||
gr_vector_void_star &output_items)
|
||||
int unpack_byte_2bit_samples::work(int noutput_items,
|
||||
gr_vector_const_void_star &input_items,
|
||||
gr_vector_void_star &output_items)
|
||||
{
|
||||
const signed char *in = (const signed char *)input_items[0];
|
||||
float *out = (float*)output_items[0];
|
||||
|
||||
byte_2bit_struct sample;
|
||||
int n=0;
|
||||
for(int i = 0; i < noutput_items/4; i++) {
|
||||
// Read packed input sample (1 byte = 4 samples)
|
||||
signed char c = in[i];
|
||||
sample.two_bit_sample=c & 3;
|
||||
out[n++]=(float)sample.two_bit_sample;
|
||||
int n = 0;
|
||||
for(int i = 0; i < noutput_items/4; i++)
|
||||
{
|
||||
// Read packed input sample (1 byte = 4 samples)
|
||||
signed char c = in[i];
|
||||
sample.two_bit_sample = c & 3;
|
||||
out[n++] = (float)sample.two_bit_sample;
|
||||
|
||||
sample.two_bit_sample=(c>>2) & 3;
|
||||
out[n++]=(float)sample.two_bit_sample;
|
||||
sample.two_bit_sample = (c>>2) & 3;
|
||||
out[n++] = (float)sample.two_bit_sample;
|
||||
|
||||
sample.two_bit_sample=(c>>4) & 3;
|
||||
out[n++]=(float)sample.two_bit_sample;
|
||||
|
||||
sample.two_bit_sample=(c>>6) & 3;
|
||||
out[n++]=(float)sample.two_bit_sample;
|
||||
|
||||
}
|
||||
sample.two_bit_sample = (c>>4) & 3;
|
||||
out[n++] = (float)sample.two_bit_sample;
|
||||
|
||||
sample.two_bit_sample = (c>>6) & 3;
|
||||
out[n++] = (float)sample.two_bit_sample;
|
||||
}
|
||||
return noutput_items;
|
||||
}
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
#include <gnuradio/sync_interpolator.h>
|
||||
|
||||
class unpack_byte_2bit_samples;
|
||||
|
||||
typedef boost::shared_ptr<unpack_byte_2bit_samples> unpack_byte_2bit_samples_sptr;
|
||||
|
||||
unpack_byte_2bit_samples_sptr make_unpack_byte_2bit_samples();
|
||||
@@ -51,7 +52,8 @@ private:
|
||||
public:
|
||||
unpack_byte_2bit_samples();
|
||||
~unpack_byte_2bit_samples();
|
||||
int work (int noutput_items, gr_vector_const_void_star &input_items,
|
||||
int work (int noutput_items,
|
||||
gr_vector_const_void_star &input_items,
|
||||
gr_vector_void_star &output_items);
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user