Updated on 2022-03-13 GMT+08:00

API Introduction

This document describes the external APIs of the digital vision pre-processing (DVPP) executor. The API functions, API calling guidance, and API usage examples are provided for developers and test engineers.

The process of calling the DVPP APIs during application development is as follows:
Figure 1 Process flowchart
  • In the current version, the VPC function can be implemented by CreateDvppApi, DvppCtl, and DestroyDvppApi in either of the following methods:
    • Method 1: Pass input parameters to DvppCtl, that is, the DVPP_CTL_VPC_PROC command word and VpcUserImageConfigure structure parameters. This method is recommended.
    • Method 2: Pass input parameters to DvppCtl, that is, the DVPP_CTL_VPC_PROC command word and resize_param_in_msg structure parameters. In scenarios that have low requirements on latency and process a large number of low-resolution images, pass input parameters to DvppCtl, that is, the DVPP_CTL_CMDLIST_PROC command word and IMAGE_CONFIG structure parameters. This method is not recommended. It is used to be compatible with the functions in earlier versions and will be deleted in later versions.
  • In the current version, the VENC function can be implemented in either of the following methods:
    • Method 1: Call CreateVenc, RunVenc, and DestroyVenc to implement the VENC function. This method is recommended.
    • Method 2: Call CreateDvppApi, DvppCtl, and DestroyDvppApi to implement the VENC function. Pass input parameters to DvppCtl, that is, the DVPP_CTL_VENC_PROC command word and venc_in_msg structure parameters. This method is not recommended. It is used to be compatible with the functions in earlier versions and will be deleted in later versions.