- Symbolizer is Processor::Block

- removed ISymbolizer

git-svn-id: http://moon:8086/svn/software/trunk/libsrc/cpp@1069 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
2022-06-24 08:52:56 +00:00
parent 5bab8d67b3
commit e029a0c985
2 changed files with 35 additions and 30 deletions
+8 -12
View File
@@ -7,31 +7,27 @@
#include "Formatter.hpp"
class ISymbolizer
class Symbolizer : public Processor::Block
{
public:
ISymbolizer() {}
virtual ~ISymbolizer() = default;
virtual void onSymbol(symbol_t symbol) = 0;
};
class Symbolizer : public IFormatter
{
public:
Symbolizer(ISymbolizer *pSymbolHandler);
Symbolizer();
virtual ~Symbolizer() = default;
void process(data_t src);
void process(void *pSrc, uint32_t len);
void setNumBitsPerSymbol(uint32_t nBitsPerSym);
// Processor::Block
void prepare() override;
void process();
private:
uint32_t m_nBitsPerSym;
ISymbolizer *m_pSymbolHandler;
uint32_t m_symbolBitCount;
symbol_t m_lastSymbol;
symbol_t m_symbolMask;
Processor::Buffer<uint8_t> *m_buf_in;
Processor::Buffer<symbol_t> *m_buf_out;
symbol_t differentialEncode(symbol_t symbol);
void onFrame(void *pFrame, uint32_t size) override;
};
// --------------------------------------------------------------