主要内容本文主要介绍libva的各个版本从libva-1.0.0到libva-2.6.0的重要的差异主要就是各个版本结构体内容的改变libva各个版本的改变的内容都在libva/NEWS文件中油详细的介绍感兴趣的可以仔细研究下其他内容如libva的代码实现改变不做过多介绍。版本介绍截至2021-4-24日止目前libva的版本libva-2.11.0,最古老的版本应该是libva-1.0.0,每个大的版本又分为好几个小的版本如libva-1.6又有libva-1.6.0libva-1.6.1libva-1.6.2,如libva-1.7又有libva-1.7.0libva-1.7.1libva-1.7.2libva-1.7.3。下文中只对大的版本的最新版进行比较即比较libva-1.6和libva-1.7就是比较libva-1.6.2与libva-1.7.3。libva的版本以及API版本号随着时间的变化也是不断变化的API版本号由三部分组成为(MAJOR VERSION).(MINOR VERSION).(MICRO VERSION).libva-1.0.0到libva-1.8.0的版本号是一个阶段如libva-1.6.0版本号为0.38libva-1.6.1版本号为0.38.0对就是0.38.0所有MICRO VERSION为0的API版本号只有两位所以libva-1.6.0版本号对应为0.38libva-1.6.1版本号对应0.38.0。libva-1.6.0到libva-1.8.0的版本号规则为MAJOR VERSION为0MINOR VERSION的38对应libva-1.6.x39对应libva-1.7.xMICRO VERSION为x-1,那么0.40对应libva-1.8.0libva-1.7.2对应0.39.1。对于libva-1.8.xx0的版本都是0.40.0因为这个时候是一个API版本号改变的节点。没有版本libva-1.9.x没有版本libva-1.9.x没有版本libva-1.9.x。对于libva-2.0.0对应的API版本号为1.0.0 以后的API版本号计算方式如下libva-x,y,z的API版本号为x-1.y.z,如libva-2.4.1的API版本号为1.4.1。libva-1.0.0~libva1.3.x增加VA_ERROR值以及VAProfile和VAEntrypoint增加VAConfigAttribs增加VAConfigAttribRTFormat,VAConfigAttribRateControl,VAConfigAttribEncPackedHeaders,VAConfigAttribEncInterlacedVAConfigAttribEncSliceStructure的值增加VAGenericValueType增加surface相关功能增加surface相关API增加VABufferType删除VAEncH264VUIBufferTypeVAEncH264SEIBufferType增加encode的相关结构体以及枚举变量值增加VACodedBufferSegment的status值增加fourcc值修改VADriverContext删除VADriverVTableTPI结构体的APIlibva-1.3.x~libva1.4增加VABufferInfo增加VADriverVTable的APIlibva-1.4~libva1.5增加VAProfile增加结构体VAConfigAttribValEncJPEG修改结构体VAHuffmanTableBufferJPEGBaseline位置,删除VAEncPictureParameterBufferJPEGVAQMatrixBufferJPEG增加HEVC相关结构体libva-1.5~libva1.6增加颜色空间转化标志增加VAProfileVAConfigAttribType增加VAConfigAttribRTFormat值增加VAEncMiscParameterType以及结构体VAEncMiscParameterSkipFrame增加VADriverContext成员libva-1.6~libva1.7增加VAEntrypointEncSliceLP到VAEntrypoint增加 VAConfigAttribEncROI和VAConfigAttribEncRateControlExt到VAConfigAttrib以及相对应的结构体VAConfigAttribValEncROIVAConfigAttribValEncRateControlExt;增加基于rate control的宏块控制项VA_RC_MB到VAConfigAttrib的VAConfigAttribRateControl增加VAEncMiscParameterType中的VAEncMiscParameterTypeROI,VAEncMiscParameterTypeTemporalLayer项以及结构体VAEncMiscParameterBufferROI,VAEncMiscParameterTypeTemporalLayerStruct对VAEncMiscParameterRateControl结构体进行增加但结构体大小不变对VAEncMiscParameterFrameRate进行了增加改变了结构体的大小。libva-1.7~libva-1.8libva-1.7到libva-1.8版本改动内容并不大主要改动如下增加Message Callback函数增加Image和Subpicture的format支持修改了部分注释。libva-1.8~libva-2.0版本改动内容较多主要改动如下结构体对齐的Pad size定义引入运动矢量结构体VAMotionVector的定义以及修改Message Callback的相关参数定义加入VAProfile即将过时的VAProfileH264Baseline的profile使用该profile编译器会提示警告对其他可能废弃的一些枚举值进行了相关标记加入VAConfigAttribFEIFunctionType,VAConfigFEIMVPredictors到VAConfigAttribType中增加VAConfigAttribType中VAConfigAttribEncSliceStructure的value增加关于FEI (Flexible Encoding Infrastructure)的EntrypointVABufferType以及VAEncMiscParameterType为部分结构体增加va_reserved字段扩容以待将来使用该变化基本包括了va.h中所有的结构体所以在版本兼容上比较困难。如果APP和Driver结构体的size不统一就会出现数据错误或者访问越界的问题。该结构体中部结构太多省略部分该结构体中部结构太多省略部分该结构体中部结构太多省略部分除了va.h中的结构体还有va_backendvpp.hva_vpp.h,va_drmcommon.h中的结构体以及decodeencode相关的结构体此处不再一一详述。加入2D format VA_FOURCC_I4209. 改变一些数据类型的定义比如unsigned int 变为uint32_t,为了多平台的兼容。10.放弃va_tpi.h中描述的相关结构体VASurfaceAttributeTPIVASurfaceMemoryType。以及相关接口vaPutSurfaceBufvaCreateSurfacesWithAttribute。11. 增加va_str.h可以将VAProfile,VAConfig,VAConfigAttrib,VABufferType进行打印。libva-2.0~libva-2.1这个版本变更也比较大增加了很多新的结构体和新的API。具体如下增加VAEntrypointStats到VAEntryPoint,增加VAConfigAttribDecJPEG和VAConfigAttribsDecprocecing等VAConfigAttribType以及定义VAConfigAttribType的相关结构体以及结构体的值。中间内容省略中间内容省略中间内容省略中间内容省略中间内容省略中间内容省略中间内容省略增加VAConfigAttribType中VAConfigAttribRateControl的值增加VAConfigAttribRTFormat的值定义Muti-frame的context,以及操作API增加VABufferType中间内容省略增加decode 和encode 的rate control的结构体以及QueryProcessingRate的API。增加encode的相关参数的类型以及对应的结构体。增加encode相关Rate Control的相关字段增加VC1的Picture Paramter字段。中间内容省略增加VACreateBuffer2的API增加VACodedBufferSegment的status字段值。增加vaExportSurfaceHandle的API增加VASurfaceDecodeMBErrors的num_mb字段增加2D format值增加VADisplayAttribMirror的值libva-2.1~libva2.2改变不大具体如下增加VA_ERROR的类型增加VA的profile到VAProfile增加VAConfigAttribRTFormat的值提供10字节和12字节支持。增加VASurfaceAttribUsageHint的flags值增加2D format支持增加HEVC的相关decode的拓展结构体如VAPictureParameterBufferHEVCRextVAPictureParameterBufferHEVCSccVAPictureParameterBufferHEVCExtensionVASliceParameterBufferHEVCRextVASliceParameterBufferHEVCExtension其他少量更改如va_str.h,修改FEI的结构体VAEncMiscParameterFEIFrameControlHEVC等。libva-2.2~libva-2.3增加VAConfigAttribRateControl值增加VABufferType增加VAEncMiscParameterType的值增加VAEncMiscParameterRateControl增加VAEncMiscParameterBufferMultiPassFrameSize增加2D format的值增加其他结构体字段如VASliceParameterBufferHEVC以及增加其他内容如注释va_str.h中的可打印值。libva-2.3~libva-2.4该版本变化较小如下增加fourcc格式增加VAProcHighDynamicRangeMetadataType字段va.c中vaSetDriverName函数的改动其他微小改动如注释等libva-2.4~libva-2.5增加vaPutsurface的flag增加VAConfigAttribValMaxFrameSize到VAConfigAttribType以及对应的结构体VAConfigAttribValMaxFrameSize。标记VAEncMiscParameterBufferMultiPassFrameSizeVAEncMiscParameterBufferMaxFrameSizeVAEncMiscParameterBufferMultiPassFrameSize的deplicated项目VAEncMiscParameterType增加2D format增加可打印的string类型VAStatus其他非重要的改变如代码中结构的改变以及打印信息的改变等。libva-2.5~libva-2.6增加VAConfigAttribType的值取消VAConfigAttribValDecJPEG中的va_reserved字段增加VAConfigAttribPredictionDirection的值增加VAConfigAttribValMultipleFrame结构体增加VADisplayContext结构体的接口增加VASliceParameterBufferHEVC结构体的字段增加VAEncSequenceParameterBufferHEVC的seq_filed的位段。其他增加内容如注释,va_str.h的可打印内容等。总结从以上各个版本的差异可以发现libva-1.0.0到libva-1.3版本API变动比较大 libva-1.3到libva-1.5甚变动不大libva-1.6到libva-1.8的版本内容差异有限很大程度上都是可以兼容也就是说同样的VA驱动可以对应于 libva-1.3到libva-1.5libva-1.3到libva-1.5的版本都可以使用。但是到libva-2.0时由于结构体很多都发生了改变所以驱动会出现不兼容的现象需要根据环境进行现场编译。从内容上来看VA支持的特性越来越多功能越来越完善使用也越来越复杂。从驱动的角度来看只需要支持API和版本内容变动比较大的版本即可无需所有版本都支持。
企业数字化 ERP 产品动态
相关推荐
JS数组转字符串 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/11 12:05:10
vue+Element ui实现输入框字数限制验证 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/7 11:27:24
COMSOL放电等离子体仿真 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 5:27:13
中级电工证理论题最新通过率揭秘别让培训费打水漂 中级电工证理论题最新通过率揭秘别让培训费打水漂 你是不是也担心,花了几千块报的中级电工证培训,最后考试还是挂了,钱就白花了?别急,这正是我们今天要聊的【中级电工证理论题最新】和它的【通过率揭秘】。今天就以驻马店某项目现场管理员老李的真实经历… · 2026/11/11 14:21:05
真实经历:禄丰电工证换证太忙没时间复习?这些避坑经验太关键 真实经历:禄丰电工证换证太忙没时间复习?这些避坑经验太关键 工地太忙根本没时间复习考试,这是我去年在禄丰市做电工时的真实经历。那会儿我刚拿到低压电工证,正准备换证,结果项目赶工期,白天上班晚上加班,根本腾不出时间复习。直到最后一天考试,我才… · 2026/11/11 14:21:05
电力系统特种工证件网上查询全攻略:学历不高也能报考 电力系统特种工证件网上查询全攻略:学历不高也能报考 你是不是也担心自己学历不高,考不了电力系统特种工证件?其实不然,很多人在报考前都会有这样的疑问。但根据河南省安全技术防范行业协会的最新政策,只要你是年满18岁、具备相关工作经验的人员,基本… · 2026/11/11 14:21:05
电工证参考培训机构怎么报名?别被中介坑了 电工证参考培训机构怎么报名?别被中介坑了 你是不是也遇到过这种情况:想考个电工证,但不知道从哪儿开始?一搜索“电工证参考培训机构怎么报名”,满屏都是五花八门的广告,看得人眼花缭乱,生怕被坑了钱还拿不到证?今天我就用10年行业经验,教你一套靠… · 2026/11/11 14:21:05
惠州市电工证培训机构保姆级教程:工地太忙根本没时间复习考试怎么解决 惠州市电工证培训机构保姆级教程:工地太忙根本没时间复习考试怎么解决 工地太忙根本没时间复习考试,这是很多一线电工朋友的真实写照。尤其是像惠州市电工证培训机构这样的机构,报名考试人数多,竞争激烈,如果复习不到位,很容易挂科。别担心,这篇保姆级… · 2026/11/11 14:21:05
新密电工证真实经历揭秘:怕考不过白交培训费?这样备考稳过 新密电工证真实经历揭秘:怕考不过白交培训费?这样备考稳过 你是不是也遇到过这种情况:报名了新密电工证培训,花了大几千,结果考试一紧张,连题都看不懂,最后挂科了,钱白花了不说,还得重新再报?这不是个例,我认识的几个三门峡公路工程从业者都经历过… · 2026/11/11 14:20:05
电工证丢失还能补吗?千万别踩坑,丢了证等于失业 电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。… · 2026/11/11 12:18:07
电力电缆作业证直播报名入口与办理流程良心建议 电力电缆作业证直播报名入口与办理流程良心建议 你是不是也担心学历不高报不了名?别急,今天就给你讲讲 电力电缆作业证直播 的报名流程和那些你必须知道的干货, 良心建议 在这里,别错过。 电力电缆作业证直播报名需要什么条件?… · 2026/11/10 17:46:39
英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑 英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑 怕考不过白交培训费?英德电工证报考费多少钱,你真的了解吗?现在市面上培训机构五花八门,价格参差不齐,很多人一不小心就花了冤枉钱,结果还考不过。别急,今天就来给你说清楚英德电工证的… · 2026/11/10 17:11:43
_中职电工证最新政策解读 中职电工证在哪考?工地太忙根本没时间复习考试的救星来了 工地太忙根本没时间复习考试,这是很多正在备考 中职电工证 的建筑工友的真实写照。你不是不想考,而是真的没时间。但别担心,这期内容是 新乡初次报考人员… · 2026/11/11 0:00:52
昆明电工证培训价格值不值得考?老电工告诉你真相 昆明电工证培训价格值不值得考?老电工告诉你真相 之前考的证在外省能不能转过来?这个问题是很多在外地打工、换城市生活、或者是想在昆明发展的朋友最关心的。尤其是现在云南发展快,很多企业都在招持证上岗的电工,如果你手头有证但不在本地,那这个证是不… · 2026/11/11 0:00:52
特种电缆张工网上查询全攻略:外省证如何转过来 特种电缆张工网上查询全攻略:外省证如何转过来 之前考的证在外省能不能转过来?这是很多特种作业从业者最关心的问题,尤其是像特种电缆张工这类证书,直接关系到日常工作是否合规、能否顺利晋升。很多小伙伴因为证书归属地的问题,陷入职业发展的瓶颈,甚至… · 2026/11/11 0:00:52
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/10 20:19:29
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/10 19:22:45
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/10 17:00:47