hello,
最近在使用H.264 Video Encoder Demo [PYNQ]进行h.264的验证,但是根据http://www.openasic.org/topic/67/h-264-video-encoder-demo-pynq中readme的步骤进行操作,vlc端未能收到任何数据,使用的硬件也是PYNQ-Z1开发板,在运行使用VLC接收HDMI视频流_720p.ipynb时,可以看到下面的打印输出是正常的,但是使用wireshark或者在PYNQ-Z1端串口登录系统后使用netstat查看状态,都没有大量的数据传输。
使用另外一个demo进行验证 使用VLC接收HDMI视频流_1080p.ipynb,出现如下错误
RuntimeError Traceback (most recent call last)
<ipython-input-6-128c56b52014> in <module>()
1 with hdmi_in.configure(pixelformat=PIXEL_RGBA):
----> 2 hdmi_in.start()
3 cma_recv = xlnk.cma_array((size,), dtype=np.uint8)
4 result = xlnk.cma_array((size,), dtype=np.uint8)
5 start = time.time()
/opt/python3.6/lib/python3.6/site-packages/pynq/lib/video.py in start(self)
1067
1068 """
-> 1069 self._vdma.readchannel.start()
1070 return self._stopcontextmanager()
1071
/opt/python3.6/lib/python3.6/site-packages/pynq/lib/video.py in start(self)
492 self._cache = _FrameCache(self._mode)
493 for i in range(len(self._frames)):
--> 494 self._frames[i] = self._cache.getframe()
495
496 self._writemode()
/opt/python3.6/lib/python3.6/site-packages/pynq/lib/video.py in getframe(self)
251 _FrameCache._xlnk = Xlnk()
252 frame = _FrameCache._xlnk.cma_array(
--> 253 shape=self._mode.shape, dtype=np.uint8)
254 frame.original_freebuffer = frame.freebuffer
255 frame.freebuffer = functools.partial(
/opt/python3.6/lib/python3.6/site-packages/pynq/xlnk.py in cma_array(self, shape, dtype)
294 elements = functools.reduce(lambda value, total: value * total, shape)
295 length = elements * dtype.itemsize
--> 296 buffer_pointer = self.cma_alloc(length)
297 buffer = self.cma_get_buffer(buffer_pointer, length)
298 array = np.frombuffer(buffer, dtype=dtype).reshape(shape)
/opt/python3.6/lib/python3.6/site-packages/pynq/xlnk.py in cma_alloc(self, length, cacheable, data_type)
238 buf = self.libxlnk.cma_alloc(length, cacheable)
239 if buf == self.ffi.NULL:
--> 240 raise RuntimeError("Failed to allocate Memory!")
241 self.bufmap[buf] = length
242 return self.ffi.cast(data_type + "*", buf)
RuntimeError: Failed to allocate Memory!
调试过这个demo的同仁们有没有知道怎么解决这两个问题的么?
谢谢