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,一经查实,立即删除!

相关文章

【算法】二叉树的存储与遍历模板

二叉树的存储与遍历 const int N 1e6 10;// 二叉树的存储,l数组为左节点,r数组为右结点 int l[N], r[N]; // 存储节点的数据 char w[N]; // 节点的下标指针 int idx 0;// 先序创建 int pre_create(int n) {cin >> w[n];if (w[n] #) return -1;l[n] pre_create(idx)…

nginx配置参数详细解析

文章目录 一、第一级参数(全局参数)二、第二级参数events使用http使用 三、第三级参数log_format使用server使用error_log使用use使用(配置事件驱动模型) 四、第四级参数location使用 参考文档 一、第一级参数(全局参数…

Python---变量的作用域

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

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

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

angular 实现模块共享

angular 实现共享模块 新建共享模块: ng g m material material.module.ts import {NgModule } from @angular/core; import {OverlayModule } from @angular/cdk/overlay; import {CdkTreeModule } f

QML Image、AnimatedImage 加载 Gif动图

文章目录 前言一、Image二、AnimatedImage1. cache false2. cache true(默认为true) 总结 前言 Image、AnimatedImage 加载 Gif动图,以及AnimatedImage加载Gif是否缓存会导致的问题 一、Image 使用Image加载Gif,显示的只是一张图…

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…

docker 安装minio 教程

参考:https://blog.csdn.net/weixin_43888891/article/details/122021704 下载最新版Minio镜像 docker pull minio/minio等同于 docker pull minio/minio:latest检查镜像是否下载 docker images创建文件启动前需要先创建Minio外部挂载的配置文件( /home/minio/c…

Java虚拟机(JVM)的调优技巧和实战

JVM是Java应用程序的运行环境,它负责管理Java应用程序的内存分配、垃圾收集等重要任务。然而,JVM的默认设置并不总是适合所有应用程序,因此需要根据应用程序的需求进行调优。通过对JVM进行调优,可以大大提高Java应用程序的性能和可…

【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工业软件生态大会。 本届大会以“共建新一代工业软件体系,引领制造业高质量发展”为主题,集结行业领先企业、行业专家探究工业软件在核心技术、产业链创新和生态建设等方面创…