sdk-hwV1.3/external/fast-user-adapter/rt_media/demo/rt_media-demo使用说明.md

23 KiB
Executable File
Raw Permalink Blame History

title: RT-Media Demo subtitle: 使用说明 author: AWA1908 changelog: - ver: 1.0 date: 2022.9.16 author: AWA1908 desc: | 初版RT-Media Demo使用说明。 - ver: 1.1 date: 2022.10.11 author: AWA1771 desc: | 整理文档结构和格式,功能、配置、参数说明、测试命令示例、生成文件。

RT-Media Demo使用说明

RT-Media主要提供视频类Demo。

demo_video_in

功能:视频采集与编码

配置:勾选对应配置后,编译时会将其拷贝到/bin目录下。

make menuconfig
Allwinner -> rt_media demo selection -> demo_video_in

参数说明:

-n     编码帧数未考虑pts情况下250帧大约=10seg: -n 250
-f0    channel0 编码格式0:h264 encoder, 1:jpeg_encoder, 2:h265 encodereg: -f0 0
-f1    channel1 编码格式, eg: -f1 0
-s0    channel0 输入分辨率 1280x720 1920x1080 2560x1440 etceg: -s0 2560x1440
-ds0   channel0 输出分辨率,如果无输入,即等于输入分辨率 1280x720 1920x1080 2560x1440 etceg: -ds0 2560x1440
-s1    channel1 输入分辨率eg: -s1 2560x1440
-b0    chanenl0 码率大小单位bps, eg: -b0 2097152表示2M
-b1    chanen11 码率大小单位bps, eg: -b1 2097152表示2M
-in    编码本地yuv/lbc文件搭配-local使用最好设置绝对路径, eg: -in mnt/extsd/yuv/720p.yuv
-out   输出码流文件路径名,最好设置绝对路径, eg: -out mnt/extsd/test.h264
-snd   开启channel 1通道子码流, 0: 关闭, 1开启eg: -snd 1
-trd   开启channel 2通道主要用于获取csi yuv和catch jpg, 0: 关闭, 1开启eg: -trd 1
-local 编码本地yuv0: 关闭, 1开启,eg: -local 1
-pf    channel0 yuv格式NV12 = 0, NV21 = 1, YV12 = 2, YV21 = 3, LBC_25X = 4eg: -pf 1
-pf1   channel1 yuv格式NV12 = 0, NV21 = 1, YV12 = 2, YV21 = 3, LBC_25X = 4eg: -pf1 1
-pf2   channel2 yuv格式NV12 = 0, NV21 = 1, YV12 = 2, YV21 = 3, LBC_25X = 4eg: -pf2 1
-vn    channel0 vipp num选择eg: -vn 0
-vn1   channel1 vipp num选择eg: -vn1 4
-vn2   channel2 vipp num选择eg: -vn2 8
-sp    channel0 sharp开关0: 关闭, 1开启打开后内核使用isp sharp参数仅用户测试可参考接口AWVideoInput_SetSharp eg: -sp 1
-js    channel3 catch jpg size, 1280x720 1920x1080 2560x1440 etceg: -js 1920x1080
-online channel0 online mode开关0: 关闭, 1开启 eg: -online 1
-sbn    online mode share buffer num, 1 or 2eg: -sbn 2
-crop  用于测试crop功能eg: -crop 1
-gray  彩转灰功能eg: -gray 1
-wbyuv yuv回写保存具体参数请查看init_wbyuv_param_infoeg: -wbyuv 1
-pir   P帧帧内刷新功能eg: -pir 1
-nr    用于测试2D/3D nr默认参数请查看init_2d_3d_parameg: -nr 1
-aiisp 用于测试AI-ISP0关闭1开启默认关闭
-tdmbuf 用于配置tdm rx buf个数一般用于AI-ISP测试默认0对应驱动会申请5个buf
-aiispintv 用于配置aiisp switch interval默认0表示不切换设置非0表示间隔多少帧切换AI-ISP开关单位是帧数

