1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2025-09-13 08:16:03 +00:00

Bugfix: big endian items in unpact_2bit_samples

This commit is contained in:
Cillian O'Driscoll
2015-12-23 18:44:38 +00:00
parent eea1c41072
commit 96127d8fe5

View File

@@ -31,6 +31,7 @@
#include "unpack_2bit_samples.h"
#include <iostream>
#include <glog/logging.h>
#include <gnuradio/io_signature.h>
struct byte_2bit_struct
@@ -118,12 +119,17 @@ unpack_2bit_samples::unpack_2bit_samples( bool big_endian_bytes,
// Only swap the item bytes if the item size > 1 byte and the system
// endianess is not the same as the item endianness:
swap_endian_items_ = ( item_size_ > 1 ) &&
( big_endian_system != big_endian_items);
( !big_endian_items);
bool big_endian_bytes_system = systemBytesAreBigEndian();
swap_endian_bytes_ = ( big_endian_bytes_system != big_endian_bytes_ );
LOG(INFO) << "swap_endian_items_ : " << swap_endian_items_
<< ". swap_endian_bytes_ : " << swap_endian_bytes_
<< ". item_size_ : " << item_size_
<< ". reverse_interleaving_ : " << reverse_interleaving_;
}
unpack_2bit_samples::~unpack_2bit_samples()
@@ -138,7 +144,7 @@ int unpack_2bit_samples::work(int noutput_items,
size_t ninput_bytes = noutput_items/4;
size_t ninput_items = ninput_bytes/item_size_;
// Handle endian swap if needed
if( swap_endian_items_ )
{