slow memcpy

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

slow memcpy

跳至解决方案
1,388 次查看
OlivierG
Contributor III

HI

i tried this code

https://community.nxp.com/pwmxy87654/attachments/pwmxy87654/imx-processors/173737/1/v4lcap.c

unfortunately the call to memcpy from
buffers[buf.index].start[0]
is very slow about 10 ms with an image size 640*480

i thing it is due to the VB2_MEMORY_MMAP mode

i tried with V4L2_MEMORY_DMABUF but ioctl failed

Is the slow memcpy due to the memory mode ?
Is there a working exemple with V4L2_MEMORY_DMABUF and V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE ?

 

Greeting

 

Olivier

0 项奖励
回复
1 解答
1,365 次查看
OlivierG
Contributor III

Hi 

i use this code to use DMA instead of MMAP

https://github.com/emfend/dmabuf-v4l2-demo

I also verified that this patch is applied

https://github.com/torvalds/linux/commit/de27891f675ed1e46e8821d2e05e036e5f97586b

It works, memcpy time is less than 1 ms

Olivier

 

 

在原帖中查看解决方案

0 项奖励
回复
1 回复
1,366 次查看
OlivierG
Contributor III

Hi 

i use this code to use DMA instead of MMAP

https://github.com/emfend/dmabuf-v4l2-demo

I also verified that this patch is applied

https://github.com/torvalds/linux/commit/de27891f675ed1e46e8821d2e05e036e5f97586b

It works, memcpy time is less than 1 ms

Olivier

 

 

0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-2059409%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E6%85%A2%E9%80%9F%E5%86%85%E5%AD%98%E5%A4%8D%E5%88%B6%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2059409%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHI%3C%2FP%3E%3CP%3E%E6%88%91%E8%AF%95%E8%BF%87%E8%BF%99%E4%B8%AA%E4%BB%A3%E7%A0%81%3C%2FP%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fpwmxy87654%2Fattachments%2Fpwmxy87654%2Fimx-processors%2F173737%2F1%2Fv4lcap.c%22%20target%3D%22_blank%22%3Ehttps%3A%2F%2Fcommunity.nxp.com%2Fpwmxy87654%2Fattachments%2Fpwmxy87654%2Fimx-processors%2F173737%2F1%2Fv4lcap.c%3C%2FA%3E%3C%2FP%3E%3CP%3E%E4%B8%8D%E5%B9%B8%E7%9A%84%E6%98%AF%EF%BC%8C%E5%AF%B9%20memcpy%20%E7%9A%84%E8%B0%83%E7%94%A8%E6%9D%A5%E8%87%AA%3CBR%20%2F%3E%E7%BC%93%E5%86%B2%E5%8C%BA%5Bbuf.index%5D.%E5%BC%80%E5%A7%8B%5B0%5D%3CBR%20%2F%3E%E5%AF%B9%E4%BA%8E%20640*480%20%E5%A4%A7%E5%B0%8F%E7%9A%84%E5%9B%BE%E5%83%8F%EF%BC%8C%E9%80%9F%E5%BA%A6%E9%9D%9E%E5%B8%B8%E6%85%A2%EF%BC%8C%E5%A4%A7%E7%BA%A6%E9%9C%80%E8%A6%81%2010%20%E6%AF%AB%E7%A7%92%3C%2FP%3E%3CP%3E%E6%88%91%E8%AE%A4%E4%B8%BA%E8%BF%99%E6%98%AF%E7%94%B1%E4%BA%8E%20VB2_MEMORY_MMAP%20%E6%A8%A1%E5%BC%8F%3C%2FP%3E%3CP%3E%E6%88%91%E5%B0%9D%E8%AF%95%E4%BD%BF%E7%94%A8%20V4L2_MEMORY_DMABUF%20%E4%BD%86%20ioctl%20%E5%A4%B1%E8%B4%A5%3C%2FP%3E%3CP%3Ememcpy%20%E9%80%9F%E5%BA%A6%E6%85%A2%E6%98%AF%E7%94%B1%E4%BA%8E%E5%86%85%E5%AD%98%E6%A8%A1%E5%BC%8F%E9%80%A0%E6%88%90%E7%9A%84%E5%90%97%EF%BC%9F%3CBR%20%2F%3E%E6%98%AF%E5%90%A6%E6%9C%89%20V4L2_MEMORY_DMABUF%20%E5%92%8C%20V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE%20%E7%9A%84%E5%B7%A5%E4%BD%9C%E7%A4%BA%E4%BE%8B%EF%BC%9F%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E9%97%AE%E5%80%99%3C%2FP%3E%3CBR%20%2F%3E%3CP%3EOlivier%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2061369%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9A%E7%BC%93%E6%85%A2%E7%9A%84memcpy%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2061369%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%26nbsp%3B%3C%2FP%3E%3CP%3E%E6%88%91%E4%BD%BF%E7%94%A8%E6%AD%A4%E4%BB%A3%E7%A0%81%E6%9D%A5%E4%BD%BF%E7%94%A8%20DMA%20%E8%80%8C%E4%B8%8D%E6%98%AF%20MMAP%3C%2FP%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Femfend%2Fdmabuf-v4l2-demo%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2Femfend%2Fdmabuf-v4l2-demo%3C%2FA%3E%3C%2FP%3E%3CP%3E%E6%88%91%E8%BF%98%E9%AA%8C%E8%AF%81%E4%BA%86%E6%AD%A4%E8%A1%A5%E4%B8%81%E5%B7%B2%E5%BA%94%E7%94%A8%3C%2FP%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Ftorvalds%2Flinux%2Fcommit%2Fde27891f675ed1e46e8821d2e05e036e5f97586b%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2Ftorvalds%2Flinux%2Fcommit%2Fde27891f675ed1e46e8821d2e05e036e5f97586b%3C%2FA%3E%3C%2FP%3E%3CP%3E%E5%8F%AF%E4%BB%A5%E6%AD%A3%E5%B8%B8%E5%B7%A5%E4%BD%9C%EF%BC%8Cmemcpy%20%E6%97%B6%E9%97%B4%E5%B0%8F%E4%BA%8E%201%20%E6%AF%AB%E7%A7%92%3C%2FP%3E%3CP%3EOlivier%3C%2FP%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E