diff options
author | Kostya Shishkov <kostya.shishkov@gmail.com> | 2024-05-07 18:12:27 +0200 |
---|---|---|
committer | Kostya Shishkov <kostya.shishkov@gmail.com> | 2024-05-07 18:12:27 +0200 |
commit | e3af9911ad107a09e99c033a74f15c40581b8e26 (patch) | |
tree | df6d8610b0728cc573c82b38192396cb1ba52b26 /nihav-acorn/src/demuxers/armovie.rs | |
parent | 495496ba02a782e17314b5c36be98de0ae4a7989 (diff) | |
download | nihav-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.rs | 11 |
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() { |