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

一. 简介

  • [RK3588从入门到精通] 专栏总目录
  • mpi_enc_test 是rockchip官方编码 demo
  • 本篇文章进行mpi_enc_test 的代码解析,编码流程解析

二. 环境介绍

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

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

三. mpp编解码流程解析

在这里插入图片描述

图3.1 RKMPP编码器接口为用户提供了输入图像数据,输出码流的功能
  • mpp_create :获取 MppCtx 实例以及 MppApi 结构体
  • mpp_init: 初始化MppCtx 的编解码类型与格式
  • mpi->control:通过相应的命令来配置编解码参数
  • encode_put_frame:输入图像数据MppFrame,例如YUV、RGB数据
  • encode_get_packet: 获取编码后的码流数据存放到MppPacket,例如H.264、H.265数据
  • mpi->reset:使解码器恢复为正常初始化后的状态。
  • mpp_destroy:释放申请的内存空间,做销毁善后工作

四. 重要函数解析

4.1 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
    

    等等,详细参看rk_type.h定义

4.2 设置编码器参数:test_mpp_enc_cfg_setup

函数原型:

MPP_RET test_mpp_enc_cfg_setup(MpiEncMultiCtxInfo *info)

函数解析:
主要是设置编码器参数,并将编码器参数保存到 MpiEncMultiCtxInfo 结构体中

4.3 编码函数:test_mpp_run

函数原型:

MPP_RET test_mpp_run(MpiEncMultiCtxInfo *info)

函数解析:
输入图像数据MppFrame,获取编码后的码流数据存放到MppPacket

五. mpi_enc_test 流程解析

mpi_enc_test 编码命令举例:

sudo mpi_enc_test -i /oem/decode.yuv -t 7 -n 200 -o /oem/encode.h264 -w 1920 -h 1080 -fps 60

mpi_enc_test 流程解析:

main -> enc_test_multi -> pthread_create(enc_test) -> enc_test -> test_mpp_enc_cfg_setup -> test_mpp_run -> reset -> mpp_destroy -> pthread_join -> MPP_FREE

主要流程:init 初始化 —> test_mpp_enc_cfg_setup设置编码器相关参数 ----> test_mpp_run(info):输入图像数据,输出码流

  • main函数根据传进来的参数(参数char **argv 对应命令中的 -i /oem/decode.yuv -t 7 -n 200 -o /oem/encode.h264 -w 1920 -h 1080 -fps 60)对参数进行解析保存到 MpiEncTestArgs *cmd 结构体中
  • enc_test_multi(cmd, argv[0]); 函数是封装好的编码函数,传入 MpiDecTestCmd * cmd 结构体即可实现 H.265/H.264 视频编码的多路并发处理
  • enc_test_multi(cmd, argv[0]); 函数使用for循环创建新线程并调用 enc_test 来执行编码任务
  • enc_test 函数是整个的编码流程函数。首先执行了一些MPP的初始化操作:mpp_create() mpp_init() ,mpp_enc_cfg_init() , mpi->control。初始化之后执行 test_mpp_enc_cfg_setup函数来设置编码器相关参数。随后再进行最重要的编码操作:test_mpp_run(info):输入图像数据,输出码流
  • 编码完成之后执行reset复位操作:p->mpi->reset(p->ctx)把编码器恢复为正常初始化后的状态。
  • 编码器复位之后通过mpp_destroy()释放申请的内存空间,进行一些销毁操作防止内存泄漏。
  • pthread_join 函数等待编码线程结束,随后调用MPP_FREE(ctxs)函数做线程释放工作
  • 编码线程结束,回到主线程的main()函数,执行mpi_enc_test_cmd_put(cmd), 释放 cmd 对象所占内存