测试命令示例:

  1. 视频采集+编码

    demo_video_in -n 40 -s0 1920x1088
    

    生成文件:/tmp/stream0_xx.h264

  2. 视频采集+编码,同时包含人形检测、移动侦测

    demo_video_in -n 40 -s0 1920x1088 -f0 0 -pf 4 -trd 1 -pf2 0
    

    生成文件:/tmp/stream0_xx.h264

demo_encoder

功能:演示编码功能

配置:勾选对应配置后,编译时会将其拷贝到/bin目录下。

make menuconfig
Allwinner-> rt_media demo selection -> demo_encoder

参数说明:

-n,--encode_frame_num   编码帧数未考虑pts情况下250帧大约=10seg: -n 250。 param->encoder_num
-f0,--encode_format0    channel0编码格式0:h264 encoder, 1:jpeg_encoder, 2:h265 encodereg: -f0 0。 param->c0_encoder_format
-s0,--srcsize           channel0编码分辨率 1280x720 1920x1080 2560x1440 etc, eg: -s0 2560x1440。 param->c0_src_size, param->c0_src_w, param->c0_src_h
-ds0   channel0         channel0输出分辨率如果未设置即等于输入分辨率 1280x720 1920x1080 2560x1440 etceg: -ds0 2560x1440。 param->c0_dst_size, param->c0_dst_w, param->c0_dst_h
-vn,--vippnum           channel0使用的vipp编号。e.g.: -vn 0。 param->use_vipp_num
-pf,--pxlformat         channel0的vipp的pixel format。1:RT_PIXEL_YVU420SP, 4: RT_PIXEL_LBC_25X, e.g.:-pf 4。 param->pixelformat
-sp,--sharp             channel0是否开启编码锐化。0:不开启1:开启。e.g.: -sp 0。 param->enable_sharp
-online,--online_mode   channel0是否开启在线编码。 e.g.: -online 0。 param->bonline_channel
-sbn,--share_buf        channel0在线编码的buf数量。e.g.: -sbn 2。param->share_buf_num
-b0,--bitrate           channel0的码率。单位bps。 e.g.: -b0 1500000。 param->c0_bitrate
-cs,--colorspace        isp的颜色空间。取值为7:V4L2_COLORSPACE_JPEG, 3:V4L2_COLORSPACE_REC709, 31:V4L2_COLORSPACE_REC709_PART_RANGE
-out,--outputfile       输出文件的路径的前缀。e.g.: /mnt/extsd/stream0_encoder。param->OutputFilePath
注意:
1. -n参数如果针对jpg编码1帧编jpg图片>1帧编mjpg视频
2. lbc格式scaler range[lbc-format] is 1x-2x

测试命令示例:

demo_encoder -n 40 -s0 1920x1088 -f0 0
demo_encoder -n 150 -s0 1920x1088 -f0 0 -vn 0 -pf 4 -sp 1 -b0 1500000 -cs 3 -out /mnt/extsd/demo_encoder_stream0
demo_encoder -n 150 -s0 1920x1088 -ds0 2560x1440 -f0 0 -vn 0 -pf 1 -sp 1 -b0 2000000 -cs 3 -out /mnt/extsd/demo_encoder_stream0

生成文件:

H.264/tmp/stream0_encoder_xx.h264
H.265/tmp/stream0_encoder_xx.h265
JPEG/tmp/jpg_0.jpg
MJPEG/tmp/jpg_0.mjpeg

demo_roi

功能演示编码ROI功能

配置:勾选对应配置后,编译时会将其拷贝到/bin目录下。

make menuconfig
Allwinner -> rt_media demo selection -> demo_roi

参数说明:

