Commit 48cae25f authored by Alejandro Homs Puron's avatar Alejandro Homs Puron Committed by operator for beamline
Browse files

Use packet FifoDepth instead of aux. AcqBuffer

* Allocate per-thread buffer for raw data
  in Jungfrau GainPedCorr ImgSrc
parent dcbb77d4
Pipeline #46862 failed with stages
in 7 minutes and 7 seconds
...@@ -33,38 +33,9 @@ namespace lima ...@@ -33,38 +33,9 @@ namespace lima
namespace SlsDetector namespace SlsDetector
{ {
enum BufferType { inline Data GetMappedData(void *buffer, const FrameDim& frame_dim)
AcqBuffer, LimaBuffer {
};
class BufferCtrlObj : public NumaSoftBufferCtrlObj {
public:
BufferCtrlObj() : m_type(AcqBuffer) {}
void releaseBuffers() { getBuffer().releaseBuffers(); }
void setType(BufferType type)
{
if (type == m_type)
return;
releaseBuffers();
m_type = type;
}
virtual void getMaxNbBuffers(int& max_nb_buffers)
{
if (m_type == LimaBuffer)
max_nb_buffers = 1024;
else
NumaSoftBufferCtrlObj::getMaxNbBuffers(max_nb_buffers);
}
Data getFrameData(FrameType frame)
{
Data d; Data d;
StdBufferCbMgr& buffer = getBuffer();
const FrameDim& frame_dim = buffer.getFrameDim();
switch (frame_dim.getImageType()) { switch (frame_dim.getImageType()) {
case Bpp8: d.type = Data::UINT8; break; case Bpp8: d.type = Data::UINT8; break;
case Bpp16: d.type = Data::UINT16; break; case Bpp16: d.type = Data::UINT16; break;
...@@ -75,14 +46,27 @@ class BufferCtrlObj : public NumaSoftBufferCtrlObj { ...@@ -75,14 +46,27 @@ class BufferCtrlObj : public NumaSoftBufferCtrlObj {
d.dimensions = {size.getWidth(), size.getHeight()}; d.dimensions = {size.getWidth(), size.getHeight()};
Buffer *b = new Buffer; Buffer *b = new Buffer;
b->owner = Buffer::MAPPED; b->owner = Buffer::MAPPED;
b->data = buffer.getFrameBufferPtr(frame);; b->data = buffer;
d.setBuffer(b); d.setBuffer(b);
b->unref(); b->unref();
return d; return d;
} }
class BufferCtrlObj : public NumaSoftBufferCtrlObj {
public:
void releaseBuffers() { getBuffer().releaseBuffers(); }
virtual void getMaxNbBuffers(int& max_nb_buffers)
{ max_nb_buffers = 1024; }
private: Data getFrameData(FrameType frame)
BufferType m_type; {
StdBufferCbMgr& buffer = getBuffer();
void *buffer_ptr = buffer.getFrameBufferPtr(frame);
const FrameDim& frame_dim = buffer.getFrameDim();
return GetMappedData(buffer_ptr, frame_dim);
}
}; };
class BufferMgr class BufferMgr
...@@ -90,8 +74,6 @@ class BufferMgr ...@@ -90,8 +74,6 @@ class BufferMgr
DEB_CLASS_NAMESPC(DebModCamera, "BufferMgr", "SlsDetector"); DEB_CLASS_NAMESPC(DebModCamera, "BufferMgr", "SlsDetector");
public: public:
enum Mode { Single, Dual };
void setLimaBufferCtrlObj(BufferCtrlObj *buffer_ctrl_obj); void setLimaBufferCtrlObj(BufferCtrlObj *buffer_ctrl_obj);
void setAcqBufferCPUAffinity(CPUAffinity buffer_affinity); void setAcqBufferCPUAffinity(CPUAffinity buffer_affinity);
...@@ -99,16 +81,12 @@ public: ...@@ -99,16 +81,12 @@ public:
void waitLimaFrame(FrameType frame_nb, AutoMutex& l); void waitLimaFrame(FrameType frame_nb, AutoMutex& l);
char *getAcqFrameBufferPtr(FrameType frame_nb); char *getAcqFrameBufferPtr(FrameType frame_nb);
BufferCtrlObj *getBufferCtrlObj(BufferType type) BufferCtrlObj *getBufferCtrlObj()
{ { return m_lima_buffer_ctrl_obj; }
bool lima = ((type == LimaBuffer) || (m_mode == Single));
return lima ? m_lima_buffer_ctrl_obj :
m_acq_buffer_ctrl_obj.getPtr();
}
StdBufferCbMgr *getBufferCbMgr(BufferType type) StdBufferCbMgr *getBufferCbMgr()
{ {
BufferCtrlObj *buffer = getBufferCtrlObj(type); BufferCtrlObj *buffer = getBufferCtrlObj();
return buffer ? &buffer->getBuffer() : NULL; return buffer ? &buffer->getBuffer() : NULL;
} }
...@@ -117,9 +95,6 @@ public: ...@@ -117,9 +95,6 @@ public:
void getMaxNbBuffers(long& nb_buffers); void getMaxNbBuffers(long& nb_buffers);
void setMode(Mode mode);
void getMode(Mode& mode);
void prepareAcq(); void prepareAcq();
void clearAllBuffers(); void clearAllBuffers();
...@@ -133,11 +108,9 @@ private: ...@@ -133,11 +108,9 @@ private:
Camera *m_cam; Camera *m_cam;
Cond& m_cond; Cond& m_cond;
Mode m_mode;
CPUAffinity m_buffer_affinity; CPUAffinity m_buffer_affinity;
BufferCtrlObj *m_lima_buffer_ctrl_obj; BufferCtrlObj *m_lima_buffer_ctrl_obj;
BufferSync *m_lima_buffer_sync; BufferSync *m_lima_buffer_sync;
AutoPtr<BufferCtrlObj> m_acq_buffer_ctrl_obj;
int m_max_memory; int m_max_memory;
}; };
......
...@@ -228,6 +228,7 @@ class Jungfrau : public Model ...@@ -228,6 +228,7 @@ class Jungfrau : public Model
virtual void updateImageSize(Size size, bool raw); virtual void updateImageSize(Size size, bool raw);
virtual void prepareAcq(); virtual void prepareAcq();
virtual void clear(); virtual void clear();
virtual bool consumesRawData() = 0;
virtual void processFrame(Data& data) = 0; virtual void processFrame(Data& data) = 0;
protected: protected:
...@@ -347,6 +348,7 @@ class Jungfrau : public Model ...@@ -347,6 +348,7 @@ class Jungfrau : public Model
virtual void updateImageSize(Size size, bool raw); virtual void updateImageSize(Size size, bool raw);
virtual void clear(); virtual void clear();
virtual bool consumesRawData() { return true; }
virtual void processFrame(Data& data); virtual void processFrame(Data& data);
void readGainADCMaps(Data& gain_map, Data& adc_map, void readGainADCMaps(Data& gain_map, Data& adc_map,
...@@ -387,6 +389,7 @@ class Jungfrau : public Model ...@@ -387,6 +389,7 @@ class Jungfrau : public Model
virtual void updateImageSize(Size size, bool raw); virtual void updateImageSize(Size size, bool raw);
virtual void clear(); virtual void clear();
virtual bool consumesRawData() { return true; }
virtual void processFrame(Data& data); virtual void processFrame(Data& data);
void readProcMap(Data& proc_map, FrameType& frame); void readProcMap(Data& proc_map, FrameType& frame);
...@@ -421,6 +424,7 @@ class Jungfrau : public Model ...@@ -421,6 +424,7 @@ class Jungfrau : public Model
virtual void updateImageSize(Size size, bool raw); virtual void updateImageSize(Size size, bool raw);
virtual void clear(); virtual void clear();
virtual bool consumesRawData() { return false; }
virtual void processFrame(Data& data); virtual void processFrame(Data& data);
void readAveMap(Data& ave_map, FrameType& nb_frames, void readAveMap(Data& ave_map, FrameType& nb_frames,
...@@ -523,13 +527,7 @@ class Jungfrau : public Model ...@@ -523,13 +527,7 @@ class Jungfrau : public Model
void doSetImgProcConfig(std::string config, bool force); void doSetImgProcConfig(std::string config, bool force);
Data getRawData(Data& data) Data getRawData(Data& data)
{ { return m_reconstruction->getRawData(data); }
if (m_img_src == Raw)
return data;
BufferMgr *buffer_mgr = getBuffer();
BufferCtrlObj *buffer = buffer_mgr->getBufferCtrlObj(AcqBuffer);
return buffer->getFrameData(data.frameNumber);
}
int getNbJungfrauModules() int getNbJungfrauModules()
{ return getNbDetModules(); } { return getNbDetModules(); }
......
...@@ -96,8 +96,6 @@ class Model ...@@ -96,8 +96,6 @@ class Model
void putCmd(const std::string& s, int idx = -1); void putCmd(const std::string& s, int idx = -1);
std::string getCmd(const std::string& s, int idx = -1); std::string getCmd(const std::string& s, int idx = -1);
char *getAcqFrameBufferPtr(FrameType frame_nb);
virtual bool checkSettings(Settings settings) = 0; virtual bool checkSettings(Settings settings) = 0;
virtual void prepareAcq() = 0; virtual void prepareAcq() = 0;
......
...@@ -60,26 +60,42 @@ public: ...@@ -60,26 +60,42 @@ public:
Reconstruction *m_r; Reconstruction *m_r;
}; };
enum LimaBufferMode { RawData, CorrData };
Reconstruction(Camera *cam); Reconstruction(Camera *cam);
virtual ~Reconstruction(); virtual ~Reconstruction();
void setActive(bool active); void setActive(bool active);
void getActive(bool& active); void getActive(bool& active);
void setLimaBufferMode(LimaBufferMode lima_buffer_mode);
void getLimaBufferMode(LimaBufferMode& lima_buffer_mode);
virtual void prepare(); virtual void prepare();
void addFramePackets(DetFrameImagePackets&& det_frame_packets); void addFramePackets(DetFrameImagePackets&& det_frame_packets);
Data getRawData(Data& data);
virtual Data process(Data& data); virtual Data process(Data& data);
virtual Data processModel(Data& data) = 0; virtual Data processModel(Data& data) = 0;
virtual void cleanUp(); virtual void cleanUp();
private: private:
struct ThreadData {
void *ptr;
long size;
};
static void releaseThreadData(void *thread_data);
friend class CtrlObjProxy; friend class CtrlObjProxy;
Camera *m_cam; Camera *m_cam;
CtrlObjProxy *m_proxy; CtrlObjProxy *m_proxy;
bool m_active; bool m_active;
LimaBufferMode m_lima_buffer_mode;
FrameDim m_raw_frame_dim;
Mutex m_mutex; Mutex m_mutex;
FramePacketMap m_frame_packet_map; FramePacketMap m_frame_packet_map;
}; };
......
...@@ -30,11 +30,6 @@ namespace SlsDetector ...@@ -30,11 +30,6 @@ namespace SlsDetector
class BufferMgr class BufferMgr
{ {
public: public:
enum Mode { Single, Dual };
void setMode(SlsDetector::BufferMgr::Mode mode);
void getMode(SlsDetector::BufferMgr::Mode& mode /Out/);
void setMaxMemory(short max_memory); void setMaxMemory(short max_memory);
void getMaxMemory(short& max_memory /Out/); void getMaxMemory(short& max_memory /Out/);
......
...@@ -79,8 +79,6 @@ protected: ...@@ -79,8 +79,6 @@ protected:
void putCmd(const std::string& s, int idx = -1); void putCmd(const std::string& s, int idx = -1);
std::string getCmd(const std::string& s, int idx = -1); std::string getCmd(const std::string& s, int idx = -1);
char *getAcqFrameBufferPtr(unsigned long frame_nb);
virtual virtual
bool checkSettings(SlsDetector::Defs::Settings settings) = 0; bool checkSettings(SlsDetector::Defs::Settings settings) = 0;
......
...@@ -28,56 +28,12 @@ using namespace lima::SlsDetector; ...@@ -28,56 +28,12 @@ using namespace lima::SlsDetector;
BufferMgr::BufferMgr(Camera *cam) BufferMgr::BufferMgr(Camera *cam)
: m_cam(cam), m_cond(m_cam->m_cond), m_mode(Single), : m_cam(cam), m_cond(m_cam->m_cond), m_lima_buffer_ctrl_obj(NULL),
m_lima_buffer_ctrl_obj(NULL),
m_max_memory(70) m_max_memory(70)
{ {
DEB_CONSTRUCTOR(); DEB_CONSTRUCTOR();
} }
void BufferMgr::setMode(Mode mode)
{
DEB_MEMBER_FUNCT();
DEB_PARAM() << DEB_VAR2(mode, m_mode);
if (mode == m_mode)
return;
m_mode = mode;
m_acq_buffer_ctrl_obj = (m_mode == Dual) ? new BufferCtrlObj() : NULL;
DEB_TRACE() << DEB_VAR2(m_lima_buffer_ctrl_obj, m_acq_buffer_ctrl_obj);
BufferCtrlObj *buffer;
buffer = getBufferCtrlObj(AcqBuffer);
if (buffer) {
buffer->setType(AcqBuffer);
buffer->setCPUAffinityMask(m_buffer_affinity);
}
buffer = getBufferCtrlObj(LimaBuffer);
if (buffer && (m_mode == Dual)) {
buffer->setType(LimaBuffer);
buffer->setCPUAffinityMask(CPUAffinity());
}
Model *model = m_cam->m_model;
if (!model)
return;
if (m_acq_buffer_ctrl_obj) {
FrameDim frame_dim;
model->getAcqFrameDim(frame_dim, m_cam->m_raw_mode);
m_acq_buffer_ctrl_obj->setFrameDim(frame_dim);
}
m_cam->updateImageSize();
}
void BufferMgr::getMode(Mode& mode)
{
DEB_MEMBER_FUNCT();
mode = m_mode;
DEB_RETURN() << DEB_VAR1(mode);
}
void BufferMgr::setLimaBufferCtrlObj(BufferCtrlObj *buffer_ctrl_obj) void BufferMgr::setLimaBufferCtrlObj(BufferCtrlObj *buffer_ctrl_obj)
{ {
DEB_MEMBER_FUNCT(); DEB_MEMBER_FUNCT();
...@@ -110,7 +66,7 @@ char *BufferMgr::getAcqFrameBufferPtr(FrameType frame_nb) ...@@ -110,7 +66,7 @@ char *BufferMgr::getAcqFrameBufferPtr(FrameType frame_nb)
{ {
DEB_MEMBER_FUNCT(); DEB_MEMBER_FUNCT();
StdBufferCbMgr *cb_mgr = getBufferCbMgr(AcqBuffer); StdBufferCbMgr *cb_mgr = getBufferCbMgr();
if (!cb_mgr) if (!cb_mgr)
THROW_HW_ERROR(InvalidValue) << "No BufferCbMgr defined"; THROW_HW_ERROR(InvalidValue) << "No BufferCbMgr defined";
void *ptr = cb_mgr->getFrameBufferPtr(frame_nb); void *ptr = cb_mgr->getFrameBufferPtr(frame_nb);
...@@ -121,7 +77,7 @@ void BufferMgr::setAcqBufferCPUAffinity(CPUAffinity buffer_affinity) ...@@ -121,7 +77,7 @@ void BufferMgr::setAcqBufferCPUAffinity(CPUAffinity buffer_affinity)
{ {
DEB_MEMBER_FUNCT(); DEB_MEMBER_FUNCT();
DEB_ALWAYS() << DEB_VAR1(buffer_affinity); DEB_ALWAYS() << DEB_VAR1(buffer_affinity);
BufferCtrlObj *buffer = getBufferCtrlObj(AcqBuffer); BufferCtrlObj *buffer = getBufferCtrlObj();
if (buffer) if (buffer)
buffer->setCPUAffinityMask(buffer_affinity); buffer->setCPUAffinityMask(buffer_affinity);
m_buffer_affinity = buffer_affinity; m_buffer_affinity = buffer_affinity;
...@@ -146,14 +102,14 @@ void BufferMgr::getMaxMemory(short& max_memory) ...@@ -146,14 +102,14 @@ void BufferMgr::getMaxMemory(short& max_memory)
void BufferMgr::getMaxNbBuffers(long& nb_buffers) void BufferMgr::getMaxNbBuffers(long& nb_buffers)
{ {
DEB_MEMBER_FUNCT(); DEB_MEMBER_FUNCT();
if (m_acq_buffer_ctrl_obj) { bool raw_mode;
int max_nb_buffers; m_cam->getRawMode(raw_mode);
m_acq_buffer_ctrl_obj->getMaxNbBuffers(max_nb_buffers); FrameDim frame_dim;
Model *model = m_cam->getModel();
model->getAcqFrameDim(frame_dim, raw_mode);
int max_nb_buffers = GetDefMaxNbBuffers(frame_dim);
nb_buffers = int(max_nb_buffers * m_max_memory / 100.0); nb_buffers = int(max_nb_buffers * m_max_memory / 100.0);
DEB_TRACE() << DEB_VAR2(max_nb_buffers, nb_buffers); DEB_TRACE() << DEB_VAR2(max_nb_buffers, nb_buffers);
} else {
nb_buffers = 0;
}
DEB_RETURN() << DEB_VAR1(nb_buffers); DEB_RETURN() << DEB_VAR1(nb_buffers);
} }
...@@ -161,16 +117,16 @@ void BufferMgr::prepareAcq() ...@@ -161,16 +117,16 @@ void BufferMgr::prepareAcq()
{ {
DEB_MEMBER_FUNCT(); DEB_MEMBER_FUNCT();
if (m_acq_buffer_ctrl_obj) {
FrameType nb_frames; FrameType nb_frames;
m_cam->getNbFrames(nb_frames); m_cam->getNbFrames(nb_frames);
long max_nb_buffers; long max_nb_buffers;
getMaxNbBuffers(max_nb_buffers); getMaxNbBuffers(max_nb_buffers);
int nb_buffers = (nb_frames < max_nb_buffers) ? nb_frames : int nb_buffers = (nb_frames < max_nb_buffers) ? nb_frames :
max_nb_buffers; max_nb_buffers;
m_acq_buffer_ctrl_obj->setNbBuffers(nb_buffers); const int min_nb_buffers = 128;
} if (nb_buffers < min_nb_buffers)
nb_buffers = min_nb_buffers;
m_cam->setReceiverFifoDepth(nb_buffers);
} }
void BufferMgr::releaseBuffers() void BufferMgr::releaseBuffers()
...@@ -179,8 +135,6 @@ void BufferMgr::releaseBuffers() ...@@ -179,8 +135,6 @@ void BufferMgr::releaseBuffers()
bool prev_release_unused; bool prev_release_unused;
// BufferCtrlObj::getBufferMgrResizePolicy(prev_release_unused); // BufferCtrlObj::getBufferMgrResizePolicy(prev_release_unused);
// BufferCtrlObj::setBufferMgrResizePolicy(true); // BufferCtrlObj::setBufferMgrResizePolicy(true);
if (m_acq_buffer_ctrl_obj)
m_acq_buffer_ctrl_obj->releaseBuffers();
if (m_lima_buffer_ctrl_obj) if (m_lima_buffer_ctrl_obj)
m_lima_buffer_ctrl_obj->releaseBuffers(); m_lima_buffer_ctrl_obj->releaseBuffers();
// BufferCtrlObj::setBufferMgrResizePolicy(prev_release_unused); // BufferCtrlObj::setBufferMgrResizePolicy(prev_release_unused);
...@@ -189,13 +143,9 @@ void BufferMgr::releaseBuffers() ...@@ -189,13 +143,9 @@ void BufferMgr::releaseBuffers()
void BufferMgr::clearAllBuffers() void BufferMgr::clearAllBuffers()
{ {
DEB_MEMBER_FUNCT(); DEB_MEMBER_FUNCT();
StdBufferCbMgr *buffer; StdBufferCbMgr *buffer = getBufferCbMgr();
buffer = getBufferCbMgr(AcqBuffer);
if (buffer) if (buffer)
buffer->clearAllBuffers(); buffer->clearAllBuffers();
buffer = getBufferCbMgr(LimaBuffer);
if (buffer && (m_mode == Dual))
buffer->clearAllBuffers();
Camera::RecvList::iterator it, end = m_cam->m_recv_list.end(); Camera::RecvList::iterator it, end = m_cam->m_recv_list.end();
for (it = m_cam->m_recv_list.begin(); it != end; ++it) for (it = m_cam->m_recv_list.begin(); it != end; ++it)
......
...@@ -153,7 +153,7 @@ Camera::AcqThread::Status Camera::AcqThread::newFrameReady(FrameType frame) ...@@ -153,7 +153,7 @@ Camera::AcqThread::Status Camera::AcqThread::newFrameReady(FrameType frame)
DEB_MEMBER_FUNCT(); DEB_MEMBER_FUNCT();
HwFrameInfoType frame_info; HwFrameInfoType frame_info;
frame_info.acq_frame_nb = frame; frame_info.acq_frame_nb = frame;
StdBufferCbMgr *cb_mgr = m_cam->m_buffer.getBufferCbMgr(LimaBuffer); StdBufferCbMgr *cb_mgr = m_cam->m_buffer.getBufferCbMgr();
bool cont_acq = cb_mgr->newFrameReady(frame_info); bool cont_acq = cb_mgr->newFrameReady(frame_info);
bool acq_end = (frame == m_cam->m_lima_nb_frames - 1); bool acq_end = (frame == m_cam->m_lima_nb_frames - 1);
cont_acq &= !acq_end; cont_acq &= !acq_end;
...@@ -409,7 +409,7 @@ Camera::Camera(string config_fname, int det_id) ...@@ -409,7 +409,7 @@ Camera::Camera(string config_fname, int det_id)
EXC_CHECK(m_det->setRxSilentMode(1)); EXC_CHECK(m_det->setRxSilentMode(1));
EXC_CHECK(m_det->setRxFrameDiscardPolicy( EXC_CHECK(m_det->setRxFrameDiscardPolicy(
slsDetectorDefs::DISCARD_PARTIAL_FRAMES)); slsDetectorDefs::DISCARD_PARTIAL_FRAMES));
setReceiverFifoDepth(16); setReceiverFifoDepth(128);
sls::Result<int> dr_res; sls::Result<int> dr_res;
EXC_CHECK(dr_res = m_det->getDynamicRange()); EXC_CHECK(dr_res = m_det->getDynamicRange());
...@@ -880,11 +880,9 @@ void Camera::prepareAcq() ...@@ -880,11 +880,9 @@ void Camera::prepareAcq()
{ {
DEB_MEMBER_FUNCT(); DEB_MEMBER_FUNCT();
StdBufferCbMgr *cb_mgr = m_buffer.getBufferCbMgr(AcqBuffer); StdBufferCbMgr *cb_mgr = m_buffer.getBufferCbMgr();
if (!cb_mgr) if (!cb_mgr)
THROW_HW_ERROR(Error) << "No Acq BufferCbMgr defined"; THROW_HW_ERROR(Error) << "No Acq BufferCbMgr defined";
else if (!m_buffer.getBufferCbMgr(LimaBuffer))
THROW_HW_ERROR(Error) << "No Lima BufferCbMgr defined";
if (!m_model) if (!m_model)
THROW_HW_ERROR(Error) << "No Model defined"; THROW_HW_ERROR(Error) << "No Model defined";
...@@ -941,7 +939,7 @@ void Camera::startAcq() ...@@ -941,7 +939,7 @@ void Camera::startAcq()
if (m_acq_thread) if (m_acq_thread)
THROW_HW_ERROR(Error) << "Must call prepareAcq first"; THROW_HW_ERROR(Error) << "Must call prepareAcq first";
StdBufferCbMgr *cb_mgr = m_buffer.getBufferCbMgr(LimaBuffer); StdBufferCbMgr *cb_mgr = m_buffer.getBufferCbMgr();
cb_mgr->setStartTimestamp(Timestamp::now()); cb_mgr->setStartTimestamp(Timestamp::now());
m_acq_thread = new AcqThread(this); m_acq_thread = new AcqThread(this);
...@@ -1005,7 +1003,10 @@ void Camera::assemblePackets(DetFrameImagePackets&& det_frame_packets) ...@@ -1005,7 +1003,10 @@ void Camera::assemblePackets(DetFrameImagePackets&& det_frame_packets)
const FrameType& frame = det_frame_packets.first; const FrameType& frame = det_frame_packets.first;
DetImagePackets& det_packets = det_frame_packets.second; DetImagePackets& det_packets = det_frame_packets.second;
char *bptr = m_buffer.getAcqFrameBufferPtr(frame); Data frame_data = m_buffer.getBufferCtrlObj()->getFrameData(frame);
Reconstruction *reconstruct = m_model->getReconstruction();
Data raw_data = reconstruct->getRawData(frame_data);
char *bptr = (char *) raw_data.data();
int nb_recvs = getNbRecvs(); int nb_recvs = getNbRecvs();
for (int i = 0; i < nb_recvs; ++i) { for (int i = 0; i < nb_recvs; ++i) {
......
...@@ -242,9 +242,12 @@ void Jungfrau::ImgProcTask::process(Data& data) ...@@ -242,9 +242,12 @@ void Jungfrau::ImgProcTask::process(Data& data)
DEB_PARAM() << DEB_VAR2(data.frameNumber, data.data()); DEB_PARAM() << DEB_VAR2(data.frameNumber, data.data());
bool img_is_raw = (m_jungfrau->m_img_src == Raw);
ImgProcList& img_proc_list = m_jungfrau->m_img_proc_list; ImgProcList& img_proc_list = m_jungfrau->m_img_proc_list;
ImgProcList::iterator it, end = img_proc_list.end(); ImgProcList::iterator it, end = img_proc_list.end();