请观察如下伪代码,补全设置图片解码输出描述信息需要填写的参数: void* decodeOutDevBuffer; uint32_t DataSize = 1783400; aclError ret = acldvppMalloc(&decodeOutDevBuffer, DataSize); decodeOutputDesc = acldvppCreatePicDesc( ); acldvppSetPicDescData(decodeOutputDesc, ()); acldvppSetPicDescSize(decodeOutputDesc, ());
时间: 2024-03-02 18:51:44 浏览: 251
根据伪代码,设置图片解码输出描述信息需要填写的参数如下:
```
void* decodeOutDevBuffer;
uint32_t DataSize = 1783400;
aclError ret = acldvppMalloc(&decodeOutDevBuffer, DataSize);
decodeOutputDesc = acldvppCreatePicDesc( );
acldvppSetPicDescData(decodeOutputDesc, decodeOutDevBuffer); // 填写解码输出缓存地址
acldvppSetPicDescSize(decodeOutputDesc, DataSize); // 填写解码输出缓存大小
```
其中,decodeOutDevBuffer为解码输出缓存地址,DataSize为解码输出缓存大小,通过acldvppMalloc()函数分配得到。decodeOutputDesc为解码输出描述信息,通过acldvppCreatePicDesc()函数创建得到。acldvppSetPicDescData()函数设置解码输出缓存地址,acldvppSetPicDescSize()函数设置解码输出缓存大小。
相关问题
请观察如下伪代码,补全计算vdec+resize串联使用时,resize输入数据内存大小的计算公式(请填写变量名): uint32_t inputWidth = 1080; uint32_t inputHeight = 720; uint32_t sizeAlignment = 3; uint32_t sizeNum = 2; uint3_t aligned_w = 16; uint3_t aligned_h = 2; //the input yuv is from VDEC, it shoud be aligned to 16*2 uint32_t inputWidthStride = (inputWidth + aligned_w - 1) / aligned_w * aligned_w; uint32_t inputHeightStride = (inputHeight + aligned_h - 1) / aligned_h * aligned_h; uint32_t inputBufferSize = inputWidthStride * inputHeightStride * ()/();
根据伪代码,计算vdec+resize串联使用时,resize输入数据内存大小的计算公式如下:
```
uint32_t inputWidth = 1080;
uint32_t inputHeight = 720;
uint32_t sizeAlignment = 3;
uint32_t sizeNum = 2;
uint3_t aligned_w = 16;
uint3_t aligned_h = 2;
// the input yuv is from VDEC, it should be aligned to 16*2
uint32_t inputWidthStride = (inputWidth + aligned_w - 1) / aligned_w * aligned_w;
uint32_t inputHeightStride = (inputHeight + aligned_h - 1) / aligned_h * aligned_h;
uint32_t inputBufferSize = inputWidthStride * inputHeightStride * sizeNum / sizeAlignment; // 填写计算公式
```
其中,inputWidth和inputHeight为输入图像的宽高,aligned_w和aligned_h为对齐宽高,sizeNum表示需要存储的图像数目,sizeAlignment表示对齐系数。inputWidthStride和inputHeightStride为宽度和高度的对齐值。输入数据内存大小的计算公式为:inputWidthStride * inputHeightStride * sizeNum / sizeAlignment。
typedef int32_t (*stmdev_read_ptr)(void *, uint8_t, uint8_t *, uint16_t);是什么意思
这段代码定义了一个名为`stmdev_read_ptr`的函数指针类型,该函数指针指向一个返回值为`int32_t`类型的函数,该函数接受四个参数,分别为指向void类型的指针、uint8_t类型的值、指向uint8_t类型的指针和uint16_t类型的值。这个函数指针类型可以用来声明指向符合这个函数原型的函数的指针变量。
代码示例:
```c
typedef int32_t (*stmdev_read_ptr)(void *, uint8_t, uint8_t *, uint16_t);
int32_t my_func(void *p, uint8_t a, uint8_t *b, uint16_t c) {
// 函数体
}
int main() {
stmdev_read_ptr ptr = my_func; // 声明一个函数指针变量并初始化为指向my_func函数
// 使用ptr指针调用my_func函数
int32_t result = ptr(NULL, 0, NULL, 0);
return 0;
}
```
阅读全文