int
QccENTGolombEncodeChannel(const QccChannel *channel, QccBitBuffer *output_buffer,
const float *p, const int *m);
int QccENTGolombDecodeChannel(QccBitBuffer
*input_buffer, const QccChannel *channel);
QccENTGolombDecodeChannel() performs decoding of the bits in the bitstream input_buffer, producing an output stream of binary channel symbols that are stored in channel. channel must be allocated prior to calling QccENTGolombDecodeChannel(); QccChannelGetBlockSize(3) is called to find out how many channel symbols are to be decoded from input_buffer. QccENTGolombDecodeChannel() calls QccENTGolombDecode(3) to actually do the Golomb decoding.
QccENTGolombEncode() will fail if it encounters an invalid symbol (i.e., a symbol that is neither 0 or 1).
S. W. Golomb, "Run-Length Encodings," IEEE Transactions on Information Theory, vol. 12, pp. 399-401, July 1966.
Copyright (C) 1997-2021 James E. Fowler