-roi,--roi              测试roi的开关0: 关闭, 1开启 eg: -roi 1
-n,--encode_frame_num   编码帧数未考虑pts情况下250帧大约=10seg: -n 250。 param->encoder_num
-f0,--encode_format0    channel编码格式0:h264 encoder, 1:jpeg_encoder, 2:h265 encodereg: -f0 0。 param->c0_encoder_format
-s0,--srcsize           channel编码分辨率 1280x720 1920x1080 2560x1440 etc, eg: -s0 2560x1440。 param->c0_src_size, param->c0_src_w, param->c0_src_h
-vn,--vippnum           channel使用的vipp编号vipp编号就作为channel编号。e.g.: -vn 0。 param->use_vipp_num
-pf,--pxlformat         channel的vipp的pixel format。1:RT_PIXEL_YVU420SP, 4: RT_PIXEL_LBC_25X, e.g.:-pf 4。 param->pixelformat
-sp,--sharp             channel是否开启编码锐化。0:不开启1:开启。e.g.: -sp 0。 param->enable_sharp
-online,--online_mode   channel是否开启在线编码。 e.g.: -online 0。 param->bonline_channel
-sbn,--share_buf        channel在线编码的buf数量。e.g.: -sbn 2。param->share_buf_num
-b0,--bitrate           channel的码率。单位bps。 e.g.: -b0 1500000。 param->c0_bitrate
-out,--outputfile       输出文件的路径的前缀。e.g.: /mnt/extsd/demo_roi_stream0。 param->OutputFilePath
注意:
1. ROI只在h264/h265编码场景下生效jpeg编码器不支持ROI。

测试命令示例:

demo_roi -n 40 -s0 1920x1088 -roi 1
demo_roi -n 150 -s0 1920x1088 -f0 0 -vn 0 -pf 4 -sp 1 -b0 1500000 -cs 3 -roi 1 -out /mnt/extsd/demo_roi_stream0
demo_roi -n 150 -s0 1920x1088 -f0 2 -vn 0 -pf 4 -sp 1 -b0 1500000 -cs 3 -roi 1 -out /mnt/extsd/demo_roi_stream0

生成文件:/tmp/stream0_roi_xx.h264

demo_force_i_frame

功能演示编码强制出I帧功能

配置:勾选对应配置后,编译时会将其拷贝到/bin目录下。

make menuconfig
Allwinner-> rt_media demo selection->demo_force_i_frame

参数说明:

-fi,--force_i           测试force_i_frame的开关0: 关闭, 1开启 eg: -fi 1
-n,--encode_frame_num   编码帧数未考虑pts情况下250帧大约=10seg: -n 250。 param->encoder_num
-f0,--encode_format0    channel0编码格式0:h264 encoder, 1:jpeg_encoder, 2:h265 encodereg: -f0 0。 param->c0_encoder_format
-s0,--srcsize           channel0编码分辨率 1280x720 1920x1080 2560x1440 etc, eg: -s0 2560x1440。 param->c0_src_size, param->c0_src_w, param->c0_src_h
-vn,--vippnum           channel0使用的vipp编号。e.g.: -vn 0。 param->use_vipp_num
-pf,--pxlformat         channel0的vipp的pixel format。1:RT_PIXEL_YVU420SP, 4: RT_PIXEL_LBC_25X, e.g.:-pf 4。 param->pixelformat
-sp,--sharp             channel0是否开启编码锐化。0:不开启1:开启。e.g.: -sp 0。 param->enable_sharp
-online,--online_mode   channel0是否开启在线编码。 e.g.: -online 0。 param->bonline_channel
-sbn,--share_buf        channel0在线编码的buf数量。e.g.: -sbn 2。param->share_buf_num
-b0,--bitrate           channel0的码率。单位bps。 e.g.: -b0 1500000。 param->c0_bitrate
-out,--outputfile       输出文件的路径的前缀。e.g.: /mnt/extsd/demo_force_i_stream0。 param->OutputFilePath
注意:
1. -fi 1时第3帧、第11帧时设置强制I帧设置后可能下一帧就是I帧也可能延后1,2帧出I帧。

开启后默认配置superframe参数参数默认如下

void init_super_frame_cfg(RTVencSuperFrameConfig *sSuperFrameCfg)
{
    sSuperFrameCfg->eSuperFrameMode = VENC_SUPERFRAME_NONE;
    sSuperFrameCfg->nMaxIFrameBits = 30000*8;
    sSuperFrameCfg->nMaxPFrameBits = 15000*8;
}

测试命令示例:

demo_force_i_frame -n 40 -s0 1920x1088 -fi 1
demo_force_i_frame -n 150 -s0 1920x1088 -f0 0 -pf 4 -sp 1 -b0 1500000 -fi 1 -out /mnt/extsd/demo_force_i_stream0
demo_force_i_frame -n 150 -s0 1920x1088 -f0 2 -pf 4 -sp 1 -b0 1500000 -fi 1 -out /mnt/extsd/demo_force_i_stream0

