查看“逆向:CRI Sofdec数据流结构”的源代码
←
逆向:CRI Sofdec数据流结构
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
此处记录CRI Sofdec格式的视频数据流之结构的分析结果。(进行中) =CRI Sofdec简述= CRI Sofdec格式(典型扩展名为SFD)为CRI Midware公司开发的游戏用视频中间件格式。当前,CRI Midware已停止支持该格式。 该格式的数据结构为一种MPEG-1系统层(于ISO/IEC 11172-1中定义)的变体。其视频流为符合标准的MPEG-1视频(于ISO/IEC 11172-2中定义)。已知其音频流中必有一路使用用CRI ADX编码(CRI Midware私有音频压缩编码)的音频流(典型扩展名为SFA),可能包含有一路杜比数字(DD,典型扩展名为AC-3)音频流。需要专用的多路复用器进行复用。 目前已泄漏的SFD多路复用器有: {| class="wikitable" |- ! 原始应用名 !! 内部ID !! 出处 |- | DreamcastMovieCreator || SFDMUX Ver.1.07 19990520 CRI || 为SFD Tool Pack v1.0 by SWAT的一部分。有抽出dll制作的的命令行版本sfdmux。 |- | Sofdec Multiplexer Ver.0.25 || CRI_SFM Ver.2.17 2003-01-14 CRI || 为 CRI SDK by Xbox的一部分。 |} 目前已知但未泄漏的SFD多路复用器有: {| class="wikitable" |- ! 内部ID !! 注释 |- | SFM Ver.2.25 2004-07-21 CRI-MW || AT1 SFD所署明的内部ID |} =CRI Sofdec 结构= CRI Sofdec数据流(下简称SFD)内部有多个符合「ISO/IEC 11172-1 2.4.3.2 包层」定义的包。一般而言,每个包的大小均为0x800。 其中,第00-03个包(对于较旧版本的SFD复用器,可能为第00-02个包)标示了SFD的各种信息,而这之后的包为经多路复用的数据流(也许可以直接作为MPEG-1多路复用流解读?)。 ==信息包组(暂名)== 信息包组即指SFD内部的第00-03个包(对于较旧版本的SFD复用器,可能为第00-02个包)。 下面列出这些包的结构。 这些包中,一些定性数据为AT1,即"SFM Ver.2.25 2004-07-21 CRI-MW"的参数。 {| class="wikitable" |+ 第00个包(起始地址:0x00000000,音频流声明包(暂称)) |- ! 偏址 !! 信息 |- | 0x0000 || 包头(长度12)。数据: pack_start_code = default ('00 00 01 BA'[hex]) system_clock_refence = '000 00000000 0000000 00000000 0000000' mux_rate(with market_bit) = '88 2F E7'[hex] (含AC-3音轨的视频) / '88 27 05'[hex] (含一条有声ADX音轨的视频) / '88 20 97'[hex] (含一条无声ADX音轨的视频) |- | 0x000C || 系统头(长度15(含一条音轨的视频) / 18(含两条音轨的视频))。数据: system_header_start_code = default ('00 00 01 BB'[hex]) header_length = [default] rate_bound(with market_bit) = [mux_rate(with market_bit)] audio_bound = [default] flxed_flag = '1' CSPS_flag = '0' system_audio_lock_flag = '0' system_video_lock_flag = '0' video_bound = '0 0000' reserved_byte = default ('1111 1111') stream_id[#1] = 'C0'[hex] stream_id[#2] = 'C1'[hex] STD_buffer_bound_scale = '0' STD_buffer_size_bound = '0 0000 0000 0100' |- | 0x001B(含一条音轨的视频) 0x001E(含两条音轨的视频) || 分组头(长度7)。结构: packet_start_codec_prefix =default ('00 00 01'[hex]) stream_id = 'BE'[hex] (填充流) packet_length = [default] ( 典型值:'07 DF'[hex](含一条音轨的视频) / '07 DC'[hex](含两条音轨的视频) ) '0000 1111' |- | 0x0022(含一条音轨的视频) 0x0025(含两条音轨的视频) || 填充流数据(长度[packet_length])。全为 'FF'[hex] 。结束于0x07FF。 |} {| class="wikitable" |+ 第01个包(起始地址:0x00000800,视频流声明包(暂称)) |- ! 偏址 !! 信息 |- | 0x0000 || 包头(长度12)。数据: pack_start_code = default ('00 00 01 BA'[hex]) system_clock_refence = '000 00000000 0000000 00000000 0001100' mux_rate(with market_bit) = '88 2F E7'[hex] (含AC-3音轨的视频) / '88 27 05'[hex] (含一条有声ADX音轨的视频) / '88 20 97'[hex] (含一条无声ADX音轨的视频) |- | 0x000C || 系统头(长度15)。数据: system_header_start_code = default ('00 00 01 BB'[hex]) header_length = [default] rate_bound(with market_bit) = [mux_rate(with market_bit)] audio_bound = '0000 00' flxed_flag = '1' CSPS_flag = '0' system_audio_lock_flag = '0' system_video_lock_flag = '0' video_bound = [default] reserved_byte = default ('1111 1111') stream_id = 'E0'[hex] STD_buffer_bound_scale = '1' STD_buffer_size_bound = '0 0000 0010 1110' |- | 0x001B || 分组头(长度7)。结构: packet_start_codec_prefix =default ('00 00 01'[hex]) stream_id = 'BE'[hex] (填充流) packet_length = [default] ( 典型值:'07 DF'[hex] ) '0000 1111' |- | 0x0022 || 填充流数据(长度[packet_length])。全为 'FF'[hex] 。结束于0x07FF。 |} ==其他== 在做了。 =参考标准= ISO/IEC 11172-1:1993 GB/T 17191.1-1997 (idt ISO/IEC 11172-1:1993) ISO/IEC 11172-1:1993/Cor.1:1996 ISO/IEC 11172-1:1993/Cor.2:1999
本页使用的模板:
模板:Bar
(
查看源代码
)
模板:Note
(
查看源代码
)
返回
逆向:CRI Sofdec数据流结构
。
导航菜单
个人工具
创建账号
登录
命名空间
逆向
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息