海思Hi3519A开发(6.sample内容介绍)

文章目录

  • 编译与运行 sample
  • sample_venc(视频数据编码)
  • sample_vdec(视频数据解码)
  • sample_audio(音频相关)
  • sample_snap(拍照)
  • sample_dpu_main(Depth Process Unit,深度图)
  • sample_avs(Any View Stitching,全景拼接)
  • sample_fisheye(鱼眼模式)
  • sample_vio(视频输入输出)
  • sample_vgs(Video Graphics Sub-System,视频图形子系统)
  • sample_tde(Two Dimensional Engine,利用硬件为OSD和GUI提供快速的图形绘制功能)
  • sample_hifb(Hisilicon Framebuffer,基于Linux FB 基本功能扩展了一些图形层控制功能)
  • sample_awb_calibration(自动白光平衡测量)
  • sample_ive_main(智能加速引擎)
  • sample_dis(Digital Image Stabilization,数字稳像)
  • sample_dsp_main(DSP测试)
  • sample_nnie_main(神经网络硬件加速单元测试)

编译与运行 sample

请参考海思Hi3519A开发(5.梳理海思文档与运行sample代码)

sample_venc(视频数据编码)

# ./sample_venc
Usage : ./sample_venc [index] 
    index:
    0) H.265e@4K@120fps + H264e@1080p@30fps.
    1) H.265e@4K@60fps + H264e@4K@60fp.
    2) Lowdelay:H.265e@4K@30fps.
    3) IntraRefresh:H.265e@4K@60fps + H264e@4K@60fps.
    4) Qpmap:H.265e@4K + H264e@4K@60fps.
    5) Mjpeg@4K@60fps +Jpeg@4K.

shell 说明:

  1. 运行sample_venc (录制) 视频编码样例
  2. 使用方法: ./sample_venc [index]
  3. 参数<索引>
  4. 0) h265编码,4096×2160分辨率,每秒120帧 + h264编码,1920x1080分辨率,每秒30帧
  5. 1) h265编码,4096×2160分辨率,每秒60帧 + h264编码,4096×2160分辨率,每秒60帧
  6. 2) Lowdelay(低延时属性):h265编码,4096×2160分辨率,每秒30帧
  7. 3) IntraRefresh(P 帧帧内刷新):h265编码,4096×2160分辨率,每秒60帧 + h264编码,4096×2160分辨率,每秒60帧
  8. 4) Qpmap(是一种码率控制模式):h265编码,4096×2160分辨率 + h264编码,4096×2160分辨率,每秒60帧
  9. 5) Mjpeg(Mjpeg协议编码方式)的4096×2160分辨率,每秒60帧 + Jpeg(Jpeg的编码)的4096×2160分辨率

sample_vdec(视频数据解码)

# ./sample_vdec
Usage : ./sample_vdec <index> <IntfSync>
index:
    0)  VDEC(H265)-VPSS-VO
    1)  VDEC(H264)-VPSS-VO
    2)  VDEC(JPEG->YUV)-VPSS-VO
    3)  VDEC(JPEG->RGB)
IntfSync :
    0) VO HDMI 4K@30fps.
    1) VO HDMI 1080P@30fps.

shell 说明:

  1. 运行sample_vdec (播放) 视频解码样例
  2. 使用提示: ./sample_vdec <索引>
  3. 参数<索引>:
  4. 0) VDEC解码器输入(H265的编码格式图片/视频)—>VPSS(视频输入缓存块)—>VO(图片/视频输出)
  5. 1) VDEC解码器输入(H264的编码格式图片/视频)—>VPSS(视频输入缓存块)—>VO(图片/视频输出)
  6. 2) VDEC解码器输入(JPEG数据)—>VPSS(视频输入缓存块)—>VO(YUV图片/视频输出)
  7. 3) VDEC解码器输入JPEG解码成RGB数据
  8. 参数:
  9. 0) 输出到HDMI 4096×2160分辨率,每秒30帧
  10. 1) 输出到HDMI 1920x1080分辨率,每秒30帧

sample_audio(音频相关)

# ./sample_audio
/Usage:./sample_audio <index>/
        index and its function list below
        0:  start AI to AO loop
        1:  send audio frame to AENC channel from AI, save them
        2:  read audio stream from file, decode and send AO
        3:  start AI(VQE process), then send to AO
        4:  start AI to AO(Hdmi) loop
        5:  start AI to AO(Syschn) loop
        6:  start AI to Extern Resampler
channel:
        0:  mic0 input
        1:  mic1 input

