airockchip / librga

Apache License 2.0
276 stars 52 forks source link

RGA处理MppFrame时的fd导入问题 #70

Open zhenghan3852 opened 6 months ago

zhenghan3852 commented 6 months ago
MppFrame buffer;
/*get MppFrame*/
........

int src_fd;
char* psrc;
int src_buffer_size = ......;
src_fd = mpp_buffer_get_fd(buffer);
psrc = (char*)mpp_buffer_get_ptr(buffer);
ret = dma_buf_alloc(DMA_HEAP_DMA32_UNCACHE_PATCH, src_buffer_size, &src_fd, (void **)&psrc);
if (ret < 0) {
    printf("alloc dma32_heap buffer failed!\n");
    return;
}

这样会出现绿图,buffer的数据无法正常传入rga做处理,用virtualaddr的方式倒是可以跑通,但是fd的方式不知道该如何导入,不知道哪里有demo可以提供

dao027 commented 4 months ago

同问,dst_fd该如何定义呢

LeoD218 commented 2 months ago
MppFrame buffer;
/*get MppFrame*/
........

int src_fd;
char* psrc;
int src_buffer_size = ......;
src_fd = mpp_buffer_get_fd(buffer);
psrc = (char*)mpp_buffer_get_ptr(buffer);
ret = dma_buf_alloc(DMA_HEAP_DMA32_UNCACHE_PATCH, src_buffer_size, &src_fd, (void **)&psrc);
if (ret < 0) {
    printf("alloc dma32_heap buffer failed!\n");
    return;
}

这样会出现绿图,buffer的数据无法正常传入rga做处理,用virtualaddr的方式倒是可以跑通,但是fd的方式不知道该如何导入,不知道哪里有demo可以提供

同问,不知道老哥解决了没有