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

JPEGD参数说明

入参:JpegdIn

表1 入参JpegdIn

成员变量

说明

unsigned char* jpegData

输入jpg图片数据,起始地址128对齐,2M大页表方式申请。

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

须知:

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

uint32_t jpegDataSize

输入内存的长度。

使用Matrix提供的HIAI_DVPP_DMalloc接口申请内存,申请到的内存大小为“实际数据大小+8 byte”,8 byte为硬件约束要求。

bool isYUV420Need

是否需要输出yuv420 semi-planar格式的数据。

  • true:是
  • false:否,保持源格式输出。

JPEGD支持raw格式(包括yuv420sp、yuv422sp、yuv444sp)和降采样为yuv420的半平面格式输出。其中灰度图片输出的yuv420为fake420形式。

bool isVBeforeU

该参数值只能配置为true,v在u前,预留字段。

出参:JpegdOut

表2 出参JpegdOut

成员变量

说明

unsigned char* yuvData

输出yuv图片数据buf,该图片的宽高为128*16对齐后的宽高。

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

须知:

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

uint32_t yuvDataSize

输出yuv数据的长度,数据长度由对齐后的宽高计算,也可以通过调用DvppGetOutParameter接口获取数据长度。

uint32_t imgWidth

输出yuv图片的宽度。

uint32_t imgHeight

输出yuv图片的高度。

uint32_t imgWidthAligned

输出图片的对齐后的宽度,对齐到128。

uint32_t imgHeightAligned

输出图片的对齐后的高度,对齐到16。

JpegCalBackFree cbFree

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

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

jpegd_color_space outFormat

输出yuv数据格式:

enum jpegd_color_space{

DVPP_JPEG_DECODE_OUT_UNKNOWN = -1,

DVPP_JPEG_DECODE_OUT_YUV444 = 0,

DVPP_JPEG_DECODE_OUT_YUV422_H2V1 = 1,

/* YUV422 */

DVPP_JPEG_DECODE_OUT_YUV422_H1V2 = 2,

/* YUV440 */

DVPP_JPEG_DECODE_OUT_YUV420 = 3,

DVPP_JPEG_DECODE_OUT_YUV400 = 4,

DVPP_JPEG_DECODE_OUT_FORMAT_MAX,

};

入参:jpegd_raw_data_info

表3 入参jpegd_raw_data_info

成员变量

说明

unsigned char* jpeg_data

输入jpg图片数据,起始地址128对齐,2M大页表方式申请。

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

须知:

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

uint32_t jpeg_data_size

输入内存的长度。

使用Matrix提供的HIAI_DVPP_DMalloc接口申请内存,申请到的内存大小为“实际数据大小+8 byte”,8 byte为硬件约束要求。

jpegd_raw_format in_format

输入图片中yuv的采样格式,不需要填充,默认值即可。

enum jpegd_raw_format{

DVPP_JPEG_DECODE_RAW_YUV_UNSUPPORT = -1,

DVPP_JPEG_DECODE_RAW_YUV444 = 0,

DVPP_JPEG_DECODE_RAW_YUV422_H2V1 = 1, // 422

// yuv440 不再支持,保留字段

DVPP_JPEG_DECODE_RAW_YUV422_H1V2 = 2, // 440

DVPP_JPEG_DECODE_RAW_YUV420 = 3,

DVPP_JPEG_DECODE_RAW_YUV400 = 4,

DVPP_JPEG_DECODE_RAW_MAX,

};

bool IsYUV420Need

是否需要输出yuv420 semi-planar格式的数据。

  • true:是
  • false:否,保持源格式输出。

JPEGD支持raw格式(包括yuv420sp、yuv422sp、yuv444sp)和降采样为yuv420的半平面格式输出。其中灰度图片输出的yuv420为fake420形式。

bool isVBeforeU

该参数值只能配置为true,v在u前,预留字段。

出参:jpegd_yuv_data_info

表4 出参jpegd_yuv_data_info

成员变量

说明

unsigned char* yuv_data

输出yuv图片数据buf,该图片的宽高为对齐后的宽高。

须知:

该内存是由DVPP内部申请并管理,不能由用户指定。

uint32_t yuv_data_size

输出yuv数据的长度,数据长度由对齐后的宽高计算。

uint32_t img_width

输出yuv图片的宽度。

uint32_t img_height

输出yuv图片的高度。

uint32_t img_width_aligned

输出图片的对齐后的宽度,对齐到128。

uint32_t img_height_aligned

输出图片的对齐后的高度,对齐到16。

JpegCalBackFree cbFree

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

DVPP内部申请内存,需由用户调用cbFree()回调函数释放内存,并将yuv_data置为空指针。调用示例请参见实现JPEGD功能

enum jpegd_color_space out_format

输出yuv数据格式:

enum jpegd_color_space {

DVPP_JPEG_DECODE_OUT_UNKNOWN = -1,

DVPP_JPEG_DECODE_OUT_YUV444 = 0,

DVPP_JPEG_DECODE_OUT_YUV422_H2V1 = 1,// 422

// yuv440 不再支持,保留字段

DVPP_JPEG_DECODE_OUT_YUV422_H1V2 = 2,// 440

DVPP_JPEG_DECODE_OUT_YUV420 = 3,

DVPP_JPEG_DECODE_OUT_YUV400 = 4,

DVPP_JPEG_DECODE_OUT_FORMAT_MAX,

};

分享:

    相关文档

    相关产品