FastCV SDK发行版本说明(1)

281 篇文章 16 订阅
24 篇文章 11 订阅

1. 简介

FastCV SDK 是一组为 ARM 实现的算法,并针对高通的 Snapdragon 处理器进行了优化。

1.1 平台

目前支持以下库:
1. Android 32 bit and 64 bit library
2. IA-32 (x86) Win32 and MS Visual C++ 2010, 2012, and 2013.
3. IA-32 (x86) Win64 and MS Visual C++ 2012, and 2013.

1.2 安装

可以通过多种方式将库和头文件合并到项目中。 软件中没有写入路径,因此不需要特定的安装路径。

1.3 操作模式

为了获得针对高通Snapdragon处理器实现的算法的优势,应该调用 API 作为初始化和取消初始化过程的一部分。

1.3.1 初始化过程

作为初始化过程的一部分,以下API
FASTCV_API int fcvSetOperationMode(fcvOperationMode mode)
应该被调用。 应根据应用目标选择一个选项。

以下是可用的fcvOperationMode操作:

Operation modeDescription
FASTCV_OP_LOW_POWER除非QDSP速度比CPU速度慢3倍,否则将使用QDSP实现。
FASTCV_OP_PERFORMANCE将使用最快的实现。
FASTCV_OP_CPU_OFFLOADQDSP实现将在可用时使用,否则它将寻找GPU和CPU实现。
FASTCV_OP_CPU_PERFORMANCE将使用CPU最快的实现。

1.3.2 取消初始化

作为取消初始化过程的一部分,以下API
FASTCV_API void fcvCleanUp( void )
应该被调用。

2 发行版本的变化

2.1 版本编号方案

新的发布通常出于以下原因:

  • 对先前发布的 API 的更改
  • 添加新功能
  • 性能改进和/或错误修复——也称为实现修改

每种动机对库用户都有不同程度的影响。 通用版本编号方案关注这种不同的动机。 给定版本 ID:A.B.C
“A”的增加表示先前发布的 API 已更改,因此开发人员可能会遇到编译问题,需要修改其代码以遵守修改后的 API。 Qualcomm 将尽一切努力将这些变化降至最低。 此外,可能会出现新的功能和实现修改。
“B”的增加表示库中添加了新函数,因此附加功能可用,但现有 API 没有改变。 此外,可能存在实施修改。
“C”的增加表示仅进行了实现修改。

注意:
发行版1.0.2是对外发布的最初版本。

2.2 命名修改策略

没有API修改,这将影响使用fastCV库以前版本的应用程序的兼容性。然而,有相当数量的函数被确定需要更改函数签名。为了保持向后兼容性,并继续改进fastcv库,以下策略被应用于需要改变函数签名的函数:

首先,保留现有的API及其先前存在的函数签名。这允许库保持向后兼容性。接下来,将一个新函数添加到库中,该函数与原函数共享相同的名称,只是名称后面附加了“_v2”(版本#2)。版本2函数被进一步修改以根据需要更改函数签名。鼓励开发人员迁移到“_v2”函数以使用修改后的API,但是,对于当前版本,这种迁移不是强制的。在未来的版本中,release version 2.0.0,带有原始函数签名的原始函数将被删除,_v2函数将连同其函数签名一起重命名为原始函数名。

例如:

Release 1.0.4: 
    void A (void); 
Release 1.1.0: 
    void A (void); 
    void A_v2 (int x); // New function signature added 
Release 2.0.0 
    void A (int x); 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值