aboutsummaryrefslogtreecommitdiffstats
path: root/nihav-acorn/src/demuxers/armovie.rs
diff options
context:
space:
mode:
authorKostya Shishkov <kostya.shishkov@gmail.com>2024-05-07 18:12:27 +0200
committerKostya Shishkov <kostya.shishkov@gmail.com>2024-05-07 18:12:27 +0200
commite3af9911ad107a09e99c033a74f15c40581b8e26 (patch)
treedf6d8610b0728cc573c82b38192396cb1ba52b26 /nihav-acorn/src/demuxers/armovie.rs
parent495496ba02a782e17314b5c36be98de0ae4a7989 (diff)
downloadnihav-e3af9911ad107a09e99c033a74f15c40581b8e26.tar.gz
add some packetisers for WSS formats in ARMovie
Diffstat (limited to 'nihav-acorn/src/demuxers/armovie.rs')
-rw-r--r--nihav-acorn/src/demuxers/armovie.rs11
1 files changed, 10 insertions, 1 deletions
diff --git a/nihav-acorn/src/demuxers/armovie.rs b/nihav-acorn/src/demuxers/armovie.rs
index 95c8dad..4b2b3f6 100644
--- a/nihav-acorn/src/demuxers/armovie.rs
+++ b/nihav-acorn/src/demuxers/armovie.rs
@@ -13,6 +13,9 @@ const VIDEO_CODECS: &[(i32, &str)] = &[
(122, "escape122"),
(124, "escape124"),
(130, "escape130"),
+ (600, "msvideo1"),
+ (601, "msvideo1"),
+ (602, "cinepak"),
(800, "linepack"),
(802, "movie16_3"),
];
@@ -278,7 +281,13 @@ impl<'a> RawDemuxCore<'a> for ARMovieDemuxer<'a> {
let mut edata = vec![video_codec as u8, (video_codec >> 8) as u8];
edata.extend_from_slice(&vformat);
- let vci = NACodecTypeInfo::Video(NAVideoInfo::new(width, height, false, YUV420_FORMAT));
+ let fmt = match video_codec {
+ 600 => PAL8_FORMAT,
+ 601 => RGB565_FORMAT,
+ _ => YUV420_FORMAT,
+ };
+
+ let vci = NACodecTypeInfo::Video(NAVideoInfo::new(width, height, false, fmt));
let vinfo = NACodecInfo::new(codec_name, vci, Some(edata));
let ret = strmgr.add_stream(NAStream::new(StreamType::Video, stream_id, vinfo, tb_num, tb_den, (frm_per_chunk * num_chunks) as u64));
if ret.is_some() {