ArmSoM-RK3588编解码之mpp解码demo解析:mpi_dec_test

1. 简介

  • [RK3588从入门到精通] 专栏总目录

  • mpi_dec_test 是rockchip官方解码 demo

  • 本篇文章进行mpi_dec_test 的代码解析,解码流程解析

2. 环境介绍

  • 硬件环境:
    ArmSoM-W3 RK3588开发板

  • 软件版本:
    OS:ArmSoM-W3 Debian11

3. mpp解码流程解析

在这里插入图片描述

  • mpp_create :获取 MppCtx 实例以及 MppApi 结构体
  • mpp_init: 初始化MppCtx 的编解码类型与格式
  • mpi->control:通过相应的命令来配置解码参数
  • decode_put_packet:输入码流:编码数据 MppPacke,例如264、265数据
  • decode_get_frame: 获取解码的数据存放到MppFrame,例如YUV、RGB数据
  • mpi->reset:使解码器恢复为正常初始化后的状态。
  • mpp_destroy:释放申请的内存空间,做销毁善后工作

4. 重要函数解析

mpp_init函数:初始化MppCtx 的编解码类型与格式

mpp_init函数原型:

MPP_RET mpp_init(MppCtx ctx, MppCtxType type, MppCodingType coding)

mpp_init函数调用实例:

ret = mpp_init(ctx, MPP_CTX_DEC, MppCodingType::MPP_VIDEO_CodingAVC);
if (ret){mpp_err("mpp_init failed ret %d\n", ret);goto MPP_TEST_OUT;}

mpp_init函数参数解析:

  • MppCtxType 参数:初始化编码还是解码

    MPP_CTX_DEC : 解码
    MPP_CTX_ENC : 编码
    
  • MppCodingType 参数:编解码的格式

    MPP_VIDEO_CodingAVC :   H.264
    MPP_VIDEO_CodingHEVC:   H.265
    MPP_VIDEO_CodingVP8 :   VP8
    MPP_VIDEO_CodingVP9 :   VP9
    MPP_VIDEO_CodingMJPEG : MJPEG
    

5. mpi_dec_test 流程解析

mpi_dec_test 解码命令举例:

sudo mpi_dec_test -i /oem/200frames_count.h264 -t 7 -n 200 -o /oem/decode.yuv -w 1920 -h 1080

mpi_dec_test 流程解析:

main(  ) ---> dec_decode(  ) ---> thread_decode(  ) ---> dec_simple(  ) ---> mpp_destroy(  )
  • main函数根据传进来的参数(参数char **argv 对应命令中的 -i /oem/200frames_count.h264 -t 7 -n 200 -o /oem/decode.yuv -w 1920 -h 1080)对参数进行解析保存到 MpiDecTestCmd * cmd 结构体中
  • dec_decode(cmd) 函数是封装好的解码函数,传入 MpiDecTestCmd * cmd 结构体即可完成解码
  • dec_decode 函数执行了一些MPP的初始化操作:mpp_create() mpp_init() ,mpp_dec_cfg_init() , mpi->control。初始化之后创建解码线程: thread_decode 进行解码。
  • 解码线程: thread_decode 线程根据 cmd->simple 变量判断是使用 dec_simple 解码还是 dec_advanced 解码
  • 解码完最后一帧之后执行 pthread_join() 函数等待解码线程: thread_decode 结束后做线程释放工作
  • 线程释放完毕之后执行reset复位操作:mpi->reset(ctx)把解码器恢复为正常初始化后的状态。
  • 解码器复位之后通过mpp_destroy()释放申请的内存空间,进行一些销毁操作防止内存泄漏。

6. mpi_dec_test使用实例

终端执行解码命令:

sudo mpi_dec_test -i /oem/200frames_count.h264 -t 7 -n 200 -o /oem/decode.yuv -w 1920 -h 1080
  • 其中,-t 7 表示是输入 H.264 码流,-i 表示输入文件,-n 200 表示解码 200 帧 -w 图像宽度 -h 图像高度

