更新时间:2021-03-18 GMT+08:00
分享

JPEGE参数说明

入参:sJpegeIn

表1 入参sJpegeIn

成员变量

说明

eEncodeFormat format

输入YUV数据的类型,支持YUV422 packed(yuyv,yvyu,uyvy,vyuy)和YUV420 Semi-planar(NV12,NV21)

typedef enum {

JPGENC_FORMAT_UYVY = 0x0,

JPGENC_FORMAT_VYUY = 0x1,

JPGENC_FORMAT_YVYU = 0x2,

JPGENC_FORMAT_YUYV = 0x3,

JPGENC_FORMAT_NV12 = 0x10,

JPGENC_FORMAT_NV21 = 0x11,

} eEncodeFormat;

unsigned char* buf

yuv输入数据,需要调用方申请,需要合理对齐,见参数stride,heightAligned。

使用Matrix提供的HIAI_DVPP_DMalloc接口申请内存,申请到的内存满足DVPP的要求(首地址128对齐)。HIAI_DVPP_DMalloc接口的说明,请参见《 Matrix API参考》

须知:

使用HIAI_DVPP_DMalloc接口申请内存时,则由用户保证申请的内存大小与输入参数bufSize的参数值一致。

uint32_t bufSize

输入buf长度,指宽高对齐后的数据长度。

uint32_t width

输入图片的宽度,范围[32,8192]。

uint32_t height

输入图片的高度,范围[32,8192]。

uint32_t stride

输入图片对齐后宽度,对齐到16,兼容对齐到16的倍数如128。对于YUV422packed数据,stride应该为width的两倍对齐到16。

uint32_t heightAligned

1. 支持与高度height相同,2.支持输入图片对齐后高度(Matrix异侧传输后的对齐),3.兼容高度向16对齐的数。

uint32_t level

编码质量范围[0, 100],其中level 0编码质量与level 100差不多,而在[1, 100]内数值越小输出图片质量越差。

出参:sJpegeOut

表2 出参sJpegeOut

成员变量

说明

unsigned char* jpgData

输出缓冲区中jpg数据的起始地址。

如果由用户指定内存,使用Matrix提供的HIAI_DVPP_DMalloc接口申请内存,申请到的内存满足DVPP的要求(首地址128对齐)。HIAI_DVPP_DMalloc接口的说明,请参见《 Matrix API参考》

须知:

使用HIAI_DVPP_DMalloc接口申请内存时,则由用户保证申请的内存大小与输入参数jpgSize的参数值一致。

uint32_t jpgSize

编码后的jpg图片数据长度。

JpegCalBackFree cbFree

释放输出内存的回调函数。

  • 由用户指定输出内存时,由用户自行释放内存 。
  • 不由用户指定输出内存时,DVPP内部申请内存,需由用户调用cbFree()回调函数释放内存,并将jpgData置为空指针。调用示例请参见实现JPEGE功能

分享:

    相关文档

    相关产品