Hi3520 视频级联.pdf
Hi3520 视频级联.pdf
Hi3520 视频级联.pdf
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Hi3520</strong> 视 频 级 联<br />
开 发 指 南<br />
文 档 版 本<br />
00B10<br />
发 布 日 期 2009-09-30<br />
BOM 编 码<br />
N/A<br />
海 思 专 有 和 保 密 信 息<br />
版 权 所 有 © 深 圳 市 海 思 半 导 体 有 限 公 司
深 圳 市 海 思 半 导 体 有 限 公 司 为 客 户 提 供 全 方 位 的 技 术 支 持 , 用 户 可 与 就 近 的 海 思 办 事 处 联 系 , 也 可 直 接 与 公<br />
司 总 部 联 系 。<br />
深 圳 市 海 思 半 导 体 有 限 公 司<br />
地 址 : 深 圳 市 龙 岗 区 坂 田 华 为 基 地 华 为 电 气 生 产 中 心 邮 编 :518129<br />
网 址 :<br />
http://www.hisilicon.com<br />
客 户 服 务 电 话 : +86-755-28788858<br />
客 户 服 务 传 真 : +86-755-28357515<br />
客 户 服 务 邮 箱 :<br />
support@hisilicon.com<br />
版 权 所 有 © 深 圳 市 海 思 半 导 体 有 限 公 司 2009。 保 留 一 切 权 利 。<br />
非 经 本 公 司 书 面 许 可 , 任 何 单 位 和 个 人 不 得 擅 自 摘 抄 、 复 制 本 文 档 内 容 的 部 分 或 全 部 , 并 不 得 以 任 何 形 式<br />
传 播 。<br />
商 标 声 明<br />
、 、 海 思 和 其 他 海 思 商 标 均 为 深 圳 市 海 思 半 导 体 有 限 公 司 的 商 标 。<br />
本 文 档 提 及 的 其 他 所 有 商 标 或 注 册 商 标 , 由 各 自 的 所 有 人 拥 有 。<br />
注 意<br />
由 于 产 品 版 本 升 级 或 其 他 原 因 , 本 文 档 内 容 会 不 定 期 进 行 更 新 。 除 非 另 有 约 定 , 本 文 档 仅 作 为 使 用 指 导 ,<br />
本 文 档 中 的 所 有 陈 述 、 信 息 和 建 议 不 构 成 任 何 明 示 或 暗 示 的 担 保 。<br />
海 思 专 有 和 保 密 信 息<br />
版 权 所 有 © 深 圳 市 海 思 半 导 体 有 限 公 司
<strong>Hi3520</strong> 视 频 级 联<br />
开 发 指 南<br />
目 录<br />
目<br />
录<br />
前 言 ..................................................................................................................................................1<br />
1 概 述 ...............................................................................................................................................1-1<br />
2 级 联 配 置 .......................................................................................................................................2-1<br />
2.1 注 意 事 项 ....................................................................................................................................................2-1<br />
2.2 配 置 流 程 ....................................................................................................................................................2-1<br />
2.2.1 主 片 配 置 流 程 ..................................................................................................................................2-2<br />
2.2.2 从 片 1 配 置 流 程 ..............................................................................................................................2-2<br />
2.2.3 从 片 2 配 置 流 程 ..............................................................................................................................2-2<br />
3 API 参 考 .......................................................................................................................................3-1<br />
4 应 用 示 例 .......................................................................................................................................4-1<br />
4.1 主 片 代 码 示 例 ............................................................................................................................................4-1<br />
4.2 从 片 1 代 码 示 例 ........................................................................................................................................4-4<br />
4.3 从 片 2 代 码 示 例 ........................................................................................................................................4-7<br />
文 档 版 本 00B10 (2009-09-30)<br />
海 思 专 有 和 保 密 信 息<br />
版 权 所 有 © 深 圳 市 海 思 半 导 体 有 限 公 司<br />
i
<strong>Hi3520</strong> 视 频 级 联<br />
开 发 指 南<br />
插 图 目 录<br />
插 图 目 录<br />
图 1-1 视 频 级 联 示 意 图 ...................................................................................................................................1-1<br />
文 档 版 本 00B10 (2009-09-30)<br />
海 思 专 有 和 保 密 信 息<br />
版 权 所 有 © 深 圳 市 海 思 半 导 体 有 限 公 司<br />
iii
<strong>Hi3520</strong> 视 频 级 联<br />
开 发 指 南<br />
前 言<br />
前<br />
言<br />
概 述<br />
本 文 通 过 详 细 描 述 视 频 级 联 的 配 置 流 程 及 配 置 过 程 中 的 注 意 事 项 、 在 API 参 考 的 基 础 上<br />
给 出 应 用 示 例 , 为 实 现 <strong>Hi3520</strong> 的 视 频 级 联 功 能 提 供 参 考 。<br />
产 品 版 本<br />
与 本 文 档 相 对 应 的 产 品 版 本 如 下 。<br />
产 品 名 称<br />
<strong>Hi3520</strong> H.264 编 解 码 处 理 器<br />
产 品 版 本<br />
V100<br />
读 者 对 象<br />
本 文 档 ( 本 指 南 ) 主 要 适 用 于 以 下 工 程 师 :<br />
• 技 术 支 持 工 程 师<br />
• 软 件 开 发 工 程 师<br />
约 定<br />
通 用 格 式 约 定<br />
格 式<br />
说 明<br />
宋 体 正 文 采 用 宋 体 表 示 。<br />
黑 体 一 级 、 二 级 、 三 级 标 题 采 用 黑 体 。<br />
楷 体<br />
警 告 、 提 示 等 内 容 一 律 用 楷 体 , 并 且 在 内 容 前 后 增 加 线 条<br />
与 正 文 隔 离 。<br />
“Terminal Display” 格 式 “Terminal Display” 格 式 表 示 屏 幕 输 出 信 息 。 此 外 , 屏 幕<br />
输 出 信 息 中 夹 杂 的 用 户 从 终 端 输 入 的 信 息 采 用 加 粗 字 体<br />
表 示 。<br />
文 档 版 本 00B10 (2009-09-30)<br />
海 思 专 有 和 保 密 信 息<br />
版 权 所 有 © 深 圳 市 海 思 半 导 体 有 限 公 司<br />
1
前<br />
言<br />
<strong>Hi3520</strong> 视 频 级 联<br />
开 发 指 南<br />
命 令 行 格 式 约 定<br />
格 式<br />
粗 体<br />
斜 体<br />
意 义<br />
命 令 行 关 键 字 ( 命 令 中 保 持 不 变 、 必 须 照 输 的 部 分 ) 采 用<br />
加 粗 字 体 表 示 。<br />
命 令 行 参 数 ( 命 令 中 必 须 由 实 际 值 进 行 替 代 的 部 分 ) 采 用<br />
斜 体 表 示 。<br />
[ ] 表 示 用 “[ ]” 括 起 来 的 部 分 在 命 令 配 置 时 是 可 选 的 。<br />
{ x | y | ... } 表 示 从 两 个 或 多 个 选 项 中 选 取 一 个 。<br />
[ x | y | ... ] 表 示 从 两 个 或 多 个 选 项 中 选 取 一 个 或 者 不 选 。<br />
{ x | y | ... } * 表 示 从 两 个 或 多 个 选 项 中 选 取 多 个 , 最 少 选 取 一 个 , 最 多<br />
选 取 所 有 选 项 。<br />
[ x | y | ... ] * 表 示 从 两 个 或 多 个 选 项 中 选 取 多 个 或 者 不 选 。<br />
表 格 内 容 约 定<br />
内 容<br />
说 明<br />
- 表 格 中 的 无 内 容 单 元 。<br />
* 表 格 中 的 内 容 用 户 可 根 据 需 要 进 行 配 置 。<br />
修 订 记 录<br />
修 订 记 录 累 积 了 每 次 文 档 更 新 的 说 明 。 最 新 版 本 的 文 档 包 含 以 前 所 有 文 档 版 本 的 更 新 内<br />
容 。<br />
修 订 日 期 版 本 修 订 说 明<br />
2009-09-30 00B10 优 化 部 分 描 述 。<br />
2009-09-01 00B01 第 一 次 发 布 。<br />
2<br />
海 思 专 有 和 保 密 信 息<br />
版 权 所 有 © 深 圳 市 海 思 半 导 体 有 限 公 司<br />
文 档 版 本 00B10 (2009-09-30)
<strong>Hi3520</strong> 视 频 级 联<br />
开 发 指 南<br />
1 概 述<br />
1 概 述<br />
<strong>Hi3520</strong> 的 视 频 级 联 指 将 多 片 ( 若 干 从 片 , 一 个 主 片 )<strong>Hi3520</strong> 的 视 频 输 出 图 像 级 联 , 经<br />
过 画 面 合 成 后 在 主 片 的 视 频 输 出 接 口 上 输 出 显 示 。 从 片 通 过 视 频 级 联 , 就 可 将 视 频 图<br />
象 实 时 传 送 到 主 片 , 无 需 借 助 PCI 等 常 规 数 据 传 输 方 式 。<strong>Hi3520</strong> 最 多 可 以 容 纳 32 路<br />
视 频 画 面 合 成 输 出 , 合 成 画 面 的 最 大 尺 寸 1280%1024。<br />
级 联 时 , 从 片 数 可 以 是 2 片 , 也 可 以 更 多 。 图 1-1 显 示 了 三 片 视 频 级 联 的 连 接 示 意 ,<br />
VO 与 VI 之 间 通 过 硬 件 直 连 , 通 过 BT.1120 协 议 以 数 字 信 号 进 行 视 频 数 据 的 传 递 。 级<br />
联 时 需 要 占 用 VO 的 高 清 设 备 (HD) 及 VI 的 0 和 1 设 备 。<br />
图 1-1 视 频 级 联 示 意 图<br />
SLAVE1<br />
SLAVE2<br />
MASTER<br />
VI<br />
VO<br />
VI<br />
VO<br />
VI<br />
VO<br />
显 示 设 备<br />
级 联 时 , 视 频 数 据 传 递 过 程 如 下 :<br />
步 骤 1 从 片 1(SLAVE1) 将 VI 采 集 的 实 时 数 据 或 解 码 数 据 , 直 接 送 给 本 片 VO 输 出 。<br />
步 骤 2 从 片 1 的 VO 通 过 BT.1120 协 议 , 将 数 据 传 递 给 从 片 2 的 VI,VI 将 数 据 采 集 到 片 内 缓<br />
存 。<br />
步 骤 3 从 片 2 的 VO 将 本 片 的 其 他 VI 通 道 采 集 的 实 时 数 据 或 解 码 数 据 与 片 内 缓 存 中 的 数 据 叠<br />
加 后 , 再 通 过 BT.1120 协 议 传 递 给 主 片 VI。<br />
步 骤 4 主 片 VI 将 合 成 画 面 采 集 到 内 存 。 此 时 对 主 片 而 言 合 成 画 面 仅 是 一 路 高 清 视 频 , 与 其 他<br />
VI 通 道 采 集 的 数 据 类 似 。<br />
步 骤 5 主 片 应 用 程 序 将 本 片 的 其 他 VI 通 道 采 集 的 实 时 数 据 或 解 码 数 据 , 与 从 片 2 传 过 来 的 合<br />
成 画 面 再 次 拼 接 后 , 送 给 主 片 VO 输 出 并 显 示 在 终 端 设 备 上 。<br />
文 档 版 本 00B10 (2009-09-30)<br />
海 思 专 有 和 保 密 信 息<br />
版 权 所 有 © 深 圳 市 海 思 半 导 体 有 限 公 司<br />
1-1
1 概 述<br />
<strong>Hi3520</strong> 视 频 级 联<br />
开 发 指 南<br />
---- 结 束<br />
1-2<br />
海 思 专 有 和 保 密 信 息<br />
版 权 所 有 © 深 圳 市 海 思 半 导 体 有 限 公 司<br />
文 档 版 本 00B10 (2009-09-30)
<strong>Hi3520</strong> 视 频 级 联<br />
开 发 指 南<br />
2 级 联 配 置<br />
2 级 联 配 置<br />
2.1 注 意 事 项<br />
<strong>Hi3520</strong> 的 视 频 级 联 配 置 流 程 中 主 要 有 以 下 四 个 重 要 配 置 项 :<br />
• 配 置 级 联 主 从 模 式 ( 主 片 除 外 )<br />
• 配 置 画 面 布 局<br />
• 配 置 级 联 绑 定 的 通 道<br />
• 配 置 级 联 使 能<br />
在 配 置 过 程 中 , 需 要 注 意 以 下 几 点 :<br />
• <strong>Hi3520</strong> 的 视 频 级 联 功 能 只 能 在 高 清 通 道 (HD) 上 进 行 。<br />
• 多 片 视 频 级 联 时 , 主 片 和 从 片 采 用 不 同 的 模 式 :<br />
− 主 片 采 用 非 级 联 模 式 。<br />
− 从 片 采 用 级 联 模 式 , 级 联 模 式 可 分 为 主 模 式 和 从 模 式 。<br />
例 如 , 图 1-1 的 三 片 级 联 应 用 中 , 主 片 (MASTER) 采 用 非 级 联 模 式 , 从 片 1<br />
(SLAVE1) 和 从 片 2(SLAVE2) 都 采 用 级 联 模 式 。 从 片 1 的 VO 设 备 是 BT.1120<br />
时 序 产 生 的 源 头 , 需 要 配 置 成 级 联 主 模 式 ; 从 片 2 的 VO 设 备 继 承 从 片 1 的 时 序<br />
信 号 , 因 此 只 需 要 配 置 成 级 联 从 模 式 。<br />
只 有 从 片 1 需 要 配 置 为 级 联 主 模 式 , 其 他 的 从 片 均 需 配 置 为 级 联 从 模 式 。<br />
2.2 配 置 流 程<br />
以 图 1-1 所 示 的 三 片 级 联 为 例 , 详 细 描 述 级 联 配 置 流 程 , 主 要 包 含 以 下 3 个 方 面 :<br />
• 从 片 1 配 置 流 程<br />
• 从 片 2 配 置 流 程<br />
• 主 片 配 置 流 程<br />
要 求 级 联 画 面 布 局 为 4 画 面 平 分 显 示 , 其 中 ,0、1 画 面 为 从 片 1 预 览 画 面 ;2 画 面 为<br />
从 片 2 预 览 画 面 ;3 画 面 为 主 片 预 览 画 面 。<br />
文 档 版 本 00B10 (2009-09-30)<br />
海 思 专 有 和 保 密 信 息<br />
版 权 所 有 © 深 圳 市 海 思 半 导 体 有 限 公 司<br />
2-1
2 级 联 配 置<br />
<strong>Hi3520</strong> 视 频 级 联<br />
开 发 指 南<br />
2.2.1 从 片 1 配 置 流 程<br />
各 片 的 配 置 流 程 都 是 基 于 4 应 用 示 例 中 的 sample 代 码 进 行 描 述 。<br />
从 片 1 配 置 流 程 如 下 :<br />
步 骤 1 配 置 级 联 模 式 为 主 模 式 , 此 时 要 确 保 HD 接 口 处 于 禁 用 状 态 。<br />
步 骤 2 配 置 HD 输 出 接 口 属 性 , 并 使 能 HD 接 口 。<br />
步 骤 3 配 置 VI 进 行 1D1 的 画 面 采 集 , 该 片 VI 的 4 个 输 入 设 备 都 可 用 。<br />
步 骤 4 配 置 HD 的 视 频 层 并 使 能 。<br />
步 骤 5 配 置 HD 的 通 道 属 性 为 四 画 面 平 分 模 式 , 即 4 个 通 道 , 并 使 能 0、1 通 道 。<br />
步 骤 6 绑 定 VI 输 入 通 道 与 VO 的 输 出 通 道 0、1。<br />
步 骤 7 配 置 级 联 画 面 布 局 为 4 画 面 模 式 , 即 pattern 为 4。<br />
步 骤 8 绑 定 HD 的 0 通 道 与 级 联 位 置 0, 即 pos 为 0。<br />
步 骤 9 绑 定 HD 的 1 通 道 与 级 联 位 置 1, 即 pos 为 1。<br />
步 骤 10 配 置 使 能 级 联 。<br />
---- 结 束<br />
2.2.2 从 片 2 配 置 流 程<br />
从 片 2 配 置 流 程 如 下 :<br />
步 骤 1 配 置 级 联 模 式 为 从 模 式 , 此 时 要 确 保 HD 接 口 处 于 禁 用 状 态 。<br />
步 骤 2 配 置 HD 输 出 接 口 属 性 , 并 使 能 HD 接 口 。<br />
步 骤 3 配 置 VI 进 行 1D1 的 画 面 采 集 , 该 片 VI 只 有 2、3 设 备 可 用 , 因 为 0、1 设 备 被 高 清 级<br />
联 占 用 。<br />
步 骤 4 配 置 HD 的 视 频 层 并 使 能 。<br />
步 骤 5 配 置 HD 的 通 道 属 性 为 四 画 面 平 分 模 式 , 即 4 个 通 道 , 并 使 能 2 通 道 。<br />
步 骤 6 绑 定 VI 输 入 通 道 与 VO 的 输 出 通 道 2。<br />
步 骤 7 配 置 级 联 画 面 布 局 为 4 画 面 模 式 , 即 pattern 为 4。<br />
步 骤 8 绑 定 HD 的 2 通 道 与 级 联 位 置 2, 即 pos 为 2。<br />
步 骤 9 配 置 使 能 级 联 。<br />
---- 结 束<br />
2.2.3 主 片 配 置 流 程<br />
主 片 配 置 流 程 如 下 :<br />
2-2<br />
海 思 专 有 和 保 密 信 息<br />
版 权 所 有 © 深 圳 市 海 思 半 导 体 有 限 公 司<br />
文 档 版 本 00B10 (2009-09-30)
<strong>Hi3520</strong> 视 频 级 联<br />
开 发 指 南<br />
2 级 联 配 置<br />
步 骤 1 配 置 HD 输 出 接 口 属 性 , 并 使 能 HD 接 口 。<br />
步 骤 2 配 置 VI 的 0 设 备 为 高 清 模 式 , 接 口 时 序 为 BT.1120 的 逐 行 模 式 。<br />
步 骤 3 配 置 VI 的 2 或 3 设 备 进 行 1D1 的 画 面 采 集 。<br />
步 骤 4 使 能 VI 的 级 联 功 能 , 主 要 是 用 来 过 滤 级 联 通 道 的 错 误 图 像 。<br />
步 骤 5 配 置 HD 的 视 频 层 并 使 能 。<br />
步 骤 6 配 置 HD 的 通 道 属 性 为 四 画 面 模 式 , 即 4 个 通 道 , 并 使 能 0、3 通 道 , 其 中 0 通 道 的 大<br />
小 是 整 个 显 示 画 面 的 大 小 , 而 其 它 通 道 的 大 小 为 4 画 面 平 分 模 式 的 大 小 。<br />
步 骤 7 绑 定 VI 的 0 设 备 的 0 通 道 和 VO 的 输 出 通 道 0。<br />
步 骤 8 绑 定 VI 的 2 或 3 设 备 的 0 通 道 和 VO 的 输 出 通 道 3。<br />
---- 结 束<br />
文 档 版 本 00B10 (2009-09-30)<br />
海 思 专 有 和 保 密 信 息<br />
版 权 所 有 © 深 圳 市 海 思 半 导 体 有 限 公 司<br />
2-3
<strong>Hi3520</strong> 视 频 级 联<br />
开 发 指 南<br />
3 API 参 考<br />
3 API 参 考<br />
HI_MPI_VO_EnableCascade<br />
【 描 述 】<br />
使 能 视 频 级 联 。<br />
【 语 法 】<br />
HI_S32 HI_MPI_VO_EnableCascade (HI_VOID);<br />
【 参 数 】<br />
无 。<br />
【 返 回 值 】<br />
返 回 值<br />
描 述<br />
0 成 功 。<br />
非 0 失 败 , 其 值 为 错 误 码 。<br />
【 错 误 码 】<br />
接 口 返 回 值<br />
含 义<br />
HI_SUCCESS 成 功 。<br />
HI_ERR_VO_SYS_NOTREADY 系 统 未 准 备 好 。<br />
HI_ERR_VO_DEV_NOT_ENABLE 设 备 未 使 能 。<br />
HI_ERR_VO_VIDEO_NOT_ENABLE 视 频 层 未 使 能 。<br />
【 需 求 】<br />
• 头 文 件 :mpi_vo.h、hi_comm_vo.h<br />
文 档 版 本 00B10 (2009-09-30)<br />
海 思 专 有 和 保 密 信 息<br />
版 权 所 有 © 深 圳 市 海 思 半 导 体 有 限 公 司<br />
3-1
3 API 参 考<br />
<strong>Hi3520</strong> 视 频 级 联<br />
开 发 指 南<br />
• 库 文 件 :libmpi.a<br />
【 注 意 】<br />
• 级 联 功 能 只 能 在 高 清 设 备 上 进 行 。<br />
• 级 联 使 能 前 必 须 保 证 高 清 设 备 使 能 和 该 设 备 上 的 视 频 层 使 能 。<br />
【 举 例 】<br />
请 参 见 “4 应 用 示 例 ”。<br />
【 相 关 主 题 】<br />
HI_MPI_VO_DisableCascade<br />
HI_MPI_VO_DisableCascade<br />
【 描 述 】<br />
禁 止 视 频 级 联 。<br />
【 语 法 】<br />
HI_S32 HI_MPI_VO_DisableCascade(HI_VOID);<br />
【 参 数 】<br />
无 。<br />
【 返 回 值 】<br />
返 回 值<br />
描 述<br />
0 成 功 。<br />
非 0 失 败 , 其 值 为 错 误 码 。<br />
【 错 误 码 】<br />
接 口 返 回 值<br />
含 义<br />
HI_SUCCESS 成 功 。<br />
HI_ERR_VO_SYS_NOTREADY 系 统 未 准 备 好 。<br />
【 需 求 】<br />
• 头 文 件 :mpi_vo.h、hi_comm_vo.h<br />
• 库 文 件 :libmpi.a<br />
【 注 意 】<br />
无 。<br />
3-2<br />
海 思 专 有 和 保 密 信 息<br />
版 权 所 有 © 深 圳 市 海 思 半 导 体 有 限 公 司<br />
文 档 版 本 00B10 (2009-09-30)
<strong>Hi3520</strong> 视 频 级 联<br />
开 发 指 南<br />
3 API 参 考<br />
【 举 例 】<br />
请 参 见 “4 应 用 示 例 ”。<br />
【 相 关 主 题 】<br />
HI_MPI_VO_EnableCascade<br />
HI_MPI_VO_SetCascadeMode<br />
【 描 述 】<br />
设 置 视 频 级 联 模 式 。<br />
【 语 法 】<br />
HI_S32 HI_MPI_VO_SetCascadeMode(HI_BOOL bSlave);<br />
【 参 数 】<br />
参 数 名 称 描 述 输 入 / 输 出<br />
bSlave 视 频 输 出 级 联 模 式 。<br />
• TRUE: 从 模 式 。<br />
• FALSE: 主 模 式 。<br />
输 入<br />
【 返 回 值 】<br />
返 回 值<br />
描 述<br />
0 成 功 。<br />
非 0 失 败 , 其 值 为 错 误 码 。<br />
【 错 误 码 】<br />
接 口 返 回 值<br />
含 义<br />
HI_SUCCESS 成 功 。<br />
HI_ERR_VO_SYS_NOTREADY 系 统 未 准 备 好 。<br />
HI_ERR_VO_BUSY 视 频 输 出 设 备 忙 。<br />
【 需 求 】<br />
• 头 文 件 :mpi_vo.h、hi_comm_vo.h<br />
• 库 文 件 :libmpi.a<br />
【 注 意 】<br />
文 档 版 本 00B10 (2009-09-30)<br />
海 思 专 有 和 保 密 信 息<br />
版 权 所 有 © 深 圳 市 海 思 半 导 体 有 限 公 司<br />
3-3
3 API 参 考<br />
<strong>Hi3520</strong> 视 频 级 联<br />
开 发 指 南<br />
• 设 置 视 频 级 联 模 式 必 须 在 设 备 使 能 之 前 进 行 , 即 必 须 保 证 设 备 已 禁 止 。<br />
• 级 联 时 的 第 一 从 片 设 置 为 主 模 式 , 其 它 从 片 设 置 为 从 模 式 。<br />
【 举 例 】<br />
请 参 见 “4 应 用 示 例 ”。<br />
【 相 关 主 题 】<br />
HI_MPI_VO_GetCascadeMode<br />
HI_MPI_VO_GetCascadeMode<br />
【 描 述 】<br />
获 取 视 频 级 联 模 式 。<br />
【 语 法 】<br />
HI_S32 HI_MPI_VO_GetCascadeMode(HI_BOOL *pbSlave);<br />
【 参 数 】<br />
参 数 名 称 描 述 输 入 / 输 出<br />
pbSlave 视 频 输 出 级 联 模 式 指 针 。 输 出<br />
【 返 回 值 】<br />
返 回 值<br />
描 述<br />
0 成 功 。<br />
非 0 失 败 , 其 值 为 错 误 码 。<br />
【 错 误 码 】<br />
接 口 返 回 值<br />
含 义<br />
HI_SUCCESS 成 功 。<br />
HI_ERR_VO_SYS_NOTREADY 系 统 未 准 备 好 。<br />
HI_ERR_VO_NULL_PTR 参 数 空 指 针 。<br />
【 需 求 】<br />
• 头 文 件 :mpi_vo.h、hi_comm_vo.h<br />
• 库 文 件 :libmpi.a<br />
3-4<br />
海 思 专 有 和 保 密 信 息<br />
版 权 所 有 © 深 圳 市 海 思 半 导 体 有 限 公 司<br />
文 档 版 本 00B10 (2009-09-30)
<strong>Hi3520</strong> 视 频 级 联<br />
开 发 指 南<br />
3 API 参 考<br />
【 注 意 】<br />
无 。<br />
【 举 例 】<br />
请 参 见 “4 应 用 示 例 ”。<br />
【 相 关 主 题 】<br />
HI_MPI_VO_SetCascadeMode<br />
HI_MPI_VO_SetCascadePattern<br />
【 描 述 】<br />
设 置 视 频 级 联 画 面 样 式 。<br />
【 语 法 】<br />
HI_S32 HI_MPI_VO_SetCascadePattern(HI_U32 u32Pattern);<br />
【 参 数 】<br />
参 数 名 称 描 述 输 入 / 输 出<br />
u32Pattern 视 频 级 联 画 面 布 局 样 式 。<br />
取 值 范 围 :[0, 127]。<br />
输 入<br />
【 返 回 值 】<br />
返 回 值<br />
描 述<br />
0 成 功 。<br />
非 0 失 败 , 其 值 为 错 误 码 。<br />
【 错 误 码 】<br />
接 口 返 回 值<br />
含 义<br />
HI_SUCCESS 成 功 。<br />
HI_ERR_VO_SYS_NOTREADY 系 统 未 准 备 好 。<br />
HI_ERR_VO_INVALID_PATTERN 无 效 的 样 式 。<br />
【 需 求 】<br />
• 头 文 件 :mpi_vo.h、hi_comm_vo.h<br />
• 库 文 件 :libmpi.a<br />
文 档 版 本 00B10 (2009-09-30)<br />
海 思 专 有 和 保 密 信 息<br />
版 权 所 有 © 深 圳 市 海 思 半 导 体 有 限 公 司<br />
3-5
3 API 参 考<br />
<strong>Hi3520</strong> 视 频 级 联<br />
开 发 指 南<br />
【 注 意 】<br />
画 面 布 局 样 式 是 一 个 小 于 128 的 正 整 数 , 它 的 主 要 作 用 是 检 测 各 片 之 间 传 输 图 像 的 一<br />
致 性 。 即 如 果 要 保 证 图 像 传 输 的 正 确 性 , 就 必 须 保 证 各 片 的 pattern 一 致 。<br />
• 用 pattern 来 标 识 当 前 画 面 布 局 样 式 , 如 4 画 面 、9 画 面 、16 画 面 的 pattern 对 应 设<br />
置 为 4、9、16。 设 置 的 patten 值 不 必 和 画 面 布 局 样 式 中 的 画 面 个 数 一 致 , 只 要 保<br />
证 各 片 设 置 的 pattern 值 一 致 即 可 , 如 也 可 以 用 1 来 表 示 每 个 片 子 上 都 是 16 分 屏<br />
的 画 面 布 局 。<br />
• 使 用 pattern 的 另 一 个 作 用 是 确 保 多 画 面 切 换 时 的 同 步 性 。 当 级 联 的 芯 片 正 在 进 行<br />
4 画 面 显 示 时 , 其 中 一 片 先 切 换 到 9 画 面 , 而 其 它 片 子 陆 续 切 换 为 9 画 面 , 如 果<br />
pattern 始 终 不 变 , 画 面 就 会 在 切 换 过 程 中 出 现 错 误 的 几 帧 。 但 是 如 果 在 4 画 面 时<br />
pattern 设 置 为 4, 在 9 画 面 时 pattern 设 置 为 9, 那 么 切 换 过 程 中 出 现 的 错 误 图 像<br />
就 会 被 丢 弃 , 保 证 画 面 切 换 的 正 确 性 。<br />
【 举 例 】<br />
请 参 见 “4 应 用 示 例 ”。<br />
【 相 关 主 题 】<br />
HI_MPI_VO_GetCascadePattern<br />
HI_MPI_VO_GetCascadePattern<br />
【 描 述 】<br />
获 取 视 频 级 联 画 面 样 式 。<br />
【 语 法 】<br />
HI_S32 HI_MPI_VO_GetCascadePattern(HI_U32 *pu32Pattern);<br />
【 参 数 】<br />
参 数 名 称 描 述 输 入 / 输 出<br />
pu32Pattern 视 频 级 联 画 面 布 局 样 式 指 针 。 输 出<br />
【 返 回 值 】<br />
返 回 值<br />
描 述<br />
0 成 功 。<br />
非 0 失 败 , 其 值 为 错 误 码 。<br />
【 错 误 码 】<br />
3-6<br />
海 思 专 有 和 保 密 信 息<br />
版 权 所 有 © 深 圳 市 海 思 半 导 体 有 限 公 司<br />
文 档 版 本 00B10 (2009-09-30)
<strong>Hi3520</strong> 视 频 级 联<br />
开 发 指 南<br />
3 API 参 考<br />
接 口 返 回 值<br />
含 义<br />
HI_SUCCESS 成 功 。<br />
HI_ERR_VO_SYS_NOTREADY 系 统 未 准 备 好 。<br />
【 需 求 】<br />
• 头 文 件 :mpi_vo.h、hi_comm_vo.h<br />
• 库 文 件 :libmpi.a<br />
【 注 意 】<br />
无 。<br />
【 举 例 】<br />
请 参 见 “4 应 用 示 例 ”。<br />
【 相 关 主 题 】<br />
HI_MPI_VO_SetCascadePattern<br />
HI_MPI_VO_CascadePosBindChn<br />
【 描 述 】<br />
绑 定 级 联 区 域 与 视 频 输 出 通 道 。<br />
【 语 法 】<br />
HI_S32 HI_MPI_VO_CascadePosBindChn (HI_U32 u32Pos, VO_CHN VoChn);<br />
【 参 数 】<br />
参 数 名 称 描 述 输 入 / 输 出<br />
u32Pos 视 频 级 联 位 置 编 号 。<br />
取 值 范 围 :[0, 31]。<br />
VoChn 视 频 层 通 道 号 。<br />
取 值 范 围 :[0, 31]。<br />
输 入<br />
输 入<br />
【 返 回 值 】<br />
返 回 值<br />
描 述<br />
0 成 功 。<br />
非 0 失 败 , 其 值 为 错 误 码 。<br />
文 档 版 本 00B10 (2009-09-30)<br />
海 思 专 有 和 保 密 信 息<br />
版 权 所 有 © 深 圳 市 海 思 半 导 体 有 限 公 司<br />
3-7
3 API 参 考<br />
<strong>Hi3520</strong> 视 频 级 联<br />
开 发 指 南<br />
【 错 误 码 】<br />
接 口 返 回 值<br />
含 义<br />
HI_SUCCESS 成 功 。<br />
HI_ERR_VO_SYS_NOTREADY 系 统 未 准 备 好 。<br />
HI_ERR_VO_DEV_NOT_ENABLE 视 频 输 出 设 备 为 使 能 。<br />
HI_ERR_VO_INVALID_POSITION 无 效 的 级 联 位 置 编 号 。<br />
HI_ERR_VO_INVALID_CHNID 通 道 号 无 效 。<br />
HI_ERR_VO_CHN_NOT_ALLOC 通 道 资 源 未 分 配 。<br />
HI_ERR_VO_CHN_NOT_CONFIG 通 道 未 配 置 。<br />
【 需 求 】<br />
• 头 文 件 :mpi_vo.h、hi_comm_vo.h<br />
• 库 文 件 :libmpi.a<br />
【 注 意 】<br />
• 视 频 级 联 位 置 编 号 必 须 在 所 有 的 级 联 芯 片 上 是 唯 一 标 识 的 , 也 就 是 级 联 最 多 可 以<br />
输 出 32 个 通 道 。<br />
• Pos 的 值 不 能 有 重 复 的 , 如 果 存 在 两 个 或 者 两 个 以 上 通 道 的 Pos 值 相 同 , 那 么 传 输<br />
图 像 就 会 错 误 。Pos 相 当 于 给 Chn 取 了 个 别 名 , 所 有 需 要 级 联 的 通 道 都 必 须 有 一<br />
个 名 字 区 别 于 其 它 通 道 , 这 样 才 能 保 证 传 输 图 像 的 正 确 性 。<br />
【 举 例 】<br />
请 参 见 “4 应 用 示 例 ”。<br />
【 相 关 主 题 】<br />
HI_MPI_VO_CascadePosUnBindChn<br />
HI_MPI_VO_CascadePosUnBindChn<br />
【 描 述 】<br />
解 绑 定 级 联 区 域 与 视 频 输 出 通 道 。<br />
【 语 法 】<br />
HI_S32 HI_MPI_VO_CascadePosUnBindChn(HI_U32 u32Pos, VO_CHN VoChn);<br />
【 参 数 】<br />
3-8<br />
海 思 专 有 和 保 密 信 息<br />
版 权 所 有 © 深 圳 市 海 思 半 导 体 有 限 公 司<br />
文 档 版 本 00B10 (2009-09-30)
<strong>Hi3520</strong> 视 频 级 联<br />
开 发 指 南<br />
3 API 参 考<br />
参 数 名 称 描 述 输 入 / 输 出<br />
u32Pos 视 频 级 联 位 置 编 号 。<br />
取 值 范 围 :[0, 31]。<br />
VoChn 视 频 层 通 道 号 。<br />
取 值 范 围 :[0, 31]。<br />
输 入<br />
输 入<br />
【 返 回 值 】<br />
返 回 值<br />
描 述<br />
0 成 功 。<br />
非 0 失 败 , 其 值 为 错 误 码 。<br />
【 错 误 码 】<br />
接 口 返 回 值<br />
含 义<br />
HI_SUCCESS 成 功 。<br />
HI_ERR_VO_SYS_NOTREADY 系 统 未 准 备 好 。<br />
HI_ERR_VO_DEV_NOT_ENABLE 视 频 输 出 设 备 为 使 能 。<br />
HI_ERR_VO_INVALID_POSITION 无 效 的 级 联 位 置 编 号 。<br />
HI_ERR_VO_INVALID_CHNID 通 道 号 无 效 。<br />
HI_ERR_VO_CHN_NOT_ALLOC 通 道 资 源 未 分 配 。<br />
HI_ERR_VO_CHN_NOT_CONFIG 通 道 未 配 置 。<br />
【 需 求 】<br />
• 头 文 件 :mpi_vo.h、hi_comm_vo.h<br />
• 库 文 件 :libmpi.a<br />
【 注 意 】<br />
视 频 级 联 位 置 编 号 必 须 在 所 有 的 级 联 芯 片 上 是 唯 一 标 识 的 , 也 就 是 级 联 最 多 可 以 输 出<br />
32 个 通 道 。<br />
【 举 例 】<br />
请 参 见 “4 应 用 示 例 ”。<br />
【 相 关 主 题 】<br />
文 档 版 本 00B10 (2009-09-30)<br />
海 思 专 有 和 保 密 信 息<br />
版 权 所 有 © 深 圳 市 海 思 半 导 体 有 限 公 司<br />
3-9
3 API 参 考<br />
<strong>Hi3520</strong> 视 频 级 联<br />
开 发 指 南<br />
HI_MPI_VO_CascadePosBindChn<br />
3-10<br />
海 思 专 有 和 保 密 信 息<br />
版 权 所 有 © 深 圳 市 海 思 半 导 体 有 限 公 司<br />
文 档 版 本 00B10 (2009-09-30)
<strong>Hi3520</strong> 视 频 级 联<br />
开 发 指 南<br />
4 应 用 示 例<br />
4 应 用 示 例<br />
Hi320 视 频 级 联 的 功 能 实 现 需 要 在 各 个 片 上 进 行 不 同 的 配 置 , 其 中 三 片 级 联 最 具 有 代 表<br />
性 和 可 扩 展 性 。 主 片 处 于 非 级 联 模 式 , 从 片 第 一 片 采 用 级 联 主 模 式 , 其 它 从 片 都 采 用<br />
级 联 从 模 式 , 若 进 行 三 片 以 上 的 级 联 , 只 需 复 制 三 片 级 联 用 例 中 的 第 二 片 配 置 即 可 。<br />
下 面 提 供 三 片 级 联 时 各 片 的 代 码 片 段 供 参 考 :<br />
• 从 片 1 代 码 示 例<br />
• 从 片 2 代 码 示 例<br />
• 主 片 代 码 示 例<br />
4.1 从 片 1 代 码 示 例<br />
/************************************************************************<br />
*******<br />
* Function : Sample_Cascade_Slave1<br />
* Description : 级 联 演 示 用 例 从 片 1<br />
* Title : 级 联 四 画 面 预 览 从 片 1 VGA 1280x1024<br />
* Criticality : H<br />
* Pre-Condition : 三 片 级 联 , 从 1-> 从 2-> 主<br />
* Input : 2D1 预 览 图 像<br />
* Expected : 从 片 1 图 像 显 示 在 四 画 面 的 第 1 和 第 2 通 道<br />
* Remark :<br />
* Date :<br />
*************************************************************************<br />
******/<br />
HI_S32 Sample_Cascade_Slave1(HI_VOID)<br />
{<br />
HI_U32 i;<br />
HI_S32 s32Ret;<br />
HI_U32 u32Pos = 0;<br />
HI_U32 u32Pattern = 4;<br />
文 档 版 本 00B10 (2009-09-30)<br />
海 思 专 有 和 保 密 信 息<br />
版 权 所 有 © 深 圳 市 海 思 半 导 体 有 限 公 司<br />
4-1
4 应 用 示 例<br />
<strong>Hi3520</strong> 视 频 级 联<br />
开 发 指 南<br />
HI_U32 u32Width = 1024, u32Height = 768;<br />
HI_U32 u32HalfWidth = u32Width/2, u32HalfHeight = u32Height/2;<br />
VO_INTF_SYNC_E mode = VO_OUTPUT_1024x768_60;<br />
VO_CHN_ATTR_S stChnAttr[4] = {{1,<br />
{0,0,u32HalfWidth,u32HalfHeight},HI_TRUE, HI_FALSE},<br />
{1, {u32HalfWidth,0,u32HalfWidth,u32HalfHeight},HI_TRUE,<br />
HI_FALSE},<br />
{1, {0,u32HalfHeight,u32HalfWidth,u32HalfHeight},HI_TRUE,<br />
HI_FALSE},<br />
{1,<br />
{u32HalfWidth,u32HalfHeight,u32HalfWidth,u32HalfHeight},HI_TRUE,<br />
HI_FALSE}};<br />
VO_VIDEO_LAYER_ATTR_S stLayerAttr =<br />
{{0,0,u32Width,u32Height},{u32Width,u32Height},<br />
25,PIXEL_FORMAT_YUV_SEMIPLANAR_422,VO_DEFAULT_CHN};;<br />
TITLE("CASCADE SLAVE1: 4xCIF MODE");<br />
/* to ensure HD interface is disabled */<br />
(HI_VOID)HI_MPI_VO_Disable(HD);<br />
/* set cascade mode */<br />
s32Ret = HI_MPI_VO_SetCascadeMode(HI_FALSE);<br />
if (s32Ret != HI_SUCCESS)<br />
{<br />
printf("set cascade mode faild with errno %#x\n", s32Ret);<br />
return HI_FAILURE;<br />
}<br />
/* configure and enalbe VO HD interface */<br />
if (HI_SUCCESS != SetVouDev(HD, VO_BKGRD_BLUE, VO_CCD_SLAVE_INTF,<br />
mode))<br />
{<br />
printf("Enalbe vo hd interface failed!\n");<br />
return HI_FAILURE;<br />
}<br />
/* configure and enable VI device 0, 1 */<br />
if (HI_SUCCESS != StartViDev12(2, VI_SIZE_D1,<br />
PIXEL_FORMAT_YUV_SEMIPLANAR_422, VI_MODE_BT656,<br />
VI_WORK_MODE_4D1))<br />
4-2<br />
海 思 专 有 和 保 密 信 息<br />
版 权 所 有 © 深 圳 市 海 思 半 导 体 有 限 公 司<br />
文 档 版 本 00B10 (2009-09-30)
<strong>Hi3520</strong> 视 频 级 联<br />
开 发 指 南<br />
4 应 用 示 例<br />
{<br />
}<br />
printf("Enable vi device 0, 1 failed!\n");<br />
return HI_FAILURE;<br />
/* configure and enable HD video layer */<br />
if (HI_SUCCESS != StartVideoLayer(HD, &stLayerAttr))<br />
{<br />
printf("Enalbe HD video layer failed!\n");<br />
return HI_FAILURE;<br />
}<br />
/* configure and enable vo HD channel 0, 1 */<br />
for (i = 0 ; i < 2 ; i++)<br />
{<br />
if (HI_SUCCESS != HI_MPI_VO_SetChnAttr(HD, i, &stChnAttr[i]))<br />
{<br />
printf("Set channel %d attribute failed!\n", i);<br />
return HI_FAILURE;<br />
}<br />
if (HI_SUCCESS != HI_MPI_VO_EnableChn(HD, i))<br />
{<br />
printf("Enable channel %d attribute failed!\n", i);<br />
return HI_FAILURE;<br />
}<br />
}<br />
if (HI_SUCCESS != HI_MPI_VI_BindOutput(0, i, HD, i))<br />
{<br />
printf("vi bind vo channel %d attribute failed!\n", i);<br />
return HI_FAILURE;<br />
}<br />
/* set cascade pattern */<br />
s32Ret = HI_MPI_VO_SetCascadePattern(u32Pattern);<br />
if (s32Ret != HI_SUCCESS)<br />
{<br />
printf("set cascade pattern faild with errno %#x\n", s32Ret);<br />
return HI_FAILURE;<br />
}<br />
/* set cascade postion */<br />
for (i = 0 ; i < 2 ; i++)<br />
文 档 版 本 00B10 (2009-09-30)<br />
海 思 专 有 和 保 密 信 息<br />
版 权 所 有 © 深 圳 市 海 思 半 导 体 有 限 公 司<br />
4-3
4 应 用 示 例<br />
<strong>Hi3520</strong> 视 频 级 联<br />
开 发 指 南<br />
{<br />
}<br />
s32Ret = HI_MPI_VO_CascadePosBindChn(i, i);<br />
if (s32Ret != HI_SUCCESS)<br />
{<br />
printf("set cascade position faild with errno %#x\n", s32Ret);<br />
return HI_FAILURE;<br />
}<br />
/* enable cascade */<br />
s32Ret = HI_MPI_VO_EnableCascade();<br />
{<br />
printf("enable cascade faild with errno %#x\n", s32Ret);<br />
return HI_FAILURE;<br />
}<br />
while(1);<br />
}<br />
return HI_SUCCESS;<br />
4.2 从 片 2 代 码 示 例<br />
/************************************************************************<br />
*******<br />
* Function : Sample_Cascade_Slave2<br />
* Description : 级 联 演 示 用 例 从 片 2<br />
* Title : 级 联 四 画 面 预 览 从 片 1 VGA 1280x1024<br />
* Criticality : H<br />
* Pre-Condition : 三 片 级 联 , 从 1-> 从 2-> 主<br />
* Input : 1D1 预 览 图 像<br />
* Expected : 从 片 2 图 像 显 示 在 四 画 面 的 第 3 通 道<br />
* Remark :<br />
* Date :<br />
*************************************************************************<br />
******/<br />
HI_S32 Sample_Cascade_Slave2(HI_VOID)<br />
{<br />
HI_U32 i;<br />
HI_S32 s32Ret;<br />
HI_U32 u32Pos = 2;<br />
HI_U32 u32Pattern = 4;<br />
4-4<br />
海 思 专 有 和 保 密 信 息<br />
版 权 所 有 © 深 圳 市 海 思 半 导 体 有 限 公 司<br />
文 档 版 本 00B10 (2009-09-30)
<strong>Hi3520</strong> 视 频 级 联<br />
开 发 指 南<br />
4 应 用 示 例<br />
HI_U32 u32Width = 1024, u32Height = 768;<br />
HI_U32 u32HalfWidth = u32Width/2, u32HalfHeight = u32Height/2;<br />
VO_INTF_SYNC_E mode = VO_OUTPUT_1024x768_60;<br />
VO_CHN_ATTR_S stChnAttr[4] = {{1,<br />
{0,0,u32HalfWidth,u32HalfHeight},HI_TRUE, HI_FALSE},<br />
{1, {u32HalfWidth,0,u32HalfWidth,u32HalfHeight},HI_TRUE, HI_FALSE},<br />
{1, {0,u32HalfHeight,u32HalfWidth,u32HalfHeight},HI_TRUE,<br />
HI_FALSE},<br />
{1,<br />
{u32HalfWidth,u32HalfHeight,u32HalfWidth,u32HalfHeight},HI_TRUE,<br />
HI_FALSE}};<br />
VO_VIDEO_LAYER_ATTR_S stLayerAttr =<br />
{{0,0,u32Width,u32Height},{u32Width,u32Height},<br />
25,PIXEL_FORMAT_YUV_SEMIPLANAR_422,VO_DEFAULT_CHN};;<br />
TITLE("CASCADE SLAVE2: 4xCIF MODE");<br />
/* to ensure HD interface is disabled */<br />
(HI_VOID)HI_MPI_VO_Disable(HD);<br />
/* set cascade mode */<br />
s32Ret = HI_MPI_VO_SetCascadeMode(HI_TRUE);<br />
if (s32Ret != HI_SUCCESS)<br />
{<br />
printf("set cascade mode faild with errno %#x\n", s32Ret);<br />
return HI_FAILURE;<br />
}<br />
/* configure and enalbe VO HD interface */<br />
if (HI_SUCCESS != SetVouDev(HD, VO_BKGRD_BLUE, VO_CCD_SLAVE_INTF,<br />
mode))<br />
{<br />
printf("Enalbe vo hd interface failed!\n");<br />
return HI_FAILURE;<br />
}<br />
/* configure and enable VI device 2, 3 */<br />
if (HI_SUCCESS != StartViDev34(1, VI_SIZE_D1,<br />
PIXEL_FORMAT_YUV_SEMIPLANAR_422, VI_MODE_BT656,<br />
VI_WORK_MODE_4D1))<br />
文 档 版 本 00B10 (2009-09-30)<br />
海 思 专 有 和 保 密 信 息<br />
版 权 所 有 © 深 圳 市 海 思 半 导 体 有 限 公 司<br />
4-5
4 应 用 示 例<br />
<strong>Hi3520</strong> 视 频 级 联<br />
开 发 指 南<br />
{<br />
}<br />
printf("Enable vi device 0, 1 failed!\n");<br />
return HI_FAILURE;<br />
/* configure and enable HD video layer */<br />
if (HI_SUCCESS != StartVideoLayer(HD, &stLayerAttr))<br />
{<br />
printf("Enalbe HD video layer failed!\n");<br />
return HI_FAILURE;<br />
}<br />
/* configure and enable vo HD channel 2 */<br />
if (HI_SUCCESS != HI_MPI_VO_SetChnAttr(HD, 2, &stChnAttr[2]))<br />
{<br />
printf("Set channel 2 attribute failed!\n");<br />
return HI_FAILURE;<br />
}<br />
if (HI_SUCCESS != HI_MPI_VO_EnableChn(HD, 2))<br />
{<br />
printf("Enable channel 2 attribute failed!\n");<br />
return HI_FAILURE;<br />
}<br />
if (HI_SUCCESS != HI_MPI_VI_BindOutput(2, 0, HD, 2))<br />
{<br />
printf("vi bind vo channel 2 attribute failed!\n");<br />
return HI_FAILURE;<br />
}<br />
/* set cascade pattern */<br />
s32Ret = HI_MPI_VO_SetCascadePattern(u32Pattern);<br />
if (s32Ret != HI_SUCCESS)<br />
{<br />
printf("set cascade pattern faild with errno %#x\n", s32Ret);<br />
return HI_FAILURE;<br />
}<br />
/* set cascade postion */<br />
s32Ret = HI_MPI_VO_CascadePosBindChn(2, 2);<br />
if (s32Ret != HI_SUCCESS)<br />
{<br />
printf("set cascade position faild with errno %#x\n", s32Ret);<br />
4-6<br />
海 思 专 有 和 保 密 信 息<br />
版 权 所 有 © 深 圳 市 海 思 半 导 体 有 限 公 司<br />
文 档 版 本 00B10 (2009-09-30)
<strong>Hi3520</strong> 视 频 级 联<br />
开 发 指 南<br />
4 应 用 示 例<br />
}<br />
return HI_FAILURE;<br />
/* enable cascade */<br />
s32Ret = HI_MPI_VO_EnableCascade();<br />
{<br />
printf("enable cascade faild with errno %#x\n", s32Ret);<br />
return HI_FAILURE;<br />
}<br />
while(1);<br />
}<br />
return HI_SUCCESS;<br />
4.3 主 片 代 码 示 例<br />
/*************************************************************<br />
* Function : Sample_Cascade_Master<br />
* Description : 级 联 演 示 用 例 主 片<br />
* Title : 级 联 四 画 面 预 览 主 片 VGA 1280x1024<br />
* Criticality : H<br />
* Pre-Condition : 三 片 级 联 , 从 1-> 从 2-> 主<br />
* Input : 1D1 预 览 图 像<br />
* Expected : 主 片 图 像 显 示 在 四 画 面 的 第 4 通 道<br />
* Remark :<br />
* Date :<br />
*********************************************************************/<br />
HI_S32 Sample_Cascade_Master(HI_VOID)<br />
{<br />
HI_U32 i;<br />
HI_S32 s32Ret;<br />
HI_U32 u32Width = 1024, u32Height = 768;<br />
HI_U32 u32HalfWidth = u32Width/2, u32HalfHeight = u32Height/2;<br />
VO_INTF_SYNC_E mode = VO_OUTPUT_1024x768_60;<br />
/* note: channel 0 is different with others */<br />
VO_CHN_ATTR_S stChnAttr[4] = {{1, {0,0,u32Width,u32Height},HI_TRUE,<br />
HI_FALSE},<br />
{1, {u32HalfWidth,0,u32HalfWidth,u32HalfHeight},HI_TRUE, HI_FALSE},<br />
{1, {0,u32HalfHeight,u32HalfWidth,u32HalfHeight},HI_TRUE,<br />
文 档 版 本 00B10 (2009-09-30)<br />
海 思 专 有 和 保 密 信 息<br />
版 权 所 有 © 深 圳 市 海 思 半 导 体 有 限 公 司<br />
4-7
4 应 用 示 例<br />
<strong>Hi3520</strong> 视 频 级 联<br />
开 发 指 南<br />
HI_FALSE},<br />
{1,<br />
{u32HalfWidth,u32HalfHeight,u32HalfWidth,u32HalfHeight},HI_TRUE,<br />
HI_FALSE}};<br />
VO_VIDEO_LAYER_ATTR_S stLayerAttr =<br />
{{0,0,u32Width,u32Height},{u32Width,u32Height},<br />
25,PIXEL_FORMAT_YUV_SEMIPLANAR_422,VO_DEFAULT_CHN};;<br />
TITLE("CASCADE MASTER: 4xCIF MODE");<br />
/* start vi HD channel as cascade receiver */<br />
s_enViInputMode = VI_MODE_BT1120_PROGRESSIVE;<br />
if (HI_SUCCESS != StartViHD(gs_u32CscdChnCnt, u32Width, u32Height,<br />
60, gs_u32CscdTarFrmRate))<br />
{<br />
printf("start vi hd mode failed!\n");<br />
return HI_FAILURE;<br />
}<br />
/* configure and enable VI device 2, 3 for local video input */<br />
if (HI_SUCCESS != StartViDev34(1, VI_SIZE_D1,<br />
PIXEL_FORMAT_YUV_SEMIPLANAR_422, VI_MODE_BT656,<br />
VI_WORK_MODE_4D1))<br />
{<br />
printf("Enable vi device 0, 1 failed!\n");<br />
return HI_FAILURE;<br />
}<br />
/* configure and enalbe VO HD interface */<br />
if (HI_SUCCESS != SetVouDev(HD, VO_BKGRD_BLUE, VO_CCD_SLAVE_INTF,<br />
mode))<br />
{<br />
printf("Enalbe vo hd interface failed!\n");<br />
return HI_FAILURE;<br />
}<br />
/* configure and enable HD video layer */<br />
if (HI_SUCCESS != StartVideoLayer(HD, &stLayerAttr))<br />
{<br />
printf("Enalbe HD video layer failed!\n");<br />
return HI_FAILURE;<br />
}<br />
4-8<br />
海 思 专 有 和 保 密 信 息<br />
版 权 所 有 © 深 圳 市 海 思 半 导 体 有 限 公 司<br />
文 档 版 本 00B10 (2009-09-30)
<strong>Hi3520</strong> 视 频 级 联<br />
开 发 指 南<br />
4 应 用 示 例<br />
/* configure and enable vo HD channel 0 to receive cascade picture */<br />
if (HI_SUCCESS != HI_MPI_VO_SetChnAttr(HD, 0, &stChnAttr[0]))<br />
{<br />
printf("Set channel 2 attribute failed!\n");<br />
return HI_FAILURE;<br />
}<br />
if (HI_SUCCESS != HI_MPI_VO_EnableChn(HD, 0))<br />
{<br />
printf("Enable channel 2 attribute failed!\n");<br />
return HI_FAILURE;<br />
}<br />
/* configure and enable vo HD channel 3 to overlap local picture */<br />
if (HI_SUCCESS != HI_MPI_VO_SetChnAttr(HD, 3, &stChnAttr[3]))<br />
{<br />
printf("Set channel 2 attribute failed!\n");<br />
return HI_FAILURE;<br />
}<br />
if (HI_SUCCESS != HI_MPI_VO_EnableChn(HD, 3))<br />
{<br />
printf("Enable channel 2 attribute failed!\n");<br />
return HI_FAILURE;<br />
}<br />
/* bind hd channel 0 with vi channel 0 to receive cascade picture */<br />
if (HI_SUCCESS != HI_MPI_VI_BindOutput(0, 0, HD, 0))<br />
{<br />
printf("vi bind vo channel 2 attribute failed!\n");<br />
return HI_FAILURE;<br />
}<br />
/* bind hd channel 3 to overlap local picture */<br />
if (HI_SUCCESS != HI_MPI_VI_BindOutput(2, 0, HD, 3))<br />
{<br />
printf("vi bind vo channel 2 attribute failed!\n");<br />
return HI_FAILURE;<br />
}<br />
while(1);<br />
}<br />
return HI_SUCCESS;<br />
文 档 版 本 00B10 (2009-09-30)<br />
海 思 专 有 和 保 密 信 息<br />
版 权 所 有 © 深 圳 市 海 思 半 导 体 有 限 公 司<br />
4-9