shell 说明:

  1. 运行sample_audio 音频 (编码/解码)样例
  2. 使用提示:./sample_audio <索引>
  3. 以下内容是索引对应的功能
  4. 0) 循环音频从输入到输出 (话筒功能)
  5. 1) 通过音频输入发送音频帧到音频编码通道,保存起来 (录音功能)
  6. 2) 从文件读取音频流,解码然后发送到输出 (播放功能)
  7. 3) 通过音频输入声音质量增强处理,然后输出音频 (话筒功能)
  8. 4) 循环音频输入到HDMI通道音频输出 (话筒功能)
  9. 5) 循环音频输入到系统音通道音频输出 (话筒功能)
  10. 6) 通过音频输入重新采样 (录音功能)
  11. 音频输入通道
  12. 0) mic0输入(HeadPhone)
  13. 1) mic1输入(插针)

sample_snap(拍照)

# ./sample_snap
Usage : ./sample_snap <index> 
index:
         0)double pipe offline, normal snap.

shell 说明:

  1. 运行sample_snap 拍照
  2. 使用说明:./sample_snap <索引>
  3. 参数<索引>
  4. 0)双 pipe 离线模式普通拍照

sample_dpu_main(Depth Process Unit,深度图)

# ./sample_dpu_main
Usage : ./sample_dpu_main <index>                                               
index:                                                                          
         0) VI->VPSS->RECT->MATCH.                                              
         1) FILE->RECT->MATCH.

shell 说明:

  1. 运行 sample_dpu_main
  2. 使用方法:./sample_dpu_main <索引>
  3. <索引>
  4. 0) DPU(Depth Process Unit)对输入的左图像和右图像经过校正和匹配计算得出深度图
  5. 1) DPU(Depth Process Unit)对读取的文件的左图像和右图像经过校正和匹配计算得出深度图

sample_avs(Any View Stitching,全景拼接)

# ./sample_avs
Usage : ./sample_avs <index>
index:
         0) 2 fisheye stitching, Normal projection.
         1) 4 fisheye stitching, Cube map.
         2) 4 pic no blend stitching.
         3) 2 fisheye stitching, Image stabilizing.
         4) Generate lut.

shell 说明:

  1. 运行 sample_avs
  2. 使用说明: ./sample_avs
  3. 0) 2个CAM 鱼眼拼接正常显示模式
  4. 1) 4个CAM 鱼眼拼接呈现立体显示效果
  5. 2) 4个CAM 图片无混合拼接
  6. 3) 目前暂不支持
  7. 4)生成LUT表

sample_fisheye(鱼眼模式)

# ./sample_fisheye

Usage : ./sample_fisheye <index> <vo intf> <venc type>
index:
         0) fisheye 360 panorama 2 half with ceiling mount.
         1) fisheye 360 panorama and 2 normal PTZ with desktop mount.
         2) fisheye 180 panorama and 2 normal dynamic PTZ with wall mount.
         3) fisheye source picture and 3 normal PTZ with wall mount.
         4) nine_lattice preview(Only images larger than or equal to 8M are supported).
vo intf:
         0) vo HDMI output, default.
         1) vo BT1120 output.
venc type:
         0) H265, default.
         1) H264.

shell 说明:

  1. 运行 ./sample_fisheye
  2. 使用说明 ./sample_fisheye
  3. index:
  4. 0) 2个“半顶装模式”的鱼眼360°全景视频
  5. 1) 2个普通“地装的PTZ”鱼眼360°全景视频
  6. 2) 2个普通“壁装的PTZ”鱼眼180°全景视频
  7. 3) 三个鱼眼原画的普通PTZ 壁装视频
  8. 4) 九格预览视频(仅支持大于或等于8m的图像)
  9. vo intf:
  10. 0) 默认HDMI输出
  11. 1) BT1120输出
  12. venc type:
  13. 0) 默认H265编码
  14. 1) H264编码

sample_vio(视频输入输出)

# ./sample_vio_main 
Usage : ./sample_vio_main <index> <intf>
index:
         0)VI(Online) - VPSS(Online) - VO.
         1)VI(Offline)- VPSS(Offline) - VO. LDC+DIS+SPREAD.
         2)VI(Offline)- VPSS(Online) - VO.  Double pipe.
         3)VI(Online)- VPSS(Offline) - VO.  Double chn.
         4)Resolute Ratio Switch.
         5)GDC - VPSS LowDelay.
         6)Double WDR Pipe.
         7)FPN Calibrate & Correction.
         8)WDR Switch.
         9)90/180/270 Rotate.
         10)Mipi Demux Yuv.
         11)UserPic.
