Help Center/ Atlas 300 Application (Model 3000)/ DVPP API Reference/ Data Types/ Structures in dvpp_engine_capability_stru
Updated on 2022-03-13 GMT+08:00

Structures in dvpp_engine_capability_stru

The structures are defined in the ddk/include/inc/dvpp/DvppCapability.h file in the DDK installation directory.

  • dvpp_resolution_stru structure

Member Variable

Description

Value Range

uint32_t resolution_high;

Height resolution

Maximum value:

VDEC: 4096

JPEGD: 8192

PNGD: 4096

JPEGE: 8192

VPC: 4096

VENC: 1920

Minimum value:

VDEC: 128

JPEGD: 32

PNGD: 32

JPEGE: 32

VPC: 16

VENC: 128

uint32_t resolution_width;

Width resolution

Maximum value:

VDEC: 4096

JPEGD: 8192

PNGD: 4096

JPEGE: 8192

VPC: 4096

VENC: 1920

Minimum value:

VDEC: 128

JPEGD: 32

PNGD: 32

JPEGE: 32

VPC: 16

VENC: 128

  • dvpp_format_unit_stru structure

Member Variable

Description

Value Range

enum dvpp_color_format color_format;

Supported image format

enum dvpp_color_format {

//YUV444 in different ordering of YUV Semi-Planar/Packed, 8-Bit, and Linear. DVPP_COLOR_YUV444_YUV_P_8BIT_LIN, DVPP_COLOR_YUV444_YVU_P_8BIT_LIN, DVPP_COLOR_YUV444_UYV_P_8BIT_LIN, DVPP_COLOR_YUV444_UVY_P_8BIT_LIN, DVPP_COLOR_YUV444_VYU_P_8BIT_LIN, DVPP_COLOR_YUV444_VUY_P_8BIT_LIN, DVPP_COLOR_YUV444_UV_SP_8BIT_LIN, DVPP_COLOR_YUV444_VU_SP_8BIT_LIN,

/*422*/ DVPP_COLOR_YUYV422_YUYV_P_8BIT_LIN, DVPP_COLOR_YUYV422_YVYU_P_8BIT_LIN, DVPP_COLOR_YUYV422_UYVY_P_8BIT_LIN, DVPP_COLOR_YUYV422_VYUY_P_8BIT_LIN, DVPP_COLOR_YUV422_UV_SP_8BIT_LIN, DVPP_COLOR_YUV422_VU_SP_8BIT_LIN,

/*420*/ DVPP_COLOR_YUV420_SP_8BIT_LIN, DVPP_COLOR_YVU420_SP_8BIT_LIN, DVPP_COLOR_YUV420_SP_8BIT_HFBC, DVPP_COLOR_YVU420_SP_8BIT_HFBC, DVPP_COLOR_YUV420_SP_10BIT_HFBC, DVPP_COLOR_YVU420_SP_10BIT_HFBC, DVPP_COLOR_YUV420_P_8BIT_LIN,

/*400*/ DVPP_COLOR_YVU400_SP_8BIT,

/*rgb888*/ DVPP_COLOR_RGB888_RGB_P_8BIT_LIN, DVPP_COLOR_RGB888_RBG_P_8BIT_LIN, DVPP_COLOR_RGB888_GBR_P_8BIT_LIN, DVPP_COLOR_RGB888_GRB_P_8BIT_LIN, DVPP_COLOR_RGB888_BRG_P_8BIT_LIN, DVPP_COLOR_RGB888_BGR_P_8BIT_LIN,

/*argb888*/ DVPP_COLOR_ARGB8888_ARGB_P_8BIT_LIN, DVPP_COLOR_ARGB8888_ARBG_P_8BIT_LIN, DVPP_COLOR_ARGB8888_AGBR_P_8BIT_LIN, DVPP_COLOR_ARGB8888_AGRB_P_8BIT_LIN, DVPP_COLOR_ARGB8888_ABRG_P_8BIT_LIN, DVPP_COLOR_ARGB8888_ABGR_P_8BIT_LIN, DVPP_COLOR_ARGB8888_RAGB_P_8BIT_LIN, DVPP_COLOR_ARGB8888_RABG_P_8BIT_LIN, DVPP_COLOR_ARGB8888_RGBA_P_8BIT_LIN, DVPP_COLOR_ARGB8888_RGAB_P_8BIT_LIN, DVPP_COLOR_ARGB8888_RBAG_P_8BIT_LIN, DVPP_COLOR_ARGB8888_RBGA_P_8BIT_LIN, DVPP_COLOR_ARGB8888_BRGA_P_8BIT_LIN, DVPP_COLOR_ARGB8888_BRAG_P_8BIT_LIN, DVPP_COLOR_ARGB8888_BGAR_P_8BIT_LIN, DVPP_COLOR_ARGB8888_BGRA_P_8BIT_LIN, DVPP_COLOR_ARGB8888_BARG_P_8BIT_LIN, DVPP_COLOR_ARGB8888_BAGR_P_8BIT_LIN, DVPP_COLOR_ARGB8888_GRAG_P_8BIT_LIN, DVPP_COLOR_ARGB8888_GRBA_P_8BIT_LIN, DVPP_COLOR_ARGB8888_GABR_P_8BIT_LIN, DVPP_COLOR_ARGB8888_GARB_P_8BIT_LIN, DVPP_COLOR_ARGB8888_GBRA_P_8BIT_LIN, DVPP_COLOR_ARGB8888_GBAR_P_8BIT_LIN,

PIC_JPEG,

PIC_PNG,

VIO_H265,

VIO_H264

};

