Firefly开源社区

标题: H264解码速度 [打印本页]

作者: nust20    时间: 2017-5-25 14:53
标题: H264解码速度
大家好,我是用OMX接口在Android下做H264的解码,识别的解码器是OMX.rk.video_decoder.avc。给一帧码流,出一帧解码数据的方式。测试解码一帧需要耗时90多ms。
请问是OMX实现不好还是给一帧出一帧的方式就是这么慢?
同样的码流同样的代码,在华为和中兴的手机上,30fps一点问题也没有的。
作者: nust20    时间: 2017-5-25 15:07
现在在看MPP,不知道直接调用MPP的解码速度能有多少?
作者: nust20    时间: 2017-5-26 12:02
01-01 13:08:29.162: I/mpi_dec_test(262): decode_get_frame get frame 43
01-01 13:08:29.172: I/mpi_dec_test(262): decode_get_frame get frame 44
01-01 13:08:29.183: I/mpi_dec_test(262): decode_get_frame get frame 45
01-01 13:08:29.193: I/mpi_dec_test(262): decode_get_frame get frame 46
01-01 13:08:29.204: I/mpi_dec_test(262): decode_get_frame get frame 47
01-01 13:08:29.214: I/mpi_dec_test(262): decode_get_frame get frame 48
01-01 13:08:29.224: I/mpi_dec_test(262): decode_get_frame get frame 49
01-01 13:08:29.422: I/mpi_dec_test(262): decode_get_frame get frame 50


MPP测试普通帧解码只要10ms多点,碰到I帧这种大帧,耗时就多了。但这应该是mpi_dec_test这个程序的实现问题。希望我每次完整码流的解码速度都能达到60fps

作者: jingjin221    时间: 2017-5-27 16:47
兄弟,别开玩笑了。。。纯解码,不渲染,在毫秒级别!!!!!
作者: nust20    时间: 2017-5-31 09:57
jingjin221 发表于 2017-5-27 16:47
兄弟,别开玩笑了。。。纯解码,不渲染,在毫秒级别!!!!!

没开玩笑,不过你说的也对,mpi_dec_test非I帧的10ms多是包含存文件的。I帧确实是这个测试程序有问题。用OMX库测试解一帧就是要90多ms(不包含存文件)。
作者: nust20    时间: 2017-5-31 18:33
本帖最后由 nust20 于 2017-5-31 18:35 编辑

21 8 9 8 8 8 9 9 8 9 8 9 9 8 8
19 8 8 8 8 9 8 8 8 9 9 8 8 8 9

RK3288测试,从mpp_packet_write,到mpi->decode_get_frame拿到解码数据,I帧解码耗时18~21ms,P帧解码耗时8~9ms。
设置MPP_DEC_SET_PARSER_SPLIT_MODE为0(每次给一帧完成的码流),设置MPP_SET_OUTPUT_BLOCK为MPP_POLL_BLOCK,等待解码完成。





欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1