Herman Chen
Herman Chen
没有报错信息,无法判断……
解码输出延迟和码流输入模式也相关,按一帧送入还是按长度送入,还有码流是否有输出序和解码序不一致的情况 control IMMEDIATE_OUT 这样是解码序输出,会快一些
info change 帧拿到之后再去获取一次
如果知道分辨率的话,最高效的方法是纯外部模式分配好,一开始就 commit 进来,info change 的帧都不会出,可以直接出第一帧
参考下 mpp_buffer_test
这里是流程的例子,这外 dmabuf 的 buffer 可以用外部来的 buffer,可以开 cache 最好不要 cpu 访问,一定要 cpu 访问的话,开一个 buffer group,带上 MPP_BUFFER_FLAGS_CACHABLE 的 flag,然后从这个 buffer group 里 get buffer 出来,不用要 test 里从 NULL group 里获取的方式
试试 test_cache 分支下 431058ad9ded69e9ff95b99040131526344dc798 这个提交里的处理 mpi_dec_test 加一下 -bufmode e 的选项来解码看看
可以先用 RGA 把 RGB 转 YUV420,然后再给编码器编码
RGB 转 YUV420 是会损失色度分量的,这个无法完全避免,只能缓解
解码器还没有实现这个功能,sei 包在上层解析的时候可以直接读取,可以不通过解码器来获取