5.10.1. GDC_Overview
5.10.1.1. 概述
GDC API 属于 HBN 框架
的 一部分, 作为 一个 vnode,可以 和 其他 vnode 连接起来 形成 vflow。关于 HBN 框架,可以 参考 HBN 框架 。 GDC 模块
只 支持 offline 的 模式,从 DDR 读数据,处理 完再 写 到 DDR。 GDC 模块
的 使用 需要 提前准备 配置 GDC 的 模块 的 配置 参数 文件 bin 文件,这个 文件 由 GDC Tool 进行 仿真 直接 保存 生成 GDC bin 文件 或者 保存 为 json 后 通过 GDC bin API 生成。
使用 GDC 模块
| 模块 | 功能 |
|---|---|
| GDC Tool | 用于 |
| GDC bin API | 用于 GDC bin 生成。 |
| GDC API | 遵循 HBN 框架,用于 |
GDC Tool
GDC Tool 用于
效果 仿真,仿真 完成 后 可以 保存 GDC 配置 参数 文件(layout.json 或 config.bin)。 GDC Tool 提供
六种 变换 模式: Affine, Equisolid, Equisolid(cylinder), Equidistant, Custom, Keystone+dewarping。 GDC Tool 使用
请 参考 GDC Tool 介绍 。
GDC bin API
GDC bin API 用于
生成 GDC bin 文件。 支持
通过 hbn_gen_gdc_bin_json或者hbn_gen_gdc_bin接口生成 GDC bin。 GDC bin API 经常
和 GDC Tool 一起 搭配 使用,使用 GDC Tool 生成 layout.json后,需要使用 GDC bin API 生成 GDC bin。 有关 GDC bin API 使用,请
参考 GDC bin API 。
GDC API
GDC API 用于
打开 和 配置 GDC 节点、创建 vflow,以及 处理 GDC 数据。 下图
是 两种 GDC 场景 的 vflow 例子(场景 1 中 回灌 的 含义:数据源 来自 DDR 的 情况):

有关 GDC API 使用
请 参考 GDC API 。
5.10.1.2. 使用方法
在
方法 1:
使用 GDC Tool 生成
layout.json文件。通过
hbn_gen_gdc_bin_json接口解析 JSON 文件,生成 并 保存 为 GDC bin 文件。 使用
时,将 GDC bin 文件 读取 到 hbmem 分配 的 内存 中,通过 hbn_vnode_set_attr接口应用 到 GDC 节点。
方法 2:
使用 GDC Tool 生成
layout.json文件。通过
hbn_gen_gdc_bin_json接口解析 JSON 文件,生成 GDC bin 并 保存 到 外部 缓冲区(buf)。 使用
hbn_vnode_set_attr接口配置 并 应用 到 GDC 节点。
方法 3:
使用 GDC Tool 生成
layout.json文件。通过
hbn_gen_gdc_bin接口直接 读取 JSON 文件 中 的 参数,生成 GDC bin 并 保存 到 外部 缓冲区(buf),该 过程 无需 解析 JSON 文件。 使用
hbn_vnode_set_attr接口配置 并 应用 到 GDC 节点。
方法 4:
使用 GDC Tool 直接
生成 config.bin(即 GDC bin 文件)。将
config.bin文件读取 到 hbmem 分配 的 内存 中,通过 hbn_vnode_set_attr接口应用 到 GDC 节点,此 过程 无需 使用 GDC bin API接口。
场景推荐
固定
效果 :如果场景 场景 效果 较为简单 且 固定(例如 鱼眼 矫正),建议 使用 方法 4GDC Tool 提前生成 GDC bin 文件,并 将 其 读取 到 hbmem 分配 的 内存 中 并 应用 到 GDC 节点。 动态效果
场景 :如果场景 需要 每帧 动态 调整 效果,建议 使用 GDC bin API 实时 生成 配置文件。