Skip to main content

样例介绍

样例介绍

获取样例

单击vpc_sample获取样例

功能描述

该样例实现图片的抠图、缩放、边界填充、色域转换、金字塔、LUT重映射、直方图统计等功能。

原理介绍

在该样例中,涉及的关键功能点,如下表所示。

初始化- 调用aclInit接口初始化AscendCL配置。
- 调用aclFinalize接口实现AscendCL去初始化。
Device管理- 调用aclrtSetDevice接口指定用于运算的Device。
- 调用aclrtGetRunMode接口获取软件栈的运行模式,根据运行模式的不同,内部处理流程不同。
- 调用aclrtResetDevice接口复位当前运算的Device,回收Device上的资源。
Context管理- 调用aclrtCreateContext接口创建Context。
- 调用aclrtDestroyContext接口销毁Context。
内存管理- 调用aclrtMallocHost接口/aclrtFreeHost接口申请/释放Host上内存。
- 执行媒体数据处理时,若需要申请Device上的内存存放输入或输出数据,需调用hi_mpi_dvpp_malloc接口/hi_mpi_dvpp_free接口申请/释放内存。
数据传输如果在板端环境上运行应用,则无需进行数据传输。
媒体数据处理V2参见VPC图像处理功能中的接口。

目录结构

样例代码结构如下所示。

├── common //示例代码文件所在的目录
│ ├── sample_comm.cpp //公共函数的实现文件
│ ├── sample_comm.h //声明公共函数的头文件
│ ├── sample_comm_vpc_*.cpp //抠图、缩放等函数的实现文件

├── smoke_vpc //示例代码文件所在的目录
│ ├── sample_vpc.cpp //main函数的实现文件

├── CMakeLists.txt //编译脚本

父主题: 媒体数据处理V2(VPC抠图/贴图/缩放等)

编译及运行应用

单击vpc_sample获取样例,查看该样例下的README。

父主题: 媒体数据处理V2(VPC抠图/贴图/缩放等)

样例介绍

获取样例

单击jpegd_sample获取样例

功能描述

该样例实现.jpg、.jpeg、.JPG、.JPEG图片的解码。

原理介绍

在该样例中,涉及的关键功能点,如下表所示。

初始化- 调用aclInit接口初始化AscendCL配置。
- 调用aclFinalize接口实现AscendCL去初始化。
Device管理- 调用aclrtSetDevice接口指定用于运算的Device。
- 调用aclrtGetRunMode接口获取软件栈的运行模式,根据运行模式的不同,内部处理流程不同。
- 调用aclrtResetDevice接口复位当前运算的Device,回收Device上的资源。
Context管理- 调用aclrtCreateContext接口创建Context。
- 调用aclrtDestroyContext接口销毁Context。
内存管理- 调用aclrtMallocHost接口/aclrtFreeHost接口申请/释放Host上内存。
- 执行媒体数据处理时,若需要申请Device上的内存存放输入或输出数据,需调用hi_mpi_dvpp_malloc接口/hi_mpi_dvpp_free接口申请/释放内存。
数据传输如果在板端环境上运行应用,则无需进行数据传输。
媒体数据处理V2参见VDEC视频解码功能/JPEGD图片解码功能中的接口。

目录结构

样例代码结构如下所示。

├── common //示例代码文件所在的目录
│ ├── sample_comm.h //声明解码函数的头文件
│ ├── sample_comm_jpegd.cpp //解码函数的实现文件

├── smoke_vpc //示例代码文件所在的目录
│ ├── sample_jpegd.cpp //main函数的实现文件

├── CMakeLists.txt //编译脚本

父主题: 媒体数据处理V2(JPEGD图片解码)

编译及运行应用

单击jpegd_sample获取样例,查看该样例下的README。

父主题: 媒体数据处理V2(JPEGD图片解码)

样例介绍

获取样例

单击jpege_sample获取样例

功能描述

该样例实现将YUV格式图片编码成.jpg图片。

原理介绍

在该样例中,涉及的关键功能点,如下表所示。

初始化- 调用aclInit接口初始化AscendCL配置。
- 调用aclFinalize接口实现AscendCL去初始化。
Device管理- 调用aclrtSetDevice接口指定用于运算的Device。
- 调用aclrtGetRunMode接口获取软件栈的运行模式,根据运行模式的不同,内部处理流程不同。
- 调用aclrtResetDevice接口复位当前运算的Device,回收Device上的资源。
Context管理- 调用aclrtCreateContext接口创建Context。
- 调用aclrtDestroyContext接口销毁Context。
内存管理- 调用aclrtMallocHost接口/aclrtFreeHost接口申请/释放Host上内存。
- 执行媒体数据处理时,若需要申请Device上的内存存放输入或输出数据,需调用hi_mpi_dvpp_malloc接口/hi_mpi_dvpp_free接口申请/释放内存。
数据传输如果在板端环境上运行应用,则无需进行数据传输。
媒体数据处理V2参见VENC视频编码功能/JPEGE图片编码功能中的接口。

目录结构

样例代码结构如下所示。

├── common //示例代码文件所在的目录
│ ├── sample_comm.h //声明编码函数的头文件
│ ├── sample_comm_venc.cpp //编码函数的实现文件

├── smoke_vpc //示例代码文件所在的目录
│ ├── sample_jpege.cpp //main函数的实现文件

├── CMakeLists.txt //编译脚本

父主题: 媒体数据处理V2(JPEGE图片编码)

在线提单