Android MediaCodec H264编码设置Main Profile & High Profile

1. 为什么要用Main Profile & High Profile在Android上硬编码视频码率远远高于软编码,原因是Android只支持H264 Baseline。MP(Main Profile )& HP(High Profile)可以大幅减少视频的码率。关于H264 Profile参见:H264 Profile。2. Android平台对MP & HP的...
摘要由CSDN通过智能技术生成

1. 为什么要用Main Profile & High Profile

在Android上硬编码视频码率远远高于软编码,原因是Android只支持H264 Baseline。MP(Main Profile )& HP(High Profile)可以大幅减少视频的码率。关于H264 Profile参见:H264 Profile

2. Android平台对MP & HP的支持情况

2.1 Android

Google声称在Android 6.0就已经支持MP,但是6.0的源代码中还是强制使用Baseline:

    if (h264type.eProfile != OMX_VIDEO_AVCProfileBaseline) {
        ALOGW("Use baseline profile instead of %d for AVC recording",
            h264type.eProfile);
        h264type.eProfile = OMX_VIDEO_AVCProfileBasel
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1)解码支持的协议特性:h.264 main profile完整规格,严格参照2005年3月正式发布的协议文档(T-REC-H.264-200503-P!!MSW-E.doc)实现。Main profile的特性参见协议附录A对profile以及level的描述。 2)解码库采用的测试工具集:ALLEGRO,HHI,JVT提供的baseline(FMO/ASO特性除外), main profile专业测试码流,以及超过20家IPTV厂家的商用码流。其中专业测试码流是业界用来确保解码芯片规格完备的利器。 3)解码容错处理:重用相同协议规格解码芯片IP验证使用的工具集,含盖了几乎所有的业务功能,边界条件,系统异常等问题的测试用例。 4)是针对X86平台开发的在windows系统下的版本:采用intel的编译器,slice以上层解码主要采用C语言实现,宏块层解码大量使用了MMX,SSE2技术进行高性能并行解码设计。由于main profile的复杂度比较高,不推荐在不支持MMX,SSE2技术的计算机上使用本解码库产品。 5)产品标杆:在性能指标上一直参照业界性能最佳coreAVC解码库进行对比开发,目前纯解码性能稳定在其120%以上,而且对协议规格的遵守方面则具有明显优势。本解码库吸收了JM 10.2在调测ALLEGRO等专业测试码流时发现的若干问题,而coreAVC提供的demo程序只能通过一些最基本的测试码流。业界比较知名的公司还有ateme, elecard和cyberlink。 6)接口形式:提供5个独立的API函数(open, close, decode, get, set)。其中decode函数只负责解析接收到的用户指定长度的符合协议附录B描述的视频流;在解码库内部维护解码图像缓冲区,通过get和set函数来实现播放显示与解码对重构图像的地址交互,避免YUV数据的多次拷贝。 技术支持联系:kwen_zhang@hotmail.com

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值