文档
注册

hi_venc_attr

说明

定义编码器属性结构体。

定义

typedef struct {
    hi_payload_type type;
    hi_u32 max_pic_width;
    hi_u32 max_pic_height;
    hi_u32 buf_size;
    hi_u32 profile;
    hi_bool is_by_frame;
    hi_u32 pic_width;
    hi_u32 pic_height;
    union {
        hi_venc_h264_attr h264_attr; 
        hi_venc_h265_attr h265_attr; 
        hi_venc_jpeg_attr jpeg_attr; 
        hi_venc_prores_attr prores_attr; 
    };
}hi_venc_attr;

成员

成员名称

描述

type

编码协议类型。

max_pic_width

编码图像最大宽度,静态属性,必须是2的整数倍。

取值范围:[MIN_WIDTH, MAX_WIDTH],以像素为单位。

max_pic_height

除jpeg协议外,编码图像最大高度,静态属性,必须是2的整数倍。

取值范围:[MIN_HEIGHT, MAX_HEIGHT],以像素为单位。

buf_size

码流buffer大小,单位为Byte,静态属性。

  • 调用hi_mpi_venc_send_jpege_frame接口发送原始图像进行图像编码时,在创建通道时,buf_size参数值必须设置为0。
  • 调用hi_mpi_venc_send_frame接口发送原始图像进行视频或图像编码时,在创建通道时,buf_size参数值必须设置为64的整数倍,取值范围:[Min, Max],以Byte为单位。Min表示32*1024,Max表示该参数数据类型的最大值。
    调用接口hi_mpi_venc_set_mod_param设置模块参数mini_buf_mode可以选择取值范围限制方式。
    • 对于 H264/H265:
      • mini_buf_mode = 0:

        Min:一幅最大编码图像大小的 1/2。

        Max:1*1024*1024*1024。

      • mini_buf_mode = 1,用户保证 buffer 大小合理性:

        Min:32*1024

        Max:1*1024*1024*1024。

    • 对于 Jpeg:
      • mini_buf_mode = 0:

        Min:如果原图格式为YUV420,Min值为原图宽16对齐*原图高16对齐*3/2 ;如果原图格式为YUV422 Packed,Min值为原图宽16对齐*原图高16对齐*2 。

        Max:1*1024*1024*1024。

      • mini_buf_mode = 1,用户保证buffer大小合理性:

        Min:32*1024

        Max:1*1024*1024*1024。

    说明:

    在实现JPEGE功能时,用户可以在创建通道时根据业务场景中图片的实际最大分辨率,按照如下公式设置每个通道的JPEGE内部缓存大小,以节省内存使用开销:原图宽*原图高*倍数,倍数推荐为5。

    例如:用户图片的分辨率有720p(1280*720)、1080p(1080*1920)、4K(3840*2160)大小的图片,需要的JPEGE内存大小应按照4k配置:3840*2160*5。

    JPEGE内部缓存的最小值为320*240*5 ,防止小分辨率场景下,buffer容易被占满,影响JPEGE功能执行,例如:用户图片的最大分辨率为128*128,推荐用户将内部缓存的大小设置为320*240*5。

profile

编码的等级,数字越大编码质量越好,静态属性。

  • H.264 取值范围:[0, 3]。
    • 0:Baseline。
    • 1:Main Profile。
    • 2:High Profile。
    • 3:svc-t,暂不支持。
  • H.265 取值范围:[0,1]。
    • 0:Main Profile。
    • 1:Main 10 Profile,预留值,暂不支持。
  • Jpeg 取值范围:0(表示Baseline)。

is_by_frame

帧/包模式获取码流,静态属性。

  • HI_TRUE:按帧获取。
  • HI_FALSE:按包获取。

pic_width

编码图像宽度,必须是MIN_ALIGN的整数倍。

取值范围:[MIN_WIDTH, MAX_WIDTH],以像素为单位。

pic_height

除jpeg协议外,编码图像高度,必须是MIN_ALIGN的整数倍。

取值范围:[MIN_HEIGHT, MAX_HEIGHT],以像素为单位。

h264_attr/h265_attr/jpeg_attr/prores_attr

编码协议的属性。

预留参数,暂不支持。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词