| 693 | } |
| 694 | |
| 695 | void DestroyEncoder(Encoder &enc) { |
| 696 | if (enc.m_levelSlots != NULL) { |
| 697 | for (int i = 0; i <= enc.m_levels; ++i) { |
| 698 | if (enc.m_levelSlots[i] != 0) { |
| 699 | int extraSamples = 0; |
| 700 | if (enc.m_levels != i) { |
| 701 | extraSamples = (enc.m_someVal - 1) << i; |
| 702 | } |
| 703 | |
| 704 | free(enc.m_levelSlots[i] - extraSamples); |
| 705 | } |
| 706 | } |
| 707 | |
| 708 | free(enc.m_levelSlots); |
| 709 | } |
| 710 | |
| 711 | if (enc.m_pFormatIdPerColumn != NULL) { |
| 712 | free(enc.m_pFormatIdPerColumn); |
| 713 | } |
| 714 | } |
| 715 | |
| 716 | void transform_subband(Encoder &enc, float *pD0, float *pD1, int32_t subBandCount, int32_t sampleCount) { |
| 717 | if (sampleCount <= 0) |