/* Assign code to each symbol based on the code length array */
STATIC VOID MakeCode(IN INT32 Number, IN UINT8 Len[], OUT UINT16 Code[])
/* Assign code to each symbol based on the code length array */
STATIC VOID MakeCode(IN INT32 Number, IN UINT8 Len[], OUT UINT16 Code[])
{
  INT32   Index;
  UINT16  Start[18];
  Start[1] = 0;
  for (Index = 1; Index <= 16; Index++) {
    Start[Index + 1] = (UINT16) ((Start[Index] + mLenCnt[Index]) << 1);
  }
  for (Index = 0; Index < Number; Index++) {
    Code[Index] = Start[Len[Index]]++;
  }
}