生态介绍
龙芯音视频生态适配了FFmpeg、SDL、libyuv、X264、X265、libvpx、dav1d、OpenH264、OpenCV、SRS等众多音视频相关的开源软件,并持续基于上游开源社区进行软件生态的建设和维护。通过对音视频基础库的持续优化,大幅提升了视频编解码、像素格式转换和缩放以及视频滤镜等功能的性能。
应用方面,除了VLC、Smplayer、OBS等常用的开源音视频应用,龙芯还联合应用厂商进行了大量商业应用的迁移适配,如腾讯视频会议、网动视频会议、小鱼易连、向日葵、WPS 以及大量云桌面类应用。
1. 音视频上游社区对LoongArch的支持情况(更新于2024-3-25)
项目 | 社区支持情况 | 其他说明 |
---|---|---|
FFmpeg | 5.0.1版本开始默认集成LA支持和优化 | |
OpenCV | 4.7.0版本开始默认集成LA支持和优化 | |
libsdl2 | 社区主分支已经集成LA支持和优化 | |
X264 | 社区主分支已经集成LA支持和优化 | |
OpenH264 | 社区主分支已经集成LA支持和优化 | |
libvpx | 社区主分支已经集成LA支持和优化 | |
libyuv | 社区主分支已经集成LA支持和优化 | |
SRS | 5.0.19版本开始集成LA支持 | |
OpenBLAS | 0.3.15版本开始集成了LA支持和优化 | |
dav1d | 1.4.0版本开始集成LA支持和优化 |
2. 硬件加速(GPU/VPU)
- 支持基于VDPAU/VAAPI规范的GPU硬件编解码和渲染,可以满足2K/3A系列处理器平台上对音视频硬件加速的需求。
- 针对2K系列的VPU加速解决方案也正处于研发测试阶段,有望大幅改善嵌入式设备上的视频处理体验。
具体项目介绍
1. FFmpeg
FFmpeg是一个功能完备的音视频处理开源软件项目,被广泛使用于音视频应用开发领域。FFmpeg社区从5.0版本开始,正式集成了对LoongArch架构的支持和优化,支持对H264、H265、MPEG2、MPEG4、VP8、VP9、WMV3、AV1视频格式的解码加速。
2. X264
x264是一个开源的H.264/MPEG-4 AVC视频编码函数库,是最好的有损视频编码器之一。针对LoongArch架构的支持和优化目前正在积极的向社区提交,用户也可以在龙芯开源社区音视频技术栏首页上获取内网最新稳定源码。
3. libyuv
libyuv是一个支持YUV缩放和转换的开源项目。目前,社区已经集成了loongarch的支持和优化,涵盖像素转换,缩放,旋转等100多个常用函数。用户可以直接通过libyuv社区获取最新稳定源码。
4. libvpx
libvpx是google和AOM维护的一款视频编解码开源软件项目。社区开发分支已经集成了LoongArch的支持和优化,对LoongArch上VP8和VP9格式的编解码性能有大幅提升,预计会在下一个正式版本中默认集成。当前最新版本是libvpx-1.11.0为最新版本。
5. OpenH264
OpenH264是Cisco开源的H264编码和解码软件项目。从社区v2.2.0版本开始正式集成了对LoongArch架构的支持和优化,支持对H264格式的编解码加速。
6. SRS
SRS是一个简单高效的实时流媒体服务器项目。4.0版本开始就实现了对LoongArch的支持,是最早一批支持国产LoongArch架构的开源项目之一,对国产龙芯软硬件环境适配完善。
7. OpenCV
OpenCV是一个跨平台的计算机视觉库。目前龙芯正在积极的向OpenCV社区提交平台优化代码,用户也可以在龙芯开源社区音视频技术栏首页上获取内网最新稳定源码。