int
QccWAVZerotreeNullSymbol(const char symbol);
int QccWAVZerotreeMakeSymbolNull(char
*symbol);
int QccWAVZerotreeMakeSymbolNonnull(char *symbol);
The QccWAVZerotree structure contains an array of symbols, one for each coefficient in the corresponding subband pyramid. The value of each symbol can be one of the following:
Any one of the valid symbols above can be marked as "null" using the function QccWAVZerotreeMakeSymbolNull(). This is done in such a way so that the original value of the symbol is not lost. Specifically, the values QCCWAVZEROTREE_SYMBOLSIGNIFICANT, QCCWAVZEROTREE_SYMBOLINSIGNIFICANT, QCCWAVZEROTREE_SYMBOLZTROOT, and QCCWAVZEROTREE_SYMBOLTEMP are all defined as positive constants; these symbols are marked "null" by making them negative. To recover the original value of the symbol, QccWAVZerotreeMakeSymbolNonnull() makes the symbol positive again. Finally, QccWAVZerotreeNullSymbol() returns 1 if symbol is "null" and 0 otherwise.
J. M. Shapiro, "Embedded Image Coding Using Zerotrees of Wavelet Coefficients," IEEE Transactions on Signal Processing, vol. 41, no. 12, pp. 3445-3462, December 1993.