uint32_t compress_type;

Compression type

enum dvpp_compress_type {

arithmetic_code =0,

huffman_code

};

uint32_t stride_size;

Stride size

VDEC: 128

JPEGD: 128

PNGD: 128

JPEGE: 0

VPC: 128

VENC: 0

enum dvpp_high_align_type high_alignment;

Height alignment type

enum dvpp_high_align_type {

pix_random = 0,

two_pix_alignment = 2,

four_pix_alignment = 4,

eight_pix_alignment = 8,

sixteen_pix_alignment = 16

};

enum dvpp_high_align_type width_alignment;

Width alignment type

enum dvpp_high_align_type {

pix_random = 0,

two_pix_alignment = 2,

four_pix_alignment = 4,

eight_pix_alignment = 8,

sixteen_pix_alignment = 16

};

uint32_t out_mem_alignment;

Output buffer alignment

-

  • dvpp_perfomance_unit_stru structure

Member Variable

Description

Value Range

uint32_t resolution_high;

Height resolution

VDEC: 1920

JPEGD: 1920

PNGD: 1920

JPEGE: 1920

VPC: 3840

VENC: 1920

uint32_t resolution_width;

Width resolution

VDEC: 1080

JPEGD: 1080

PNGD: 1080

JPEGE: 1080

VPC: 2160

VENC: 1080

uint32_t stream_num;

Stream size

VDEC: 16

JPEGD: 0

PNGD: 0

JPEGE: 0

VPC: 0

VENC: 1

unsigned long fps;

Frame rate

VDEC: 30

JPEGD: 256

PNGD: 24

JPEGE: 64

VPC: 90

VENC: 30

  • dvpp_pre_contraction_stru structure

Member Variable

Description

Value Range

enum dvpp_support_type is_support;

Whether pre-contraction is supported

VPC: supported

Others: not supported

The options are as follows:

enum dvpp_support_type {

no_support =0, //no support

do_support //support

};

uint32_t contraction_types;

Contraction type

VPC: 3

Others: 0

uint32_t contraction_size[DVPP_PRE_CONTRATION_TYPE_MAX];

Fixed ratio of pre-contraction

VPC: 2, 4, or 8

Others: 0

enum dvpp_support_type is_horizontal_support;

Whether horizontal pre-contraction is supported

VPC: supported

Others: not supported

enum dvpp_support_type is_vertical_support;

Whether vertical pre-contraction is supported

VPC: supported

Others: not supported

  • dvpp_pos_scale_stru structure

Member Variable

Description

Value Range

enum dvpp_support_type is_support;

Whether post-scaling is supported

VPC: supported

Others: not supported

uint32_t min_scale;

Minimum scaling coefficient

VPC: 1

Others: 1

uint32_t max_scale;

Maximum scaling coefficient

VPC: 4

Others: 1

enum dvpp_support_type is_horizontal_support;

Whether horizontal post-scaling is supported

VPC: supported

Others: not supported

enum dvpp_support_type is_vertical_support;

Whether vertical post-scaling is supported

VPC: supported

Others: not supported

  • dvpp_vpc_data_spec_stru structure

Member Variable

Description

Value Range

uint32_t input_type;

Type of the input format

The options are as follows:

  • 0: HFBC
  • 1: YUV or RGB

struct dvpp_resolution_stru min_resolution;

Minimum resolution

For details, see struct dvpp_resolution_....

struct dvpp_resolution_stru max_resolution;

Maximum resolution

For details, see struct dvpp_resolution_....

enum dvpp_align_type high_alignment;

Height alignment type

enum dvpp_high_align_type {

//1-pixel alignment

pix_random = 0,

//2-pixel alignment

two_pix_alignment = 2,

//4-pixel alignment

four_pix_alignment = 4,

//8-pixel alignment

eight_pix_alignment = 8,

//16-pixel alignment

sixteen_pix_alignment = 16

};

enum dvpp_align_type width_alignment;

Width alignment type

enum dvpp_high_align_type {

//1-pixel alignment

pix_random = 0,

//2-pixel alignment

two_pix_alignment = 2,

//4-pixel alignment

four_pix_alignment = 4,

//8-pixel alignment

eight_pix_alignment = 8,

//16-pixel alignment

sixteen_pix_alignment = 16

};