intf:
         0) vo HDMI output, default.
         1) vo BT1120 output.

shell 说明:

  1. 运行 sample_vio
  2. 使用方法:./sample_vio_main
  3. index:
  4. 0) 在线输入–> 在线视频处理 -->输出
  5. 1) 离线输入–> 离线视频处理 -->输出 镜头畸变校正视频防抖和展宽
  6. 2) 离线输入–> 在线视频处理 -->输出 双管道
  7. 3) 在线输入–> 离线视频处理 -->输出 双通道
  8. 4) Resolute Ratio Switch
  9. 5) 几何畸变矫正 -->视频处理 低延时
  10. 6) 双WDR管道
  11. 7) FPN标定&矫正
  12. 8) WDR 开关
  13. 9) 90/180/270 旋转
  14. 10) Mipi Demux Yuv
  15. 11) 设置用户图片
  16. intf:
  17. 0) 默认HDMI输出
  18. 1) BT1120输出

sample_vgs(Video Graphics Sub-System,视频图形子系统)

# ./sample_vgs 
Usage: ./sample_vgs <index>
index:
        0) FILE -> VGS(Scale) -> FILE.
        1) FILE -> VGS(Cover+OSD) -> FILE.
        2) FILE -> VGS(DrawLine) -> FILE.
        3) FILE -> VGS(Rotate) -> FILE.

shell 说明:

  1. 运行 sample_vgs
  2. 使用说明:./sample_vgs
  3. index:
  4. 0) 文件–> 视频图像子系统(缩放) -->文件
  5. 1) 文件–> 视频图像子系统(Cover+OSD) -->文件
  6. 2) 文件–> 视频图像子系统(画线) -->文件
  7. 3) 文件–> 视频图像子系统(旋转) -->文件

sample_tde(Two Dimensional Engine,利用硬件为OSD和GUI提供快速的图形绘制功能)

# ./sample_tde 
Usage : ./sample_tde <intf>
intf:
         0) vo BT1120 output, default.
         1) vo HDMI output.

shell 说明:

  1. 运行 sample_tde
  2. 使用说明:./sample_tde
  3. intf:
  4. 0) 默认BT1120输出演示
  5. 1) HDMI输出演示

sample_hifb(Hisilicon Framebuffer,基于Linux FB 基本功能扩展了一些图形层控制功能)

# ./sample_hifb
Usage : ./sample_hifb <index> <device> <intf>


/****************index******************/
please choose the case which you want to run:
        0:  ARGB8888 standard mode
        1:  ARGB1555 BUF_DOUBLE mode
        2:  ARGB1555 BUF_ONE mode
        3:  ARGB1555 BUF_NONE mode
        4:  ARGB1555 BUF_ONE mode with compress
        5:  ARGB8888 BUF_ONE mode with compress

/****************device******************/
         0) VO device 0#, default.
         1) VO device 1#.

/****************intf******************/
         0) VO HDMI output, default.
         1) VO BT1120 output.

shell 说明:

  1. 运行 sample_hifb
  2. 使用说明:./sample_hifb
  3. 请选择一下您想运行的情况之一
  4. 0: ARGB8888像素格式标准模式
  5. 1: ARGB1555像素格式双缓存模式
  6. 2: ARGB1555像素格式单缓存模式
  7. 3: ARGB1555像素格式无缓存模式
  8. 4: ARGB1555像素格式带压缩的单缓存模式
  9. 5: ARGB8888像素格式带压缩的单缓存模式
  10. 0) 默认输出到超清显示设备DHD0
  11. 1) 输出到高清显示设备DHD1(暂未支持)
  12. 0) 默认HDMI输出
  13. 1) BT1120输出(暂未支持)

sample_awb_calibration(自动白光平衡测量)

# ./sample_awb_calibration
Usage : ./sample_awb_calibration <mode> <intf1> <intf2> <intf3>
mode:
         0) Calculate Sample gain.
         1) Adjust Sample gain according to Golden Sample.
intf1:
         The value of Rgain of Golden Sample. 深红色区域的锐化增益控制。
intf2:
         The value of Bgain of Golden Sample. 
intf3:
         The value of Alpha ranging from 0 to 1024 (The strength of adusting Sampe Gain will increase with the value of Alpha) .

