message: try to impl decode logic for `skip_palette`
diff: @@ -1029,7 +1029,9 @@ impl<R: Read + Seek> BmpDecoder<R> {
  }
  fn num_channels(&self) -> usize {
  - if self.add_alpha_channel {
  + if self.skip_palette {
  + 1
  + } else if self.add_alpha_channel {
  4
  } else {
  3
  @@ -1072,6 +1074,7 @@ impl<R: Read + Seek> BmpDecoder<R> {
  let bit_count = self.bit_count;
  let reader = &mut self.reader;
  let width = self.width as usize;
  + let skip_palette = self.skip_palette;
  reader.seek(SeekFrom::Start(self.data_offset))?;
  @@ -1083,6 +1086,9 @@ impl<R: Read + Seek> BmpDecoder<R> {
  self.top_down,
  |row| {
  reader.read_exact(&mut indices)?;
  + if skip_palette {
  + row.clone_from_slice(&indices);
  + } else {
  let mut pixel_iter = row.chunks_mut(num_channels);
  match bit_count {
  1 => {
  @@ -1099,6 +1105,7 @@ impl<R: Read + Seek> BmpDecoder<R> {
  }
  _ => panic!(),
  };
  + }
  Ok(())
  },
  )?;
  