解码输出如下:

Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_utils: input file /oem/200frames_count.h264 size 87402
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_utils: cmd parse result:
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_utils: input  file name: /oem/200frames_count.h264
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_utils: output file name: /oem/decode.yuv
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_utils: width      : 1920
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_utils: height     : 1080
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_utils: type       :    7
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_utils: max frames :  200
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: mpi_dec_test start
Oct 18 12:26:06 linaro-alip mpp[2150]: mpp_info: mpp version: 8a54ab8d author: xueman.ruan   2023-06-16 [h264d]: fix the derivation of mbaff.
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 mpi_dec_test decoder test start w 1920 h 1080 type 7
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode_get_frame get info changed found
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decoder require buffer w:h [640:480] stride [640:480] buf_size 614400
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 0
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 1
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 2
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 3
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 4
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 5
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 6
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 7
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 8
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 9
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 10
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 11
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 12
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 13
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 14
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 15
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 16
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 17
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 18
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 19
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 20
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 21
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 22
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 23
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 24
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 25
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 26
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 27
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 28
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 29
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 30
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 31
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 32
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 33
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 34
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 35
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 36
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 37
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 38
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 39
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 40
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 41
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 42
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 43
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 44
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 45
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 46
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 47
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 48
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 49
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 50
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 51
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 52
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 53
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 54
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 55
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 56
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 57
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 58
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 59
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 60
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 61
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 62
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 63
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 64
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 65
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 66
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 67
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 68
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 69
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 70
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 71
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 72
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 73
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 74
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 75
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 76
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 77
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 78
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 79
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 80
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 81
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 82
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 83
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 84
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 85
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 86
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 87
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 88
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 89
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 90
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 91
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 92
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 93
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 94
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 95
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 96
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 97
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 98
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 99
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 100
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 101
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 102
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 103
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 104
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 105
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 106
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 107
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 108
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 109
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 110
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 111
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 112
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 113
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 114
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 115
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 116
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 117
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 118
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 119
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 120
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 121
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 122
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 123
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 124
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 125
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 126
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 127
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 128
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 129
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 130
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 131
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 132
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 133
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 134
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 135
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 136
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 137
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 138
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 139
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 140
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 141
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 142
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 143
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 144
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 145
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 146
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 147
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 148
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 149
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 150
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 151
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 152
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 153
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 154
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 155
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 156
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 157
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 158
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 159
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 160
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 161
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 162
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 163
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 164
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 165
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 166
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 167
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 168
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 169
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 170
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 171
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 172
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 173
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 174
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 175
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 176
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 177
Oct 18 12:26:06 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 178
Oct 18 12:26:07 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 179
Oct 18 12:26:07 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 180
Oct 18 12:26:07 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 181
Oct 18 12:26:07 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 182
Oct 18 12:26:07 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 183
Oct 18 12:26:07 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 184
Oct 18 12:26:07 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 185
Oct 18 12:26:07 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 186
Oct 18 12:26:07 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 187
Oct 18 12:26:07 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 188
Oct 18 12:26:07 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 189
Oct 18 12:26:07 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 190
Oct 18 12:26:07 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 191
Oct 18 12:26:07 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 192
Oct 18 12:26:07 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 193
Oct 18 12:26:07 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 194
Oct 18 12:26:07 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 195
Oct 18 12:26:07 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 loop again
Oct 18 12:26:07 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 196
Oct 18 12:26:07 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 197
Oct 18 12:26:07 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 198
Oct 18 12:26:07 linaro-alip mpp[2150]: mpi_dec_test: 0x55aceed120 decode get frame 199
Oct 18 12:26:07 linaro-alip mpp[2150]: mpi_dec_test: decode 200 frames time 328 ms delay   2 ms fps 609.30
Oct 18 12:26:07 linaro-alip mpp[2150]: mpi_dec_test: test success max memory 5.86 MB

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/113952.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[TCP1P 2023] 部分crypto,pwn,reverse

