Toybrick

MPP编码出现invalid pointer

zhuo799154051

中级会员

积分
443
楼主
发表于 2020-11-17 15:05:42    查看: 6178|回复: 4 | [复制链接]    打印 | 只看该作者
本帖最后由 zhuo799154051 于 2020-11-17 15:07 编辑

如题,下面是运行的结果
mpp[32570]: mpp_rt: NOT found ion allocator
mpp[32570]: mpp_rt: found drm allocator
mpp[32570]: mpp_info: mpp version: unknown mpp version for missing VCS info
mpp[32570]: h264e_api_v2: MPP_ENC_SET_PREP_CFG w:h [640:480] stride [640:480]
mpp[32570]: mpp_enc_v2: send header for codec/prep cfg change
mpp[32570]: h264e_api_v2: MPP_ENC_SET_RC_CFG bps 768000 [720000 : 816000] fps [20:20] gop 60
mpp[32570]: mpp_enc_v2: send header for codec/prep cfg change
mpp[32570]: mpp_packet: check_is_mpp_packet pointer 0x7fc38c1680 failed on check
mpp[32570]: mpp_packet: mpp_packet_copy invalid input: dst 0x7fc38c1680 src 0x558af14b80
mpp[32570]: mpp_enc_v2: mode cbr bps [720000:768000:816000] fps fix [20/1] -> fix [20/1] gop i [60] v [0]
mpp[32570]: hal_h264e_vepu_v2: warning: stride by bytes 640 is smarller than width 640 mutiple by pixel size 2
mpp[32570]: mpp_time: timer 0x7f94000900 start looping
mpp[32570]: hal_h264e_vepu_v2: multiple stride 640 by pixel size 2 and set new byte stride to 1280
encoded frame 0 size 61727
encoded frame 1 size 9437
encoded frame 2 size 4132
encoded frame 3 size 3147
encoded frame 4 size 3177
encoded frame 5 size 3041
encoded frame 6 size 2779
encoded frame 7 size 2684
encoded frame 8 size 2156
encoded frame 9 size 2158
encoded frame 10 size 4982
encoded frame 11 size 5068
encoded frame 12 size 5552
encoded frame 13 size 3823
encoded frame 14 size 2841
encoded frame 15 size 1690
encoded frame 16 size 2263
encoded frame 17 size 2501
encoded frame 18 size 4577
encoded frame 19 size 4979
encoded frame 20 size 4665
encoded frame 21 size 4214
encoded frame 22 size 3797
encoded frame 23 size 3284
encoded frame 24 size 3617
encoded frame 25 size 4852
encoded frame 26 size 4230
encoded frame 27 size 2834
encoded frame 28 size 2318
encoded frame 29 size 2470
encoded frame 30 size 3688
encoded frame 31 size 3769
encoded frame 32 size 2884
encoded frame 33 size 2681
encoded frame 34 size 2527
encoded frame 35 size 3950
encoded frame 36 size 3979
encoded frame 37 size 4617
encoded frame 38 size 4843
encoded frame 39 size 3150
encoded frame 40 size 2415
encoded frame 41 size 3237
encoded frame 42 size 2847
encoded frame 43 size 3227
encoded frame 44 size 2685
encoded frame 45 size 2239
encoded frame 46 size 2149
encoded frame 47 size 2523
encoded frame 48 size 3012
encoded frame 49 size 3161
encoded frame 50 size 5112
encoded frame 51 size 4655
encoded frame 52 size 4512
encoded frame 53 size 3170
encoded frame 54 size 2808
encoded frame 55 size 3105
encoded frame 56 size 3187
encoded frame 57 size 3040
encoded frame 58 size 3209
encoded frame 59 size 2580
encoded frame 60 size 54523
encoded frame 61 size 5057
mpp[32570]: mpp_buffer: ~MppBufferService cleaning misc group
mpp[32570]: mpp_buffer: ~MppBufferService cleaning leaked buffer
free(): invalid pointer
Aborted


回复

使用道具 举报

zhuo799154051

中级会员

积分
443
沙发
 楼主| 发表于 2020-11-17 15:09:20 | 只看该作者
本帖最后由 zhuo799154051 于 2020-11-17 15:15 编辑

代码出现free(): invalid pointer是在main函数执行完所有命令之后才出现的。参照mpi_enc_test, 具体的销毁函数如下:
void CameraReader::destroy_mpp(MPP_ENC_DATA* mpp_enc_data)
{
    MPP_RET ret = MPP_OK;
    ret = mpp_enc_data->mpi->reset(mpp_enc_data->ctx);
    if (ret)
    {
        printf("mpi->reset failed\n");
    }
    if (mpp_enc_data->ctx)
    {
        mpp_destroy(mpp_enc_data->ctx);
        mpp_enc_data->ctx = NULL;
    }
    if (mpp_enc_data->frm_buf)
    {
        mpp_buffer_put(mpp_enc_data->frm_buf);
        mpp_enc_data->frm_buf = NULL;
    }
    fclose(mpp_enc_data->fp_output);
}
回复

使用道具 举报

jefferyzhang

版主

积分
12942
板凳
发表于 2020-11-17 15:39:16 | 只看该作者
1. 什么板子
2. mpp是哪里来的
3. mpp版本多少
回复

使用道具 举报

zhuo799154051

中级会员

积分
443
地板
 楼主| 发表于 2020-11-17 16:21:02 | 只看该作者
jefferyzhang 发表于 2020-11-17 15:39
1. 什么板子
2. mpp是哪里来的
3. mpp版本多少

toybrick RK3399proD,官方板子debian10,MPP版本应该是最新的
回复

使用道具 举报

jefferyzhang

版主

积分
12942
5#
发表于 2020-11-17 16:41:00 | 只看该作者
zhuo799154051 发表于 2020-11-17 16:21
toybrick RK3399proD,官方板子debian10,MPP版本应该是最新的

哪里最新的?
mpp源码最新的还是debian10里自带的最新的,自带的话用apt-get upgrade 升级mpp到最新的试试
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表