六. mpi_enc_test 使用实例

  • 终端执行编码命令:

    sudo mpi_enc_test -i /oem/decode.yuv -t 7 -n 200 -o /oem/encode.h264 -w 1920 -h 1080 -fps 60
    
  • 将decode.yuv转成h264,分辨率1920x1080,fps60,总帧数200。

  • 其中,-i 表示输入文件,-t 7 表示输出 H.264 码流,-n 200 表示编码 200 帧 -w 图像宽度 -h 图像高度,fps 60

  • 查看编解码输出的信息:

    tail -f /var/log/syslog    //开启新终端,监控输出sudo mpi_enc_test -i /oem/decode.yuv -t 7 -n 200 -o /oem/encode.h264 -w 1920 -h 1080 -fps 60    //转原终端,运行编码程序
    

    编码输出如下:

Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_utils: cmd parse result:
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_utils: input  file name: /oem/decode.yuv
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_utils: output file name: /oem/encode.h264
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_utils: width      : 1920
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_utils: height     : 1080
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_utils: format     : 0
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_utils: type       : 7
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: mpi_enc_test start
Jun 18 16:20:47 linaro-alip mpp[2139]: mpp_info: mpp version: 8a54ab8d author: xueman.ruan   2023-06-16 [h264d]: fix the derivation of mbaff.
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: 0x7fa0001960 encoder test start w 1920 h 1080 type 7
Jun 18 16:20:47 linaro-alip mpp[2139]: mpp_enc: MPP_ENC_SET_RC_CFG bps 15552000 [972000 : 16524000] fps [60:60] gop 120
Jun 18 16:20:47 linaro-alip mpp[2139]: h264e_api_v2: MPP_ENC_SET_PREP_CFG w:h [1920:1080] stride [1920:1080]
Jun 18 16:20:47 linaro-alip mpp[2139]: mpp_enc: mode vbr bps [972000:15552000:16524000] fps fix [60/1] -> fix [60/1] gop i [120] v [0]
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 0    size 28319   qp 10
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 1    size 32698   qp 14
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 2    size 45308   qp 15
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 3    size 40435   qp 15
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 4    size 45222   qp 15
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 5    size 36992   qp 17
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 6    size 44143   qp 17
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 7    size 30927   qp 17
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 8    size 40750   qp 16
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 9    size 49589   qp 18
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 10   size 38120   qp 18
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 11   size 31903   qp 17
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 12   size 44712   qp 17
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 13   size 43897   qp 19
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 14   size 45241   qp 19
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 15   size 36346   qp 19
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 16   size 29973   qp 18
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 17   size 37295   qp 20
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 18   size 51772   qp 20
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 19   size 33378   qp 20
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 20   size 33600   qp 19
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 21   size 37763   qp 21
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 22   size 49116   qp 21
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 23   size 31925   qp 20
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 24   size 46841   qp 19
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 25   size 36214   qp 22
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 26   size 46354   qp 22
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 27   size 37565   qp 21
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 28   size 46092   qp 20
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 loop times 1
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 29   size 15581   qp 20
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 30   size 23445   qp 22
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 31   size 32401   qp 22
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 32   size 28462   qp 22
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 33   size 33358   qp 21
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 34   size 28697   qp 23
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 35   size 35228   qp 22
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 36   size 24997   qp 22
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 37   size 31774   qp 21
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 38   size 39806   qp 23
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 39   size 31097   qp 22
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 40   size 25497   qp 22
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 41   size 36976   qp 21
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 42   size 36927   qp 23
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 43   size 37975   qp 22
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 44   size 31915   qp 22
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 45   size 26709   qp 21
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 46   size 33195   qp 22
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 47   size 46155   qp 23
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 48   size 29497   qp 23
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 49   size 29307   qp 22
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 50   size 33197   qp 23
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 51   size 42712   qp 24
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 52   size 28279   qp 23
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 53   size 40612   qp 22
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 54   size 33483   qp 23
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 55   size 40900   qp 24
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 56   size 32802   qp 24
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 57   size 39739   qp 23
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 loop times 2
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 58   size 14135   qp 22
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 59   size 21344   qp 24
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 60   size 29755   qp 24
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 61   size 25979   qp 24
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 62   size 30094   qp 23
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 63   size 26150   qp 24
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 64   size 32448   qp 24
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 65   size 22886   qp 24
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 66   size 28925   qp 23
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 67   size 36458   qp 25
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 68   size 28537   qp 24
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 69   size 23470   qp 24
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 70   size 33644   qp 23
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 71   size 33987   qp 24
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 72   size 34409   qp 24
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 73   size 28965   qp 24
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 74   size 23782   qp 23
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 75   size 30565   qp 24
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 76   size 42286   qp 25
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 77   size 26486   qp 25
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 78   size 26157   qp 24
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 79   size 30454   qp 25
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 80   size 39307   qp 26
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 81   size 26085   qp 25
Jun 18 16:20:47 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 82   size 36866   qp 24
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 83   size 31373   qp 25
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 84   size 38846   qp 25
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 85   size 31552   qp 25
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 86   size 37866   qp 24
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 loop times 3
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 87   size 13688   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 88   size 20366   qp 25
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 89   size 28290   qp 25
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 90   size 24927   qp 25
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 91   size 28663   qp 24
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 92   size 25063   qp 25
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 93   size 30803   qp 25
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 94   size 21575   qp 25
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 95   size 27338   qp 24
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 96   size 34735   qp 26
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 97   size 27243   qp 25
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 98   size 22440   qp 25
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 99   size 33794   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 100  size 33975   qp 24
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 101  size 34414   qp 24
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 102  size 28039   qp 25
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 103  size 23884   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 104  size 30492   qp 24
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 105  size 42340   qp 25
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 106  size 26504   qp 25
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 107  size 26186   qp 24
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 108  size 32429   qp 24
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 109  size 41124   qp 25
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 110  size 25814   qp 25
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 111  size 36782   qp 24
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 112  size 31428   qp 25
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 113  size 38736   qp 25
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 114  size 31537   qp 25
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 115  size 37914   qp 24
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 loop times 4
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 116  size 13688   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 117  size 20324   qp 25
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 118  size 28272   qp 25
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 119  size 24945   qp 25
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 120  size 50373   qp 15
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 121  size 25603   qp 24
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 122  size 32347   qp 24
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 123  size 22828   qp 24
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 124  size 28898   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 125  size 36563   qp 25
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 126  size 28604   qp 24
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 127  size 23537   qp 24
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 128  size 33637   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 129  size 34220   qp 24
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 130  size 34337   qp 24
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 131  size 29011   qp 24
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 132  size 23784   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 133  size 30583   qp 24
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 134  size 42288   qp 25
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 135  size 28161   qp 24
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 136  size 27757   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 137  size 32119   qp 24
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 138  size 41349   qp 25
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 139  size 26902   qp 24
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 140  size 38575   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 141  size 32464   qp 24
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 142  size 40765   qp 24
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 143  size 32726   qp 24
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 144  size 39886   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 loop times 5
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 145  size 14182   qp 22
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 146  size 21394   qp 24
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 147  size 29792   qp 24
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 148  size 27333   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 149  size 31698   qp 22
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 150  size 27641   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 151  size 33985   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 152  size 23571   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 153  size 30157   qp 22
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 154  size 37937   qp 24
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 155  size 29964   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 156  size 24665   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 157  size 35541   qp 22
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 158  size 35537   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 159  size 35918   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 160  size 30675   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 161  size 24880   qp 22
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 162  size 31974   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 163  size 43998   qp 24
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 164  size 29454   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 165  size 29434   qp 22
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 166  size 33309   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 167  size 42905   qp 24
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 168  size 28273   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 169  size 40610   qp 22
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 170  size 33655   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 171  size 42553   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 172  size 32763   qp 24
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 173  size 39818   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 loop times 6
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 174  size 14135   qp 22
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 175  size 22401   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 176  size 31085   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 177  size 27330   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 178  size 31714   qp 22
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 179  size 27454   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 180  size 33911   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 181  size 23618   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 182  size 30246   qp 22
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 183  size 38036   qp 24
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 184  size 29962   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 185  size 24672   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 186  size 35546   qp 22
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 187  size 35542   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 188  size 35918   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 189  size 30675   qp 23
Jun 18 16:20:48 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 190  size 24880   qp 22
Jun 18 16:20:49 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 191  size 31974   qp 23
Jun 18 16:20:49 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 192  size 43998   qp 24
Jun 18 16:20:49 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 193  size 29454   qp 23
Jun 18 16:20:49 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 194  size 29434   qp 22
Jun 18 16:20:49 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 195  size 33309   qp 23
Jun 18 16:20:49 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 196  size 42905   qp 24
Jun 18 16:20:49 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 197  size 28273   qp 23
Jun 18 16:20:49 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 198  size 40610   qp 22
Jun 18 16:20:49 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encoded frame 199  size 33655   qp 23
Jun 18 16:20:49 linaro-alip mpp[2139]: mpi_enc_test: chn 0 encode 200 frames time 1841 ms delay   4 ms fps 108.60 bps 15541070
Jun 18 16:20:49 linaro-alip mpp[2139]: mpi_enc_test: mpi_enc_test average frame rate 108.60

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

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

