微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > 部分MP4不能播放,只有声音,没 有图像。

部分MP4不能播放,只有声音,没 有图像。

时间:10-02 整理:3721RD 点击:
[DESCRIPTION]
部分MP4不能播放,只有声音,没有图像。其他平台又可以播放。
[SOLUTION]
首先查看log,看看是否有如下的log出现。这样是被H264的level限制住了。level越高,编
解码越复杂,需求的软硬件越高。我们权衡performance,把超过一定范围的就限制播放。 如果不
计较performance,可以采用以下的方法打开限制。
Line 2093: 11-08 10:24:00.759 W/MPEG4Extractor( 930): [H264 capability
error]Unsupported H264 video, width=848, height=480, profile=100, level=32
去掉h264 level limit, 在mpeg4extractor.cpp中有两处修改:
1,MPEG4Extractor::parseChunk()中
修改前
if ((frame_rate*width*height+128)/256 > AVC_MAX_MACRO_PER_SECOND)
{
LOGE("[h264 capability error]Unsupport h264 real level!fps = %lld,
width=%d, height=%d", frame_rate, width, height);
mLastTrack->skipTrack = true;
mHasVideo = false;
}
修改后:
if ((frame_rate*width*height+128)/256 > AVC_MAX_MACRO_PER_SECOND)
{
LOGE("[h264 capability warning]h264 real level!fps = %lld, width=%d,
height=%d", frame_rate, width, height);
//mLastTrack->skipTrack = true;
//mHasVideo = false;
}
2,MPEG4Extractor::parseChunk()中
修改前:
if (qinfo.u4Width > outinfo.u4Width || qinfo.u4Height > outinfo.u4Width||
qinfo.u4Width*qinfo.u4Height > outinfo.u4Width*outinfo.u4Height ||
maxlevel > 31) {
LOGW("[H264 capability error]Unsupported H264 video, width=%d, height=%d,
profile=%d, level=%d", maxwidth, maxheight, maxprofile, maxlevel);
mLastTrack->skipTrack = true;
}
修改后:
if (qinfo.u4Width > outinfo.u4Width || qinfo.u4Height > outinfo.u4Width||
qinfo.u4Width*qinfo.u4Height > outinfo.u4Width*outinfo.u4Height) {
LOGW("[H264 capability error]Unsupported H264 video, width=%d, height=%d,
profile=%d, level=%d", maxwidth, maxheight, maxprofile, maxlevel);
mLastTrack->skipTrack = true;
}

完成贴  

Thanks~~~~~~~~~~~~~~~

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top