Crypto Final Consensus 这是个AES爆破密钥的题,加密方法是先后用两个密钥加密。远程先给出加密后的flag,然后允许输入值并进行加密。 from Crypto.Cipher import AES import random from Crypto.Util.Padding import pada b"" b b"&…

SystemVerilog Assertions应用指南 Chapter1.29“ disable iff构造

在某些设计情况中,如果一些条件为真,则我们不想执行检验。换句话说,这就像是一个异步的复位,使得检验在当前时刻不工作。SVA提供了关键词“ disable iff来实现这种检验器的异步复位。“ disable iff”的基本语法如下。 disable iff (expression) <property definition> …

Modelsim无法生成LICENSE的问题

按照网上的破解教程&#xff0c;将mgls.dll和mgls64.dll属性都是去掉只读后&#xff0c;点击patch64_dll.bat文件生成LICENSE&#xff0c;发现在弹出的对话框中一直提示找不到其文件&#xff0c;无法正常生成LICENSE。 解决方法&#xff1a; 1.按winR键或者在电脑搜索界面中输…

【论文解读】The Power of Scale for Parameter-Efficient Prompt Tuning

一.介绍 1.1 promote tuning 和 prefix tuning 的关系 “前缀调优”的简化版 1.2 大致实现 冻结了整个预训练模型&#xff0c;并且只允许每个下游任务附加k个可调令牌到输入文本。这种“软提示”是端到端训练的&#xff0c;可以压缩来自完整标记数据集的信号&#xff0c;使…

ssrf漏洞学习

目录 ssrf漏洞 相关函数 相关协议 file协议 dict协议 gopher协议 ctfshow ssrf web351 web352 web353 web354过滤01 web355五位长度 web356 三位长度 web357 DNS重定向 web358 正则 ssrf漏洞 SSRF&#xff08;Server-Side Request Forgery&#xff0c;服务器端请…

位操作符^以及正负数在计算机中的存储

(数据是怎么在计算机中存储的)​ 正数和负数在内存中都是以补码的形式存储的&#xff0c;但不同的是正数的原码&#xff0c;补码&#xff0c;反码都是相同的&#xff0c;而负数的原码&#xff0c;补码和反码是不同的。 负数的原码&#xff0c;补码&#xff0c;反码之间存在什么…

人大金仓与哪吒科技达成战略合作,加快推动智慧港口建设

近日&#xff0c;人大金仓与哪吒港航智慧科技&#xff08;上海&#xff09;有限公司&#xff08;以下简称“哪吒科技”&#xff09;达成战略合作。双方旨在共享优势资源&#xff0c;联合为港口企业转型升级提供完备的技术支撑与行业解决方案。人大金仓总裁杜胜、哪吒科技总经理…

elementui中el-select和el-tree实现下拉树形多选功能

实现效果如下&#xff1a; 代码如下&#xff1a; html中 <el-col :lg"12"><el-form-item label"可用单位" prop"useOrgListTemp"><div class"departAll"><el-selectref"selectTree"v-model"valu…

英语——分享篇——每日200词——2601-2800

2601——resistant——[rɪzɪstənt]——adj.抵抗的——resistant——resi热死(拼音)st石头(拼音)ant蚂蚁(熟词)——热死了石头上的蚂蚁还在抵抗——The body may be less resistant if it is cold. ——天冷时&#xff0c;身体的抵抗力会下降。 2602——prospect——[prɒspe…

42911-2023 碳纤维增强复合材料 密封压力容器加速吸湿和过饱和调节方法

1 范围 本文件描述了碳纤维增强复合材料加速吸湿和过饱和调节的方法&#xff0c;该方法在温度高于100 ℃但低 于试验材料玻璃化转变温度(T) 的饱和水蒸气密封压力容器中进行。 本文件适用于玻璃化转变温度大于150℃的热固性碳纤维增强复合材料。热塑性碳纤维增强复合 材料也…

