We have encoded 16 stripe patterns into a two-frame 60Hz video so that we can display the patterns at 480Hz using display mode #9. We are using mplayer on the beagleboard to loop (repeat) the 60Hz video.
However, we noticed 3 things
(1) The transition between each frame of the video is not smooth. When we simply play out the video in the normal
mode at 10Hz and 60Hz, we can notice quite often that top half of the pattern has been refreshed while the
bottom half has not, vice versa. I don't know which half of the screen has is refreshed faster.
This results in a visible horizontal line moving down the screen (see attached videos)
(2) When we drive the pico projecter at 480Hz, we can visibly notice that the video slowed
down every few seconds. This cannot be tell so easily in the attached videos) Is this a problem of
using mplayer? if so, is there a suggestion for a different
(better way) of displaying videos?
(3) When the video stopped and remained in a still frame and the pico is still in mode #9, the pico
projector shows 3 or more vertical lines (like jitters) every few seconds. I wasn't able to capture this in
a video because the jitters occur very quickly but it is still visible to the eyes. The position of the vertical
lines appear more or less in the same location and each lines are about 3-5mm wide. Each 3-5mm
wide line is either white or black. Could this be a sign of defective pico projector?
Any suggestions are greatly appreciated!
Below are the videos and the scripts used to display each video.
Video played in normal mode at 10Hz
root@beagleboard:/# ~mplayer -vo fbdev -fps 10 video.avi -loop 1000
Video played in normal mode at 60Hz
root@beagleboard:/# ~mplayer -vo fbdev -fps 60 video.avi -loop 1000
Video played in external mode #9 at 480Hz
bus3-i2c 0x1b wb4 0x04 0x00000000 bus3-i2c 0x1b wb4 0x05 0x00000007 bus3-i2c 0x1b wb4 0x06 0x00000002 bus3-i2c 0x1b wb4 0x24 0x00000001 bus3-i2c 0x1b wb4 0x0E 0x00000287 bus3-i2c 0x1b wb4 0x0F 0x00000287 bus3-i2c 0x1b wb4 0x10 0x00000287 bus3-i2c 0x1b wb4 0x82 0x00000006 bus3-i2c 0x1b wb4 0x92 0x00000000 bus3-i2c 0x1b wb4 0x26 0x00000000 bus3-i2c 0x1b wb4 0x62 0x00000000 bus3-i2c 0x1b wb4 0x1F 0x00000009 mplayer -vo fbdev video.avi -loop 1000
What you see is called "tearing". It seems this optins could help:
mplayer -vo xv
Did Curtis's suggestion help?
As Curtis says, what you are seeing is probably "tearing" caused by refresh synchronization mismatches in the frame buffer of the BeagleBoard - probably not in the Pico Kit v2.
The Pico Kit MUST always see ONLY 60Hz VGA video, or it won't synchronize at all. However, mplayer can be told to play at any frame rate. Mplayer displays to the selected frame buffer device in the BeagleBoard. This is then read out to the HDMI port at the setup frame rate - which should be 60 Hz. If there are mismatches between the frame buffer update, and the 60Hz video rate, there can be visible tearing.
Hello Curtis and Pascal,
Thank you for the comments.
However, when I run the command >>mplayer -vo xv -fps 60 video.avi -loop 100, I got the following error messages:
Playing video.avi.AVI file format detected.[aviheader] Video stream found, -vid 0AVI: No audio stream found -> no sound.VIDEO:  640x480 8bpp 60.000 fps 147456.0 kbps (18000.0 kbyte/s)vo: couldn't open the X11 display ()!Error opening/initializing the selected video_out (-vo) device.
I also get the same message when I use the mplayer -vo x11 option.
If you have any suggestions, that would be very helpful.
I have a suspicion that the default mplayer that came with the Angstrom installation might outdated.
The current version I have is SVN-r30165-4.3.3.
I am planning to update to mplayer 0.0+1.0rc3+svnr32735-r29.9 for armv7a. (beagleboard is armv 7l but this is closest I could find)
However, it has taken forever to download this ipk from http://www.angstrom-distribution.org/ and download process somehow gets interrupted frequently.
Is there a better video player for the Beagleboard other then mplayer?
I believe that I use the mplayer which is part of the Angstrom Linux normal installation. If not, I used the one from the repository.
I have been using a different framebuffer, though. Instead of xv try using sdl.
This is what works for me:
mplayer -volume 40 -fs -vo sdl video.avi
I am also having the tearing problem. The mplayer command above worked well for me on the test video that Gavin Smith posted awhile back, http://e2e.ti.com/support/dlp__mems_micro-electro-mechanical_systems/f/94/t/125601.aspx
Given a series of TIFF input images in the correct bit format for the structured light processing mode, I was curious if anyone had a good process for encoding these into the 60 Hz video format required by the pico V2. Also, I am using a beagleboard-xm running Angstrom distribution and the above mplayer command from Pascal to display the videos.
In answer to your question about making a movie from TIFF images, see these links:
Perhaps these will help.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.