| 985 | } |
| 986 | |
| 987 | void decodeISE (ISEDecodedResult* dst, int numValues, BitAccessStream& data, const ISEParams& params) |
| 988 | { |
| 989 | if (params.mode == ISEMODE_TRIT) |
| 990 | { |
| 991 | const int numBlocks = deDivRoundUp32(numValues, 5); |
| 992 | for (int blockNdx = 0; blockNdx < numBlocks; blockNdx++) |
| 993 | { |
| 994 | const int numValuesInBlock = blockNdx == numBlocks-1 ? numValues - 5*(numBlocks-1) : 5; |
| 995 | decodeISETritBlock(&dst[5*blockNdx], numValuesInBlock, data, params.numBits); |
| 996 | } |
| 997 | } |
| 998 | else if (params.mode == ISEMODE_QUINT) |
| 999 | { |
| 1000 | const int numBlocks = deDivRoundUp32(numValues, 3); |
| 1001 | for (int blockNdx = 0; blockNdx < numBlocks; blockNdx++) |
| 1002 | { |
| 1003 | const int numValuesInBlock = blockNdx == numBlocks-1 ? numValues - 3*(numBlocks-1) : 3; |
| 1004 | decodeISEQuintBlock(&dst[3*blockNdx], numValuesInBlock, data, params.numBits); |
| 1005 | } |
| 1006 | } |
| 1007 | else |
| 1008 | { |
| 1009 | DE_ASSERT(params.mode == ISEMODE_PLAIN_BIT); |
| 1010 | for (int i = 0; i < numValues; i++) |
| 1011 | decodeISEBitBlock(&dst[i], data, params.numBits); |
| 1012 | } |
| 1013 | } |
| 1014 | |
| 1015 | void unquantizeColorEndpoints (deUint32* dst, const ISEDecodedResult* iseResults, int numEndpoints, const ISEParams& iseParams) |
| 1016 | { |
no test coverage detected