shell 说明:

  1. 运行 sample_awb_calibration
  2. 使用方法:./sample_awb_calibration
  3. 0) 计算例子中的增益
  4. 1) 根据标准例子来校正例子中的增益
  5. intf1:
  6. 标准例子中的深红色区域的锐化增益控制值
  7. intf2:
  8. 标准例子中的深蓝色区域的锐化增益控制值
  9. intf3:
  10. 0~1024范围的初始值(采样数据的增益强度会随着初始值的值增加而增加)

sample_ive_main(智能加速引擎)

~ # ./sample_ive_main
Usage : ./sample_ive_main <index> [complete] [encode] [vo]
index:
         0)BgModel,<encode>:0, not encode;1,encode.<vo>:0,not call vo;1,call vo.(VI->VPSS->IVE->VGS->[VENC_H264]->[VO_HDMI]).
         1)Gmm,<encode>:0, not encode;1,encode.<vo>:0,not call vo;1,call vo.(VI->VPSS->IVE->VGS->[VENC_H264]->[VO_HDMI]).
         2)Occlusion detected.(VI->VPSS->IVE->VO_HDMI).
         3)Motion detected.(VI->VPSS->IVE->VGS->VO_HDMI).
         4)Canny,<complete>:0, part canny;1,complete canny.(FILE->IVE->FILE).
         5)Gmm2.(FILE->IVE->FILE).
         6)MemoryTest.(FILE->IVE->FILE).
         7)Sobel.(FILE->IVE->FILE).
         8)Ann.(FILE->IVE->STDIO).
         9)St Lk.(FILE->IVE->FILE).
         a)Svm.(FILE->IVE->STDIO).
         b)Cnn.(FILE->IVE->STDIO).     

shell 说明:

  1. 运行 sample_ive_main
  2. 使用说明: ./sample_ive_main [complete] [encode] [vo]
  3. index:
  4. 0) 背景模型
  5. 1) 高斯模型Gmm
  6. 2) 遮挡检测
  7. 3) 运动检测
  8. 4) 边缘检测
  9. 5) 高斯模型Gmm2
  10. 6) 内存测试
  11. 7) Sobel算子分割
  12. 8) 图像检索Ann
  13. 9) St和LK光流法
  14. a) 分类器SVM
  15. b) 神经网络Cnn

sample_dis(Digital Image Stabilization,数字稳像)

# ./sample_dis
Usage : ./sample_dis <index> <intf>
index:
         0)DIS-4DOF_GME.VI-VO VENC.
         1)DIS-6DOF_GME.VI-VO VENC.
intf:
         0) vo HDMI output, default.
         1) vo BT1120 output.

shell 说明:

  1. 运行 sample_dis
  2. 使用说明: ./sample_dis
  3. index:
  4. 0) DIS-4DOF_GME(四自由度 GME 算法,不使用陀螺仪),输入-输出 同时H256格式录像(存储在当前)
  5. 1) DIS-6DOF_GME(六自由度 GME 算法,不使用陀螺仪),输入-输出 同时H256格式录像(存储在当前)
  6. intf:
  7. 0) HDMI 输出
  8. 1) BT1120 输出

sample_dsp_main(DSP测试)

~ # ./sample_dsp_main

shell 说明:

  1. 四个DSP之DSP0的出图测试。

sample_nnie_main(神经网络硬件加速单元测试)

神经网络,特别是深度学习卷积神经网络进行加速处理的硬件单元测试。

# ./sample_nnie_main
Usage : ./sample_nnie_main <index> 
index:
         0) RFCN(VI->VPSS->NNIE->VGS->VO).
         1) Segnet(Read File).
         2) FasterRcnnAlexnet(Read File).
         3) FasterRcnnDoubleRoiPooling(Read File).
         4) Cnn(Read File).
         5) SSD(Read File).
         6) Yolov1(Read File).
         7) Yolov2(Read File).
         8) LSTM(Read File).
         9)Pvanet(Read File).
         a) Rfcn(Read File).

shell 说明:

  1. 运行 sample_nnie_main
  2. 使用说明: ./sample_nnie_main
  3. index:
  4. 0) RFCN模型
  5. 1) 可训练的图像分割Segnet
  6. 2) 深度学习的目标检测Alexnet
  7. 3) 深度学习的目标检测DoubleRoiPooling
  8. 4) 神经网络Cnn
  9. 5) 可训练的SSD模型处理
  10. 6) 神经网格模型Yolov1
  11. 7) 神经网格模型Yolov2
  12. 8) LSTM模型
  13. 9) Pvanet网络
  14. a) Rfcn目标检测

你可能感兴趣的:(华为海思Hi3519A开发)