编码码流帧配置支持两种模式:单包模式和多包模式(在不调用 slice 分割接口及其插入用户数据接口的情况下)

1、多包模式:对于 H.264,当为 帧时,调用 HI_MPI_VENC_GetStream 接口,一个帧包含 个 NAL 包( 个 NAL 包分别为 sps 包、 pps 包、 sei 包、 Islice 包,这里假设 pps 包只有一个,且 个 NAL 包是独立的,包类型不同);对于 JPEG,一帧图像包含 个包( 个图像参数包, 个图像数据包, 个包是独立的,包类型不同)。

2、单包模式:对于 H.264,当为 帧时,调用 HI_MPI_VENC_GetStream 接口,一个帧包含 个 NAL 包(该 NAL 包的包类型为 Islice 包,且包含 sps、 pps、 seiIslice 的数据);对于 JPEG,一帧图像只有 个包(该包的包类型为图像数据包,
且包含图像参数包的数据)。

两种模式可通过 ko 加载时设置模块参数 OneStreamBuffer 来选择。 OneStreamBuffer=1 表示单包模式; OneStreamBuffer=0 表示多包模式,系统默认 OneStreamBuffer=0

在ko文件夹中的load3516a,修改  insmod hi3516a_h264e.ko OneStreamBuffer=1
Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