当前位置: 技术问答>linux和unix
s5pv210 mfc子解码
来源: 互联网 发布时间:2017-05-21
本文导语: 本帖最后由 lkppostt 于 2013-03-07 15:39:29 编辑 最近在使用TQ210做linux下的MFC硬件解码部分,目前android2.3下使用硬件播放视频是没有问题的,我参照android的处理顺序移植到linux上,卡在SsbSipMfcDecInit初始化上面,总是报 mfc_irq: mfc_...
mfc_irq: mfc_irq() : Interrupt !! : 32,中断错误,以下是我的处理流程:
SSBSIP_MFC_DEC_OUTBUF_STATUS status;
SSBSIP_MFC_DEC_OUTPUT_INFO outputInfo;
int bufWidth = 0;
int bufHeight = 0;
SSBSIP_MFC_ERROR_CODE code;
void *pCTX = NULL;
//pCTX->codec_type = H264_DEC;
SSBIP_MFC_BUFFER_TYPE buf_type = CACHE;
pCTX = SsbSipMfcDecOpen();
void *virStrmBuf;
void *phyStrmBuf;
virStrmBuf = SsbSipMfcDecGetInBuf(pCTX, &phyStrmBuf, DEFAULT_MFC_INPUT_BUFFER_SIZE);
if (virStrmBuf == NULL)
{
printf("SsbSipMfcDecGetInBuf errorn");
}
code = SsbSipMfcDecSetInBuf(pCTX, phyStrmBuf, virStrmBuf,DEFAULT_MFC_INPUT_BUFFER_SIZE);
/* Set the number of extra buffer to prevent tearing */
int configValue = 5;
SsbSipMfcDecSetConfig(pCTX, MFC_DEC_SETCONF_EXTRA_BUFFER_NUM, &configValue);
/* Set mpeg4 deblocking filter enable */
// configValue = 1;
// SsbSipMfcDecSetConfig(pCTX, MFC_DEC_SETCONF_POST_ENABLE, &configValue);
FILE *fp = fopen("/girl.mp4", "rb");
bool bFirstFrame = true;
if (fp)
{
if (bFirstFrame)
{
configValue = 8; // the number that you want to delay
SsbSipMfcDecSetConfig(pCTX, MFC_DEC_SETCONF_DISPLAY_DELAY,
&configValue);
}
int iread = fread(virStrmBuf, 1, 2000, fp);
printf("iread:%dn", iread);
code = SsbSipMfcDecInit(pCTX, H264_DEC, 621);//报错函数
红色部分是报的错,同样的流程android是正常的,不知道是哪部分的问题,望高手指点,谢谢!
|
我猜问题可能在s5p要求nv12的输入格式,你用的可能是yuv/yuy2之类。转换一下试试。
|
你好!
在linux下能用S5VP210的硬件编解码功能吗?用友善开发板android2.3.1带的代码,移值到linux,配linux3.8.0,是否可以?
能详细解答一下移值和使用过程吗?我担心android上带了一些库,我们没办法在linux下用,比如*.so文件,不知道内部的东西。
谢谢。
在linux下能用S5VP210的硬件编解码功能吗?用友善开发板android2.3.1带的代码,移值到linux,配linux3.8.0,是否可以?
能详细解答一下移值和使用过程吗?我担心android上带了一些库,我们没办法在linux下用,比如*.so文件,不知道内部的东西。
谢谢。
|
您好,可否提供個 SP5V210 Linux 下使用 Android 庫的編碼 範例呢????
我一直在嘗試壓縮 YUV 的影像流成 H264 可是出來都是花頻,
萬事拜託,
kib0092@gmail.com
我一直在嘗試壓縮 YUV 的影像流成 H264 可是出來都是花頻,
萬事拜託,
kib0092@gmail.com
|
楼主,我在SsbSipMfcEncInit() 就出错了:
[ 123.170457] mfc_wait_for_done: Decode Error Returned Disp Error Status(0), Dec Error Status(62)
[ 123.170541] mfc_encode_header: MFCINST_ERR_ENC_SEQ_HEADER_FAIL ....Intr Code (32)
SsbSipMfcEncInit: IOCTL_MFC_ENC_INIT (-3002) failed
显然在ioctl(fd, IOCTL_MFC_ENC_INIT, arg)这里就出问题了。
这是什么原因呢?
[ 123.170457] mfc_wait_for_done: Decode Error Returned Disp Error Status(0), Dec Error Status(62)
[ 123.170541] mfc_encode_header: MFCINST_ERR_ENC_SEQ_HEADER_FAIL ....Intr Code (32)
SsbSipMfcEncInit: IOCTL_MFC_ENC_INIT (-3002) failed
显然在ioctl(fd, IOCTL_MFC_ENC_INIT, arg)这里就出问题了。
这是什么原因呢?
|
发现一个问题,我必须设置 EnableFRMRateControl=1,否则就出现MfcEncInit的错误。
但是现在编出来的h264文件无法播放,mplayer/ffmpeg都报错
no frame!
[h264 @ 0x102047c00] non-existing PPS referenced
[h264 @ 0x102047c00] non-existing PPS 0 referenced
[h264 @ 0x102047c00] decode_slice_header error
但是现在编出来的h264文件无法播放,mplayer/ffmpeg都报错
no frame!
[h264 @ 0x102047c00] non-existing PPS referenced
[h264 @ 0x102047c00] non-existing PPS 0 referenced
[h264 @ 0x102047c00] decode_slice_header error
|
要先解析文件格式类型
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。