|
求助:H264编码profile从baseline提高到high的问题
发表于 2015-4-20 10:13:57
浏览:8408
|
回复:2
打印
只看该作者
[复制链接]
楼主
android的H264编码本身只支持到baseline,画面的质量比较差。我通过修改frameworks/av/media/libstagefright/ACodec.cpp
if (h264type.eProfile != OMX_VIDEO_AVCProfileBaseline) {
h264type.eProfile = OMX_VIDEO_AVCProfileBaseline;
}
让high能传递给编码器OMX.rk.video_encoder.avc
之后编码过程中OMX->getParameter返回的profile是8,对应是high
而输出的h264视频数据中sps是0x42 0xE0 0x28 0x8D......
其中第一个字节0x42是profile
对应kAVCProfileBaseline = 0x42
也就是说profile high被传递给了编码器,可是编码器实际编码出来的还是baseline
不知道是不是厂商提供的编码组件本身没有支持。或者有没什么办法可以解决这个问题。 |
|