PXP_v4l2_test: not displayed on LCD

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

PXP_v4l2_test: not displayed on LCD

1,003 Views
davidzhou
Contributor V

Hi,

I have imx6ul dev board. I also compiled imx_test-5.7. In the test package, there is a program pxp_v4l2_test.out under the unit_tests folder. I run :

pxp_v4l2_test.out -sx 350 -sy 240 -res 350:240 -dst 0:0:350:240  -a 100 -a 100 -w 5 t_yuv420_il.yuv BLANK

The program output:

unable to open /dev/video for output, continue searching device.                
Found v4l2 output device /dev/video0.                                           
V4L output 0 (0x8e100000): PxP Display Output                                   
Video input format: 350x240 YUV 4:2:0 Planar                                    
request count 6                                                                 
win.w.l/t/w/h = 0/0/350/240                                                     
crop.c.l/t/w/h = 0/0/350/240                                                    
PxP processing: start...                                                        
total time for 1 frames = 2500 us, 400 fps                                      
complete                                                                        
VIDIOC_STREAMOFF: Invalid argument

From the document:

Expected Result  | The video streaming can be viewed on LCD.

But there is no image or video displayed on the LCD.

I also installed gstreamer. it can play back a video clip onto the v4l2sink, and video clip is successfully rendered onto the LCD screen.

For the pxp_v4l2_test.out, what is missing?

Thank you,

David

Labels (3)
0 Kudos
2 Replies

628 Views
davidzhou
Contributor V

I dig into the issue. In the pxp_start() of the pxp_v4l2_test.c requires at least two buffers to be filled, then it sets VIDIOC_STREAMON

to start the stream. So if the image file (.rgb or yuv) only contains one frame, it fails to read, and break, exit without error. I added lseek(fd, 0, SEEK_SET), so it reads the same frame again and again. The single image frame  can be displayed or rendered.

Thanks,

David

0 Kudos

628 Views
davidzhou
Contributor V

Actually, just change i==2 for turning on the stream into i==0. That way if only one frame is in the rgb file, it will display the image.

David

0 Kudos