关于Hi3559a的AVS配置小记

HI3559AV100各模块输入输出支持的压缩格式

 

 

1、AVS配置

avs.cpp

...
    stAVSConfig.u32OutW                                         = u32OutW;
    stAVSConfig.u32OutH                                         = u32OutH;
    stAVSConfig.enOutCmpMode                                    = COMPRESS_MODE_SEG;
    // stAVSConfig.benChn1                                         = benChn1;
    stAVSConfig.stGrpAttr.stFrameRate.s32DstFrameRate           = 30;
    stAVSConfig.stGrpAttr.stFrameRate.s32SrcFrameRate           = 30;
    stAVSConfig.stGrpAttr.bSyncPipe                             = HI_TRUE;//AVS 会根据各路输入图像 PTS 进行同步

    pstGrpAttr                                                  = &stAVSConfig.stGrpAttr;

    pstGrpAttr->enMode                                           = AVS_MODE_BLEND;
    pstGrpAttr->u32PipeNum                                       = u32PipeNum;      
    pstGrpAttr->stGainAttr.enMode                                = AVS_GAIN_MODE_AUTO;
...
  • stAVSConfig.enOutCmpMode = COMPRESS_MODE_SEG; //段压缩的视频格式,对3559a,以256bytes为一段进行压缩
  • stAVSConfig.stGrpAttr.bSyncPipe = HI_TRUE; //AVS 会根据各路输入图像 PTS 进行同步
  • pstGrpAttr->enMode = AVS_MODE_BLEND; //融合拼接模式,根据LUT拼接,在拼接处有融合;
  • pstGrpAttr->stGainAttr.enMode = AVS_GAIN_MODE_AUTO; //自动模式,AVS自动统计拼接处的亮度差异,自动进行亮度增益补偿

  AVS_MODE_BLEND:

  使用此模式的AVSGrp,需满足各路图像相同,仅支持PIXEL_FORMAT_YVU_SEMIPLANAR_420的像素格式

  仅支持VIDEO_FORMAT_TILE_16x8的视频格式,支持COMPRESS_MODE_TILE压缩或者非压格式,各路图像的压缩模式要求相同 

AVS通道属性
typedef struct hiAVS_CHN_ATTR_S
{
    HI_U32 u32Width;
    HI_U32 u32Height;
    COMPRESS_MODE_E    enCompressMode;
    DYNAMIC_RANGE_E    enDynamicRange
    HI_U32             u32Depth;
    FRAME_RATE_CTRL_S  stFrameRate;
}AVS_CHN_ATTR_S;

 注意:

  •  AVS模块的通道不支持帧率控制,配置不会生效
  • u32Widthu32Height enDynamicRange 有在 AVS_MODE_BLEND 拼接模式下才生效
  • 仅通道 0 支持 COMPRESS_MODE_SEG 压缩,其通道不支持压缩
  • 通道图像队列深度在获取通道图像的时才有用,如必要,建设置为 0,否则会导致AVS模块VB占用增加
  • 通道 0 的动态范围设置无,通道 0 输出的动态范围和输入图相同

















原文地址:https://www.cnblogs.com/y4247464/p/13583407.html