# iframework **Repository Path**: yocop/iframework ## Basic Information - **Project Name**: iframework - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-05-17 - **Last Updated**: 2024-07-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 概述 OpenMAX:open media acceleration. 直译为开放多媒体加速器,可以理解为是一个拥有免费使用权的多媒体加速器。OpenMAX是Khronos Group开发制定的,该标准采用C语言实现,这个小组是由3Dlabs、ATI、Intel、Nvidia等行业大佬联合创建,目的是实现跨平台的免费的多媒体加速、回放。 OpenMAX可以用来做什么? - 其实从名字上可以看出来,OpenMAX是与多媒体有关的,为多媒体处理提供统一的接口标准,以此来达到跨平台的多媒体软硬件开发的目标。在嵌入式设备比如安卓设备的多媒体软件框架中就使用到了OpenMAX编程标准。 - 一个完整的多媒体设备包括设备硬件、设备驱动以及设备应用程序。与之对应的是OpenMAX的DL、IL、AL层,不过在实际编程(嵌入式软件)当中最常使用到的是IL层。通过实现这三个层级,可以达到从硬件到软件的完整的音视频、图像等多媒体资源的编解码流程。 为什么要使用OpenMAX 大概有这么几个理由促成了OpenMAX在多媒体编程当中的使用: 多媒体软件使用OpenMAX这一统一的编程标准来进行设计,可以使得开发者在开发应用等的时候不需要过度关注其底层的一些实现,也省去了大量的学习不同多媒体框架的时间。 OpenMAX标准本身足够优秀,即使不完全遵循OpenMAX的标准来进行多媒体软件框架设计,采用OpenMAX的架构原理来作为多媒体软件框架的指导性设计原理,也能够大量减少多媒体软件的开发设计流程,并且由于OpenMAX本身的特点,也使得整个多媒体软件十分易于扩展,具有高度的去耦合性。该标准涵盖了大部分多媒体开发规格,可以轻松满足绝大多数开发需求。 该标准本身由多媒体等行业的领导者联合确立,具有较大的影响力,有相关的详细设计文档可以参考,如果遇到问题相对更加容易在网络上获取答案,并且整个标准在使用的时候无需授权费,是完全免费的。 OpenMAX适用于哪些地方? OpenMAX是专门用于音视频、图像编解码的,在一些以音视频编解码为主导功能的产品设计领域都可以使用OpenMAX,比如安防、手机(安卓系统里面就有OpenMAX)等。 ifv: Intelligence framewore of video 为了更加简单的方便用户编程, 在openmax之上封装了一系列关于智能视觉应用接口,主要涉及注册、删除、识别等接口,满足门禁门锁的需要,也可以按需进行拓展。 ## 接口列表 | 函数 | 说明 | | :--- | :--- | | if_vRegister | 注册接口 | | if_vDel | 删除注册ID | | if_vDelAll | 删除所有注册ID | | if_vQuery | 查询注册ID | | if_vRecognition_process | 图像识别 | ## 接口详细说明 ### if_vRegister `bool if_vRegister(if_v_register * register_info)` - 功能描述: - 注册接口。 - 参数: - register_info 参数为空:sensor 注册 参数不为空: 用户提供JPG图片格式注册 定义如下: ```c typedef struct register_info { identifyID *info; int pic_type; //ir/rgb int pic_w; //360 int pic_h; //640 int pic_mode; //JPG unsigned char *buff; // 图像buffer }if_v_register; ``` - 返回值: - bool: 成功 or 失败。 ### if_vDel `bool if_vDel(int id)` - 功能描述: - 删除注册ID。 - 参数: - id 注册ID - 返回值: - bool: 成功 or 失败。 ### if_vDelAll `bool if_vDelAll(void)` - 功能描述: - 删除所有注册ID。 - 参数: NA - 返回值: - bool: 成功 or 失败。 ### if_vQuery `bool if_vQuery(if_v_query * query_info)` - 功能描述: - 查询注册ID。 - 参数: - query_info 查询信息,相关定义如下: ```c typedef struct query_info { ifv_list_t head; identifyID *info; }if_v_query; typedef struct _list_t { struct _list_t *next; struct _list_t *prev; } ifv_list_t; typedef struct identifyID{ int id; int sec_id; }identifyID; ``` - 返回值: - bool: 成功 or 失败。 ### if_vRecognition_process `void if_vRecognition_process(unsigned char *card_number, app2if_v_cb *info, int timeout)` - 功能描述: - 图像识别。 - 参数: - card_number 卡信息,预留使用 - info 图像信息 - timeout 识别超时时间 - 返回值: 无 ## 运行资源 无。 ## 依赖资源 该组件依赖openmax组件, ## 组件参考 无。