相关文章

Python---变量的作用域

变量作用域:指的是变量的作用范围(变量在哪里可用,在哪里不可用),主要分为两类:局部变量和全局变量。 定义在函数外部的变量就称之为全局变量; 定义在函数内部的变量就称之为局部变量。 # 定义…

nodejs+vue线上生活超市购物商城系统w2c42

超市管理系统的开发流程包括对超市管理系统的需求分析,软件的设计建模以及编写程序实现系统所需功能这三个阶段。对超市管理系统的需求分析。在这个阶段,通过查阅书籍,走访商场搜集相关资料,了解经营者对软件功能的具体所需和建议…

gitlab设置项目clone地址

直接在线修改地址 虽然是个小问题但是我查了很多都是说要去修改配置文件,可是我是docker部署的,修改配置文件之后我还要重新打包镜像想想都不咋规范,后才终于知道可以直接设置,不要改配置文件!!&#xff0…

PHP中cookie与session使用指南

PHP中cookie与session使用指南 Cookie和session的出现,是为了解决http协议无状态交互的窘境,它们都用于存储客户端的相关信息 0x01 Cookie使用 简介 Cookie 是一种在客户端存储数据的机制,通常用于记录用户的状态和偏好。下面将介绍如何在…

【日常总结】Swagger-ui 导入 showdoc (优雅升级Swagger 2 升至 3.0)

