查看: 1828|回复: 1

[分享] i.MX RT10xx H264解码之情之所向OpenH264

[复制链接]
  • TA的每日心情
    开心
    2024-3-26 15:16
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3300

    主题

    6547

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    32030
    最后登录
    2024-4-26
    发表于 2021-8-19 14:02:34 | 显示全部楼层 |阅读模式
    i.MX RT10xx H264解码之情之所向OpenH264


    各位看官,欢迎再再次来到加油站,今天小编继续为大家带来i.MX RT10xx视频软解码之情之所向OpenH264。
    爱的初体验章节提到了FFMPEG,在多媒体处理方面有着无可撼动的江湖大佬地位,但是最后i.MX RT为什么又钟情OpenH264了呢?渣男?海王?不存在的!只是年少不知BSD license商用香!

    OpenH264 是思科公司发布的一个开源的H.264 编码和解码器,它采用简化BSD许可证发布。
    OpenH264:c++实现,需要操作系统,Profile只支持到baseline, level 5.2, 设计面向实时编码和解码视频的应用程序,例如WebRT。
    虽然它不如FFMPEG功能强大又齐全,但是娇小可爱也不失为一种美。
    下面跟着小编走入OpenH264,感受她的魅力。


    OpenH264简约小巧,不需要FFMPEG那种稍显复杂的剪切,只需将“codec”文件夹下所有解码相关的函数提取出来。


    移植需要操作系统的支持,而i.MX RT10xx官方SDK中自带Freertos的demo。

    一:解码流程


    工程解码流程和FFMPEG工程类似,但采用了双线程,读线程负责从microSD读取H264数据到块blk,并通过“消息队列”向解码线程发送数据块并解码。


    二:内存占用


    i.MX RT1060和i.MX RT1170上都移植了OpenH264的解码实现,内存占用情况如下:
    13.png
    从内存占用可以看到,FFmpeg中h264解码的code data明显较大,原因一是openh264编码本身就是经过剪裁的小型h264编解码器,比如仅支持baseline, slice级别的多线程,编码格式yuv420->h264,二是FFmpeg剪裁过程中仍有冗余。


    三:性能分析

    经过两组不同大小的视频帧测试结果如下:
    表格里的数据是在i.MX RT1060板子上测试解码加显示的帧率,从结果看,OpenH264解码性能和ffmpeg有一定差距。
    14.png
    友情提示:恩智浦官网中最新版的SDK已经集成了OpenH264解码,位于“display_example”中,拿到代码的小伙伴可以个性化优化代码:如将优化等级开到最大,配置ITCM/DTCM大小。小编建议尽可能大的配置ITCM,并将”codec”代码中生成的”.o”放入其中。
    四:结论


    H264解码对CPU性能要求高,数据量大,对存储器性能大小有要求。
    OpenH264:c++实现,需要操作系统,Profile只支持到baseline, level 5.2。
    FFmpeg:剪裁灵活,功能强大,可裸机运行,license商用限制。

    H264的视频解码在i.MX RT上的介绍暂时告一段落,我们有机会再见。







    签到签到
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    72

    帖子

    0

    注册会员

    Rank: 2

    积分
    78
    最后登录
    2023-1-28
    发表于 2022-1-21 23:43:29 | 显示全部楼层
    本帖最后由 kwcha333 于 2022-2-13 13:21 编辑

    谢谢楼主分享







    此家店涉及多方面的课程,全是英语活动教学,充满趣味性,重温上老师的重磅讲解,欲了解更多关于小 一 英文 課程前往https://www.unitedenglish.com.hk/小學英文課程-1.html了解更多

    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-26 16:36 , Processed in 0.119439 second(s), 23 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表