encode method

List<int> encode(
  1. List<int> src
)

Implementation

List<int> encode(List<int> src) {
  if (src.isEmpty) return [];
  final out = <int>[];
  var cur = src[0];
  var cnt = 1;
  for (var i = 1; i < src.length; i++) {
    if (src[i] == cur && cnt < 255) {
      cnt++;
    } else {
      out.add(cur);
      out.add(cnt);
      cur = src[i];
      cnt = 1;
    }
  }
  out.add(cur);
  out.add(cnt);
  return out;
}