Media Data Processing V1 (Video Encoding)
Description
In this sample, a YUV420SP (NV12) image is encoded for n consecutive times to generate a video stream in H.265 format. (n is defaulted to 16 and is configurable before running the app.)
Principles
The following table lists the key functions involved in this sample.
Initialization |
|
|---|---|
Device Management |
|
Memory Management |
|
Data Transfer |
aclrtMemcpy:
Data transfer is not required if your app runs in the board environment. |
Media Data Processing |
aclvencSendFrame: sends the images to be encoded to the encoder. |
Directory Structure
The sample directory is organized as follows:
├── data │ ├── dvpp_venc_128x128_nv12.yuv //Test image. Obtain the test image according to the guide and save it to the data directory. ├── inc │ ├── venc_process.h //Header file that declares functions related to media data processing │ ├── sample_process.h //Header file that declares functions related to model processing │ ├── utils.h //Header file that declares common functions (such as the file reading function) ├── src │ ├── acl.json //Configuration file for system initialization │ ├── CMakeLists.txt //Build script │ ├── main.cpp //Implementation file of the main function, for multi-image, multi-ROI cropping │ ├── sample_process.cpp //Implementation file of functions related to resource initialization and destruction │ ├── utils.cpp //Implementation file of common functions (such as the file reading function) │ ├── venc_process.cpp //Implementation file of functions related to media data processing ├── CMakeLists.txt //Build script that calls the CMakeLists file in the src directory
Parent topic: App Samples