int QccWAVZerotreeCarveOutZerotree(QccWAVZerotree
*zerotree, int subband, int row, int col);
int QccWAVZerotreeUndoZerotree(QccWAVZerotree
*zerotree, int subband, int row, int col);
QccWAVZerotreeCarveOutZerotree() marks all the zerotree symbols in the "shadow" (i.e., those symbols which are descendants of the zerotree root symbol) as null symbols in the manner of QccWAVZerotreeMakeSymbolNull(3) . row and col give the row-column address of the zerotree-root symbol within the subband of the zerotree array, and subband is the subband number in which the zerotree-root symbol is located. Note: the zerotree-root symbol is not modified - only its descendants are touched.
QccWAVZerotreeUndoZerotree() reverses the effects of QccWAVZerotreeCarveOutZerotree() by marking all descendant symbols of the zerotree-root symbol as non-null, and restoring the symbols to their values prior to the initial call to QccWAVZerotreeCarveOutZerotree().
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.