申请/专利权人:天津津航计算技术研究所
申请日:2021-06-23
公开(公告)日:2024-04-23
公开(公告)号:CN113645467B
主分类号:H04N19/42
分类号:H04N19/42
优先权:
专利状态码:有效-授权
法律状态:2024.04.23#授权;2021.11.30#实质审查的生效;2021.11.12#公开
摘要:本发明一种软硬结合的视频解码方法,属于linux系统下视频解码技术,涉及一种在linux系统下使用软硬结合的视频解码方法。其特点在于:首先,移植ffmpeg到海思平台,对ffmpeg进行配置使其适配海思芯片。其次,启动ffmpeg的动态库对网络传输的数据进行动态过滤,去除错误数据包,同时获取图像与参数信息结合的数据包,将完整数据包再传送给海思芯片的硬解码模块,从而完成解码任务。
主权项:1.一种软硬结合的视频解码方法,其特征在于,包括步骤如下:1)配置ffmpeg的编译属性和参数,将ffmpeg动态库移植到海思平台;2)接收主机传送的原始压缩图像;3)创建获取数据包线程,使用ffmpeg动态库获取压缩图像的完整数据包;4)使用海思平台的硬解码模块对压缩图像的数据包进行解码;5)将解码的图像数据存入文件供主机读取;所述步骤1)中将ffmpeg动态库移植到海思平台,具体为:11)配置ffmpeg的编译属性,根据平台类型、cpu类型、编码解码器属性、格式转换属性、交叉编译属性配置参数;12)修改acodec.h文件,增加变量:参数帧长度sei_len和参数数组sei_buf,同时,根据应用层需求确定图像帧的参数帧大小SEI_BUF_SIZE;13)在hevc_sei.c文件中的decode_nal_sei_prefix函数中添加获取参数帧功能;14)执行configure命令,在配置文件夹的子文件夹lib下将生成解码库libavcodec、libavformat、libavutil、libswscale;15)将解码库libavcodec、libavformat、libavutil、libswscale拷贝到解码板卡的usrlib路径下;步骤13)添加获取参数帧功能,具体为:131)获取decode_nal_sei_prefix函数中的数据大小参数size,将数据大小参数size赋值给参数帧长度sei_len;132)判断数据大小参数size是否小于或等于图像帧的参数帧大小SEI_BUF_SIZE,如果满足条件则进行步骤133);若不满足条件,则令参数帧长度sei_buf的数据为空,并直接进入步骤134);133)从decode_nal_sei_prefix函数中拷贝上下文参数数组gb内的数据到参数帧长度sei_buf,拷贝数据的长度等于步骤131)中数据大小参数size;拷贝的sei_buf的数组下标i为gb数组的索引index除以8;然后进入步骤134);134)将上下文参数数组gb内的数据进行向前移位处理,移位处理的数位等于数据大小参数size的八倍。
全文数据:
权利要求:
百度查询: 天津津航计算技术研究所 一种软硬结合的视频解码方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。