生成文件:/tmp/stream0_force_i_xxx.h264

功能:演示移动侦测功能

配置:勾选对应配置后,编译时会将其拷贝到/bin目录下。

make menuconfig
Allwinner -> rt_media demo selection -> demo_motion_search

参数说明:

-ms,--motion            channel的测试移动侦测的开关, 0: 关闭, 1开启 eg: -ms 1
-n,--encode_frame_num   编码帧数未考虑pts情况下250帧大约=10seg: -n 250。 param->encoder_num
-f0,--encode_format0    channel编码格式0:h264 encoder, 1:jpeg_encoder, 2:h265 encodereg: -f0 0。 param->c0_encoder_format
-s0,--srcsize           channel编码分辨率 1280x720 1920x1080 2560x1440 etc, eg: -s0 2560x1440。 param->c0_src_size, param->c0_src_w, param->c0_src_h
-vn,--vippnum           channel使用的vipp编号vipp编号就作为channel编号。e.g.: -vn 0。 param->use_vipp_num
-pf,--pxlformat         channel的vipp的pixel format。1:RT_PIXEL_YVU420SP, 4: RT_PIXEL_LBC_25X, e.g.:-pf 4。 param->pixelformat
-sp,--sharp             channel是否开启编码锐化。0:不开启1:开启。e.g.: -sp 0。 param->enable_sharp
-online,--online_mode   channel是否开启在线编码。 e.g.: -online 0。 param->bonline_channel
-sbn,--share_buf        channel在线编码的buf数量。e.g.: -sbn 2。param->share_buf_num
-b0,--bitrate           channel的码率。单位bps。 e.g.: -b0 1500000。 param->c0_bitrate
-out,--outputfile       输出文件的路径的前缀。e.g.: /mnt/extsd/demo_reset_size_stream0。 param->OutputFilePath
注意:
1. 移动侦测只在h264/h265编码、ipcCase场景下生效。

开启后默认参数如下:

#define MOTION_SEARCH_HOR_NUM     16
#define MOTION_SEARCH_VER_NUM     9
#define MOTION_SEARCH_TOTAL_NUM   (MOTION_SEARCH_HOR_NUM * MOTION_SEARCH_VER_NUM)

config_0.motion_search_param.en_motion_search = 1;
config_0.motion_search_param.dis_default_para = 1;
config_0.motion_search_param.hor_region_num = MOTION_SEARCH_HOR_NUM;
config_0.motion_search_param.ver_region_num = MOTION_SEARCH_VER_NUM;
config_0.motion_search_param.large_mv_th = 20;
config_0.motion_search_param.large_mv_ratio_th = 12.0f;
config_0.motion_search_param.non_zero_mv_ratio_th = 20.0f;
config_0.motion_search_param.large_sad_ratio_th = 30.0f;

测试命令示例:

demo_motion_search -n 40 -s0 1920x1088 -ms 1
demo_motion_search -n 150 -s0 1920x1088 -f0 0 -vn 0 -pf 4 -sp 1 -b0 1500000 -cs 3 -ms 1 -out /mnt/extsd/demo_motion_search_stream0
demo_motion_search -n 150 -s0 1920x1088 -f0 2 -vn 0 -pf 4 -sp 1 -b0 1500000 -cs 3 -ms 1 -out /mnt/extsd/demo_motion_search_stream0

生成文件:/tmp/stream0_motion_xx.h264

demo_get_yuv

功能演示获取YUV功能

配置:勾选对应配置后,编译时会将其拷贝到/bin目录下。

make menuconfig
Allwinner -> rt_media demo selection -> demo_get_yuv

参数说明:

-n     需要获取的yuv帧数eg: -n 5
-s0    yuv分辨率 1280x720 1920x1080 2560x1440 etc, eg: -s0 1280x720
-pf    yuv格式NV12 = 0, NV21 = 1, YV12 = 2, YV21 = 3eg: -pf 1