一、场景 环境: 二、存在问题 三、解决方案 四、实战 - Swagger 2 升至 3.0 (Open API 3.0) Stage 1:引入Maven依赖 Stage 2:Swagger 配置类 Stage 3:访问 Swagger 3.0 Stage 4:获取 js…

【JUC】十、ForkJoin

文章目录 1、分支合并框架2、案例3、ForkJoinTask4、工作窃取算法5、ForkJoinPool 一个个任务执行在一个个线程上,倘若某一个任务耗时很久,期间其他线程都无事可做,显然没有利用好多核CPU这一计算机资源,因此,出现了&q…

13 redis中的复制的拓扑结构

1、一主一从 为了性能考虑,主节点可以不开启AOF,但是要避免重启。 2、一主多从 适用于读操作的场景。由于从节点多,所以主的复制压力大 3、树状主从 数据先同步到redisB,redisC从节点C,E来看,redisB相当于主机了,可以…

【JavaEE】Servlet实战案例:表白墙网页实现

一、功能展示 输入信息: 点击提交: 二、设计要点 2.1 明确前后端交互接口 🚓接口一:当用户打开页面的时候需要从服务器加载已经提交过的表白数据 🚓接口二:当用户新增一个表白的时候,…

玩转系统|长亭雷池WAF详细使用教程——深入了解

