18.04.2014 Views

Hi3520 视频级联.pdf

Hi3520 视频级联.pdf

Hi3520 视频级联.pdf

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!