-n,--encode_frame_num   channel0需要获取的帧数未考虑pts情况下250帧大约=10seg: -n 250。 param->encoder_num
-s0,--srcsize           channel0编码分辨率 1280x720 1920x1080 2560x1440 etc, eg: -s0 2560x1440。 param->c0_src_size, param->c0_src_w, param->c0_src_h
-pf,--pxlformat         channel0的vipp的pixel format。1:RT_PIXEL_YVU420SP, 4: RT_PIXEL_LBC_25X, e.g.:-pf 4。 param->pixelformat
-cs,--colorspace        isp的颜色空间。取值为7:V4L2_COLORSPACE_JPEG, 3:V4L2_COLORSPACE_REC709, 31:V4L2_COLORSPACE_REC709_PART_RANGE
-out,--outputfile       保存输出文件的目录名。e.g.: /mnt/extsd。param->OutputFilePath

测试命令示例:

demo_get_yuv -n 5 -s0 1280x720 -pf 1
demo_get_yuv -n 30 -s0 1920x1088 -pf 1 -cs 3 -out /mnt/extsd

生成文件:/mnt/extsd/1280x720.yuv

demo_osd

功能演示编码OSD功能

配置:勾选对应配置后,编译时会将其拷贝到/bin目录下。

make menuconfig
Allwinner -> rt_media demo selection -> demo_osd

参数说明:

-osd   osd, 0: 关闭, 1开启 eg: -osd 1
-osd,--osd              channel0的osd开关, 0: 关闭, 1开启 eg: -osd 1
-n,--encode_frame_num   编码帧数未考虑pts情况下250帧大约=10seg: -n 250。 param->encoder_num
-vn,--vippnum           channel0使用的vipp编号。e.g.: -vn 0。 param->use_vipp_num
-pf,--pxlformat         channel0的vipp的pixel format。1:RT_PIXEL_YVU420SP, 4: RT_PIXEL_LBC_25X, e.g.:-pf 4。 param->pixelformat
-sp,--sharp             channel0是否开启编码锐化。0:不开启1:开启。e.g.: -sp 0。 param->enable_sharp
-online,--online_mode   channel0是否开启在线编码。 e.g.: -online 0。 param->bonline_channel
-sbn,--share_buf        channel0在线编码的buf数量。e.g.: -sbn 2。param->share_buf_num
-s0,--srcsize           channel0编码分辨率 1280x720 1920x1080 2560x1440 etc, eg: -s0 2560x1440。 param->c0_src_size, param->c0_src_w, param->c0_src_h
-b0,--bitrate           channel0的码率。单位bps。 e.g.: -b0 1500000。 param->c0_bitrate
-out,--outputfile       输出文件的路径的前缀。e.g.: /mnt/extsd/stream0_encoder。param->OutputFilePath

注意:
1. lbc格式scaler range[lbc-format] is 1x-2x
2. 只使用h264编码演示

overlay文件地址需要自己去配置路径路径错误会导致失败默认如下

#define IN_OSD_ARGB_FILE "/mnt/extsd/fs_v853/01_argb_464x32_time.dat"

overlay type默认参数
		OverlayInfo.item_info[index].osd_type = RT_NORMAL_OVERLAY;
		OverlayInfo.item_info[index].start_x = 16;
		OverlayInfo.item_info[index].start_y = 752;
		OverlayInfo.item_info[index].widht  = 464;
		OverlayInfo.item_info[index].height = 32;

reserve overlay type默认参数
		OverlayInfo.item_info[index].osd_type = RT_LUMA_REVERSE_OVERLAY;
		OverlayInfo.item_info[index].start_x = 480;
		OverlayInfo.item_info[index].start_y = 752;
		OverlayInfo.item_info[index].widht  = 464;
		OverlayInfo.item_info[index].height = 32;
		OverlayInfo.invert_mode = 3;
		OverlayInfo.invert_threshold = 90;

cover type默认参数
		OverlayInfo.item_info[index].osd_type = RT_COVER_OSD;
		OverlayInfo.item_info[index].start_x = 800;
		OverlayInfo.item_info[index].start_y = 192;
		OverlayInfo.item_info[index].widht  = 320;
		OverlayInfo.item_info[index].height = 160;
		OverlayInfo.item_info[index].cover_yuv.cover_y = 0;
		OverlayInfo.item_info[index].cover_yuv.cover_u = 0;
		OverlayInfo.item_info[index].cover_yuv.cover_v = 0x64;