目录 配置防护站点 界面操作​ 如何配置域名、端口、上游服务器​ 工作原理​ 在单独设备上部署雷池(推荐)​ 直接在网站服务器上部署雷池​ 和其他反代设备一起部署的情况​ 配置后网站无法访问,如何排查​ 测试防护效果 确认网站…

ETL-使用kettle批量复制sqlserver数据到mysql数据库

文章标题 1、安装sqlserver数据库2、下载kettle3、业务分析4、详细流程(1)转换1:获取sqlserver所有表格名字,将记录复制到结果(2)转换2:从结果设置变量(3)转换3&#xff…

【广州华锐互动】VR溺水预防教育:在虚拟世界中学会自救!

在现代社会中,水上安全和救援行动的重要性不言而喻。尤其在自然灾害、游泳事故或航海事故中,有效的救援行动可以挽救许多生命。然而,传统的救援训练往往存在成本高、风险大、效率低等问题。在这样的背景下,虚拟现实(VR…

Oracle实时同步技术

Oracle数据库的价值 Oracle数据库是一种高度可靠、安全和强大的关系型数据库管理系统,它具有以下几个方面的价值: 可靠性和稳定性:Oracle数据库以其高度可靠性、稳定性和数据完整性而闻名于世。 安全性:Oracle数据库提供了一系列…

【linux】安装telnet

Telnet Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令&#xf…

子虔科技亮相2023工业软件生态大会 以先进理念赋能工业软件发展

作为云化工业软件领先企业,子虔科技携多项全新云原生产品亮相2023工业软件生态大会。 本届大会以“共建新一代工业软件体系,引领制造业高质量发展”为主题,集结行业领先企业、行业专家探究工业软件在核心技术、产业链创新和生态建设等方面创…

XmlElement注解在Java的数组属性上,以产生多个相同的XML元素

例如&#xff0c;下面这段XML数据&#xff0c;有多个data元素&#xff0c;并且它们级别相同: <?xml version"1.0" encoding"UTF-8"?><request><reqtype>05</reqtype><secret>test</secret><body><userid&…

51单片机的智能浇花系统【含proteus仿真+程序+报告+原理图】

1、主要功能 该系统由AT89C51单片机LCD1602显示模块DHT11温湿度模块DS1302时间模块继电器驱动水泵模块光敏传感器等模块构成。适用于智能浇花、自动浇花、智能盆栽等相似项目。 可实现基本功能: 1、LCD1602实时显示北京时间、土壤温湿度、光照强度等信息 2、DHT11采集温湿度信…

使用kafka_exporter监控Kafka

prometheus 监控 kafka 常见的有两种开源方案,一种是传统的部署 exporter 的方式,一种是通过 jmx 配置监控, 项目地址: kafka_exporter:https://github.com/danielqsj/kafka_exporterjmx_exporter:https://github.com/prometheus/jmx_exporter本文将采用kafka_exporter方…

数据库基础入门 — SQL

我是南城余&#xff01;阿里云开发者平台专家博士证书获得者&#xff01; 欢迎关注我的博客&#xff01;一同成长&#xff01; 一名从事运维开发的worker&#xff0c;记录分享学习。 专注于AI&#xff0c;运维开发&#xff0c;windows Linux 系统领域的分享&#xff01; 本…

原来 TinyVue 组件库跨框架(Vue2、Vue3、React、Solid)是这样实现的?

本文由 TinyVue 组件库核心成员郑志超分享&#xff0c;首先分享了实现跨框架组件库的必要性&#xff0c;同时通过演示Demo和实际操作向我们介绍了如何实现一个跨框架的组件库。 前言 前端组件库跨框架是什么&#xff1f; 前端组件库跨框架是指在不同的前端框架&#xff08;如…

Go——二、变量和数据类型

Go 一、Go语言中的变量和常量1、Go语言中变量的声明2、如何定义变量方式1&#xff1a;方式2&#xff1a;带类型方式3&#xff1a;类型推导方式定义变量方式4&#xff1a;声明多个变量总结 3、如何定义常量4、Const常量结合iota的使用 二、Golang的数据类型1、概述2、整型2.1 类…