convertBits function 
 
    
    
    
  Implementation
  List<int> convertBits(data, int from, int to, {bool strictMode = false}) {
  double len = data.length * from / to;
  final length = strictMode ? len.floor() : len.ceil();
  final mask = (1 << to) - 1;
  final result = List.generate(length, (_) => 0);
  var index = 0;
  var accumulator = 0;
  var bits = 0;
  for (var i = 0; i < data.length; i++) {
    var value = data[i];
    accumulator = (accumulator << from) | value;
    bits += from;
    while (bits >= to) {
      bits -= to;
      result[index] = (accumulator >> bits) & mask;
      index++;
    }
  }
  if (!strictMode) {
    if (bits > 0) {
      result[index] = (accumulator << (to - bits)) & mask;
      index++;
    }
  } else {}
  return result;
}