HarmonyOS 报错50001999

我这边从 nativeImage 中获取 nativeWindow,然后获取 buffer,最后映射到虚拟内存中。

代码大概如下

OHNativeWindow *nativeWindow = OH_NativeImage_AcquireNativeWindow(nativeImage_);

OHNativeWindowBuffer *windowBuffer;
int fd;
OH_NativeWindow_GetLastFlushedBufferV2(nativeWindow, &windowBuffer, &fd, matrix);
int32_t err = OH_NativeBuffer_FromNativeWindowBuffer(windowBuffer, &nativebuffer);
OH_NativeBuffer_GetConfig(nativebuffer, &bufferConfig);
OH_NativeBuffer_Planes ww;
void *addr;
int wee  = OH_NativeBuffer_MapPlanes(nativebuffer, &addr, &ww);

在模拟器中,bufferConfig 的 format 是 rgba 8888,stride 就是 width * 4,通过 OH_NativeBuffer_Map 访问虚拟内存获取图像信息

在真机中,bufferConfig 的 format 是 YUV420SP, 对于我 608 宽的图像,stride 是 640

我这边只需要访问 Y 数据,所以尝试用

OH_NativeBuffer_Planes ww;
void *addr;
int wee  = OH_NativeBuffer_MapPlanes(nativebuffer, &addr, &ww);

去映射,但一直失败,错误码是 50001999.

如果用 OH_NativeBuffer_Map ,则我不太了解内存中的布局是怎样的

请问下这个的正确用法是怎样的?

HarmonyOS
2025-01-09 13:46:37
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

YUV420SP不是linear格式,所以报了50001999的错误

获取对应像素的YUV值:

// 调用OH_NativeBuffer_Map 取到实际返回数据的首地址
void *virAddr = nullptr;
int32_t ret = OH_NativeBuffer_Map(nativeBuffer, &virAddr); // 映射后通过第二个参数virAddr返回内存的首地址
// 创建YUV Mat
cv::Mat yuv_mat(imgSizeRead.height, imgSizeRead.width, CV_8UC4, virAddr);
分享
微博
QQ
微信
回复
2025-01-09 16:42:21
相关问题
HarmonyOS 使用云存储接口报错报错
1074浏览 • 1回复 待解决
HarmonyOS 报错2300003
796浏览 • 1回复 待解决
HarmonyOS push报错
794浏览 • 1回复 待解决
HarmonyOS 首选项报错数据报错
1163浏览 • 1回复 待解决
HarmonyOS 引入报错
598浏览 • 1回复 待解决
HarmonyOS 报错2303501
1010浏览 • 1回复 待解决
HarmonyOS getRawFileListSync报错
827浏览 • 1回复 待解决
HarmonyOS aop namespace报错
822浏览 • 1回复 待解决
HarmonyOS 安装报错 9568306
732浏览 • 1回复 待解决
HarmonyOS 声明ability报错
848浏览 • 1回复 待解决
HarmonyOS getLastLocation报错3301200
738浏览 • 1回复 待解决
HarmonyOS 实况窗报错
1627浏览 • 1回复 待解决
HarmonyOS 引入图片报错
741浏览 • 1回复 待解决
HarmonyOS录音报错问题
1508浏览 • 1回复 待解决
HarmonyOS 报错问题处理
1258浏览 • 1回复 待解决
HarmonyOS IDE运行报错
1011浏览 • 1回复 待解决
HarmonyOS IAP报错问题
1078浏览 • 1回复 待解决
HarmonyOS 接入RN报错
1439浏览 • 1回复 待解决
HarmonyOS RN启动报错
2113浏览 • 1回复 待解决
HarmonyOS hvigorw命令报错
3789浏览 • 1回复 待解决
HarmonyOS 地图组件报错
1104浏览 • 1回复 待解决
HarmonyOS 支付报错1001860002
1400浏览 • 1回复 待解决
HarmonyOS Huks isKeyItemExist 报错
1070浏览 • 1回复 待解决
HarmonyOS rn工程报错
1302浏览 • 1回复 待解决
HarmonyOS http下载报错
1057浏览 • 1回复 待解决
提问
该提问已有0人参与 ,帮助了0人