The rate-distortion statistics (i.e. R-D slope) is stored for valid /// points only. The set of valid points is determined by the entropy coder /// engine itself. Normally they are selected so as to lye in a convex hull, /// which can be achived by using the 'selectConvexHull' method of this class, /// but some other strategies might be employed.
/// ///The rate (in bytes) for each truncation point (valid or not) is stored /// in the 'truncRates' array. The rate of a truncation point is the total /// number of bytes in 'data' (see super class) that have to be decoded to /// reach the truncation point.
/// ///The slope (reduction of distortion divided by the increase in rate) at /// each of the valid truncation points is stored in 'truncSlopes'.
/// ///The index of each valid truncation point is stored in 'truncIdxs'. The /// index should be interpreted in the following way: a valid truncation point /// at position 'n' has the index 'truncIdxs[n]', the rate /// 'truncRates[truncIdxs[n]]' and the slope 'truncSlopes[n]'. The arrays /// 'truncIdxs' and 'truncRates' have at least 'nVldTrunc' elements. The /// 'truncRates' array has at least 'nTotTrunc' elements.
/// ///In addition the 'isTermPass' array contains a flag for each truncation /// point (valid and non-valid ones) that tells if the pass is terminated or /// not. If this variable is null then it means that no pass is terminated, /// except the last one which always is.
/// ///The compressed data is stored in the 'data' member variable of the super /// class.
/// ///The valid truncation points are selected by taking them as lying on /// a convex hull. This is done by calling the method /// selectConvexHull().
/// ///Note that the arrays 'rates' and 'termp' are copied, not referenced, /// so they can be modified after a call to this constructor.
/// ///Note that the arrays 'rates' and 'termp' are copied, not /// referenced, so they can be modified after a call to this method.
/// ///