测试命令示例:

demo_osd -n 50 -s0 1920x1088 -osd 1
demo_osd -n 150 -s0 1920x1088 -osd 1 -b0 1500000 -out /mnt/extsd/demo_osd_stream0

生成文件:/tmp/demo_osd_stream0_xx.h264

demo_orl

功能演示ORL功能

配置:勾选对应配置后,编译时会将其拷贝到/bin目录下。

make menuconfig
Allwinner -> rt_media demo selection -> demo_orl

参数说明:

-orl,--orl              channel0的orl开关0: 关闭, 1开启 eg: -orl 1
-n,--encode_frame_num   编码帧数未考虑pts情况下250帧大约=10seg: -n 250。 param->encoder_num
-vn,--vippnum           channel0使用的vipp编号。e.g.: -vn 0。 param->use_vipp_num
-pf,--pxlformat         channel0的vipp的pixel format。1:RT_PIXEL_YVU420SP, 4: RT_PIXEL_LBC_25X, e.g.:-pf 4。 param->pixelformat
-sp,--sharp             channel0是否开启编码锐化。0:不开启1:开启。e.g.: -sp 0。 param->enable_sharp
-online,--online_mode   channel0是否开启在线编码。 e.g.: -online 0。 param->bonline_channel
-sbn,--share_buf        channel0在线编码的buf数量。e.g.: -sbn 2。param->share_buf_num
-s0,--srcsize           channel0编码分辨率 1280x720 1920x1080 2560x1440 etc, eg: -s0 2560x1440。 param->c0_src_size, param->c0_src_w, param->c0_src_h
-b0,--bitrate           channel0的码率。单位bps。 e.g.: -b0 1500000。 param->c0_bitrate
-out,--outputfile       输出文件的路径的前缀。e.g.: /mnt/extsd/stream0_encoder。param->OutputFilePath

注意:
1. lbc格式scaler range[lbc-format] is 1x-2x
2. 只使用h264编码演示

测试命令示例:

demo_orl -n 40 -s0 1920x1088 -orl 1
demo_orl -n 300 -s0 1920x1088 -orl 1 -b0 1500000 -out /mnt/extsd/demo_orl_stream0

生成文件:/tmp/stream0_orl_xx.h264

demo_reset_size

功能:演示编码切换分辨率

配置:勾选对应配置后,编译时会将其拷贝到/bin目录下。

make menuconfig
Allwinner -> rt_media demo selection -> demo_reset_size

参数说明:

-rs,--reset             测试重设编码目标分辨率的开关0: 关闭, 1开启 eg: -rs 1
-n,--encode_frame_num   编码帧数未考虑pts情况下250帧大约=10seg: -n 250。 param->encoder_num
-f0,--encode_format0    channel0编码格式0:h264 encoder, 1:jpeg_encoder, 2:h265 encodereg: -f0 0。 param->c0_encoder_format
-s0,--srcsize           channel0编码分辨率 1280x720 1920x1080 2560x1440 etc, eg: -s0 2560x1440。 param->c0_src_size, param->c0_src_w, param->c0_src_h
-vn,--vippnum           channel0使用的vipp编号。e.g.: -vn 0。 param->use_vipp_num
-pf,--pxlformat         channel0的vipp的pixel format。1:RT_PIXEL_YVU420SP, 4: RT_PIXEL_LBC_25X, e.g.:-pf 4。 param->pixelformat
-sp,--sharp             channel0是否开启编码锐化。0:不开启1:开启。e.g.: -sp 0。 param->enable_sharp
-online,--online_mode   channel0是否开启在线编码。 e.g.: -online 0。 param->bonline_channel
-sbn,--share_buf        channel0在线编码的buf数量。e.g.: -sbn 2。param->share_buf_num
-b0,--bitrate           channel0的码率。单位bps。 e.g.: -b0 1500000。 param->c0_bitrate
-out,--outputfile       输出文件的路径的前缀。e.g.: /mnt/extsd/demo_reset_size_stream0。 param->OutputFilePath

测试命令示例:

demo_reset_size -n 200 -s0 1920x1088 -rs 1
demo_reset_size -n 150 -s0 1920x1088 -f0 0 -pf 4 -sp 1 -b0 1500000 -rs 1 -out /mnt/extsd/demo_reset_size_stream0
demo_reset_size -n 150 -s0 1920x1088 -f0 2 -pf 4 -sp 1 -b0 1500000 -rs 1 -out /mnt/extsd/demo_reset_size_stream0

生成文件:/tmp/stream0_reset_size_xx.h264

demo_gdc

功能演示gdc功能

配置:勾选对应配置后,编译时会将其拷贝到/bin目录下。

make menuconfig
Allwinner -> rt_media demo selection -> demo_gdc

参数说明:

-gdc,--gdc              测试gdc的开关0: 关闭, 1开启 eg: -gdc 1
-n,--encode_frame_num   编码帧数未考虑pts情况下250帧大约=10seg: -n 250。 param->encoder_num
-s0,--srcsize           channel0编码分辨率 1280x720 1920x1080 2560x1440 etc, eg: -s0 2560x1440。 param->c0_src_size, param->c0_src_w, param->c0_src_h
-vn,--vippnum           channel0使用的vipp编号。e.g.: -vn 0。 param->use_vipp_num
-pf,--pxlformat         channel0的vipp的pixel format。1:RT_PIXEL_YVU420SP, 4: RT_PIXEL_LBC_25X, e.g.:-pf 4。 param->pixelformat
-sp,--sharp             channel0是否开启编码锐化。0:不开启1:开启。e.g.: -sp 0。 param->enable_sharp
-online,--online_mode   channel0是否开启在线编码。 e.g.: -online 0。 param->bonline_channel
-sbn,--share_buf        channel0在线编码的buf数量。e.g.: -sbn 2。param->share_buf_num
-b0,--bitrate           channel0的码率。单位bps。 e.g.: -b0 1500000。 param->c0_bitrate
-out,--outputfile       输出文件的路径的前缀。e.g.: /mnt/extsd/demo_reset_size_stream0。 param->OutputFilePath
注意:
1. 只使用h264编码演示gdc。

测试命令示例:

demo_gdc -n 50 -s0 1920x1088 -pf 1 -gdc 1
demo_gdc -n 150 -s0 1920x1088 -pf 4 -sp 1 -b0 1500000 -gdc 1 -out /mnt/extsd/demo_gdc_stream0
demo_gdc -n 150 -s0 1920x1088 -pf 1 -sp 1 -b0 1500000 -gdc 1 -out /mnt/extsd/demo_gdc_stream0

生成文件:/tmp/stream0_gdc_xx.h264

demo_isp_api

功能:演示单/双目切换图像效果

配置:勾选对应配置后,编译时会将其拷贝到/bin目录下。

make menuconfig
Allwinner -> rt_media demo isp_api -> demo_isp_api

参数说明:

-n,--encode_frame_num   编码帧数未考虑pts情况下250帧大约=10seg: -n 250。 param->encoder_num
-f0,--encode_format0    channel0编码格式0:h264 encoder, 1:jpeg_encoder, 2:h265 encodereg: -f0 0。 param->c0_encoder_format
-s0,--srcsize           channel0编码分辨率 1280x720 1920x1080 2560x1440 etc, eg: -s0 2560x1440。 param->c0_src_size, param->c0_src_w, param->c0_src_h
-vn,--vippnum           channel0使用的vipp编号。e.g.: -vn 0。 param->use_vipp_num
-pf,--pxlformat         channel0的vipp的pixel format。1:RT_PIXEL_YVU420SP, 4: RT_PIXEL_LBC_25X, e.g.:-pf 4。 param->pixelformat
-out,--outputfile       输出文件的路径的前缀。e.g.: /mnt/extsd/demo_reset_size_stream0。 param->OutputFilePath

测试命令示例:

单目demo_isp_api -n 120 -s0 1920x1088 -f0 0 -pf 4
双目demo_isp_api -n 120 -s0 1920x1088 -f0 0 -pf 4 -snd 1 -s1 1920X1088 -f0 0 -pf1 4

生成文件:/tmp/stream0_reset_size_xx.h264可以看到码流彩色图像被切换成黑白图像