html中公用css、js提取、使用

前言 开发中&#xff0c;页面会有引用相同的css、js的情况&#xff0c;如需更改则每个页面都需要调整&#xff0c;重复性工作较多&#xff0c;另外在更改内容之后上传至服务器中会有缓存问题&#xff0c;特针对该情况对公用css、js进行了提取并对引用时增加了版本号 一、提取…

Linux:权限是什么

本篇文章来简单介绍一下Linux操作系统中权限的基本概念和一些操作方法&#xff0c;对Linux权限有一个基本的了解&#xff0c;希望对大家学习Linux有所帮助。 目录 1.权限的概念 2.Linux权限管理 2.1 文件访问者的分类 2.2 文件类型与访问权限&#xff08;事物属性&#xff…

019-第三代软件开发-Git提交规范

第三代软件开发-Git提交规范 文章目录 第三代软件开发-Git提交规范项目介绍Git提交规范分支规范Commit Message FormatHeaderBodyFooterRevert 总结一下 关键字&#xff1a; Qt、 Qml、 git、 Commit、 release 项目介绍 欢迎来到我们的 QML & C 项目&#xff01;这个…

【广州华锐互动】全屋智能家电VR虚拟仿真演示系统

在过去的几年中&#xff0c;智能家居的概念已经逐渐进入人们的生活。然而&#xff0c;它的真正潜力和最终形态可能还未被完全发掘。一种新兴的技术&#xff0c;虚拟现实&#xff08;VR&#xff09;&#xff0c;为我们提供了一种全新的方式来理解和体验智能家居。VR公司广州华锐…

Paper Reading:《Consistent-Teacher: 减少半监督目标检测中不一致的伪目标》

目录 简介工作重点方法ASA, adaptive anchor assignmentFAM-3D, 3D feature alignment moduleGMM, Gaussian Mixture Model实施细节 实验与SOTA的比较消融实验 总结 简介 题目&#xff1a;《Consistent-Teacher: Towards Reducing Inconsistent Pseudo-targets in Semi-supervi…

系统设计 - 我们如何通俗的理解那些技术的运行原理 - 第三部分:缓存

本心、输入输出、结果 文章目录 系统设计 - 我们如何通俗的理解那些技术的运行原理 - 第三部分&#xff1a;缓存前言缓存数据存储在什么地方图层说明 为什么 Redis 这么快&#xff1f;如何使用 Redis顶级缓存策略弘扬爱国精神 系统设计 - 我们如何通俗的理解那些技术的运行原理…

SystemVerilog学习(4)——自定义结构

一、 通过typedef来创建用户自定义类型 typedef语句可以用来创建新的类型。例如,你要求一个算术逻辑单元(ALU)在编译时可配置,以适应8比特、16比特,24比特或32比特等不同位宽的操作数。在Verilog中,你可以为操作数的位宽和类型分别定义一个宏(macro),如例2.32所示。 SV则提供了…

sqlmap --os-shell选项原理解析

文章目录 sqlmap --os-shell选项原理解析原理解析总结 sqlmap --os-shell选项原理解析 以sqli第一关为例。 --os-shell 是 SQLMap 工具的一个参数&#xff0c;用于在成功注入数据库后&#xff0c;执行操作系统命令并获取其输出。 sqlmap -u "http://192.168.188.199/sq…

100天掌握网络安全知识点!

1.网络安全是什么 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 2.网络安全市场 一、是市场需求量高&#xff1b; 二、则是发展相对成熟…

数据库基础(二)【MySQL】

文章目录 什么是数据库数据库是运行在操作系统中的软件 为什么需要数据库有哪些数据库MySQL 的体系架构网络连接层/API 层数据库服务层存储引擎层系统文件层 什么是 SQL参考资料 阅读前导&#xff1a;理论上数据库可以在操作系统和网络之前学习&#xff0c;但是这样会让学习层次…