]> git.nihav.org Git - nihav.git/commitdiff
avimux: do not record palette change chunks in OpenDML index master
authorKostya Shishkov <kostya.shishkov@gmail.com>
Sat, 28 Jun 2025 16:44:43 +0000 (18:44 +0200)
committerKostya Shishkov <kostya.shishkov@gmail.com>
Sat, 28 Jun 2025 16:44:43 +0000 (18:44 +0200)
nihav-commonfmt/src/muxers/avi.rs

index a0ebb0ba4f96799bae75dad8a34fd7415c74c424..77de73c871d6a322269ee03b1aad6855e99bbb4f 100644 (file)
@@ -80,7 +80,7 @@ impl<'a> AVIMuxer<'a> {
             let tag0 = b'0' + ((sidx / 10) as u8);
             let tag1 = b'0' + ((sidx % 10) as u8);
 
-            let nentries = self.index.iter().filter(|idx| idx.tag[0] == tag0 && idx.tag[1] == tag1).count();
+            let nentries = self.index.iter().filter(|idx| idx.tag[0] == tag0 && idx.tag[1] == tag1 && &idx.tag[2..] != b"pc").count();
 
             let tag = [b'i', b'x', tag0, tag1];
             self.bw.write_buf(&tag)?;
@@ -101,7 +101,7 @@ impl<'a> AVIMuxer<'a> {
             self.bw.write_u64le(self.blk_start)?;
             self.bw.write_u32le(0)?;
 
-            for entry in self.index.iter().filter(|idx| idx.tag[0] == tag0 && idx.tag[1] == tag1) {
+            for entry in self.index.iter().filter(|idx| idx.tag[0] == tag0 && idx.tag[1] == tag1 && &idx.tag[2..] != b"pc") {
                 self.bw.write_u32le((entry.pos - self.blk_start + 8) as u32)?;
                 self.bw.write_u32le(entry.len)?;
             }