docs: public int getQuality() {
          int qvalue, sum = 0, quality = 0, tempQ[];
  
          for (int i = 0; i < qTables.length; i++) {
              if (qTables[i] != null) {
                  tempQ = qTables[i].getQ();
                  for (int j = 0; j < 64; j++) {
                      sum += tempQ[j];
                  }
              }
          }
  
          if ((qTables[0] != null) && (qTables[1] != null)) {
  
              qvalue = (int) (qTables[0].getQ()[2] + qTables[0].getQ()[53] + qTables[1].getQ()[0] + qTables[1].getQ()[63]);
  
              for (int i = 0; i < 100; i++) {
                  if ((qvalue < DOUBLE_QUANT_HASH[i]) && (sum < DOUBLE_QUANT_SUMS[i])) {
                      continue;
                  }
  
                  if (((qvalue <= DOUBLE_QUANT_HASH[i]) && (sum <= DOUBLE_QUANT_SUMS[i])) || (i >= 50)) {
                      quality = i + 1;
                  }
  
                  break;
              }
          } else if (qTables[0] != null) {
  
              qvalue = (qTables[0].getQ()[2] + qTables[0].getQ()[53]);
  
              for (int i = 0; i < 100; i++) {
                  if ((qvalue < SINGLE_QUANT_HASH[i]) && (sum < SINGLE_QUANT_SUMS[i])) {
                      continue;
                  }
  
                  if (((qvalue <= SINGLE_QUANT_HASH[i]) && (sum <= SINGLE_QUANT_SUMS[i])) || (i >= 50)) {
                      quality = i + 1;
                  }
  
                  break;
              }
          }
  
          return quality;
      }