[mmap] partial revert of 8cef8db4 to disable using mmap file reader
[videoplayer.git] / README
blob61fd9002b4a3e2212981fccf3da7e522020cadcc
1 Videoplayer is a program designed to allow the real time playback of raw,
2 headerless YUV files that are encountered in video processing and broadcast
3 applications.
5 The source data should be a single file of concatenated video frames.
7 Aims
8 ----
10 * Play video locked exactly to the display device refresh rate (VSYNC)
12 * Play back uncompressed video in real time
14 * Offload chrominance upconversion and colour matrixing to the GPU
15   to permit high performance playback.
17 Source Formats
18 --------------
20 Videoplayer provides compatibility with a wide range of YUV formats:
22 FourCC code     Description
23 -----------     -----------
24 I420            YUV planar 8 bit data
26 YV12            YVU planar 8 bit data
28 UYVY            UYVY multiplexed 8 bit data
30 V210            UYVY multiplexed 10 bit data, 3 components packed into 32 bits
32 V216            UYVY multiplexed 8-16 bit data, little endian,
33                 data packed to the most significant bits
35 16P0            16 bit, MSbyte first, 16 bit planar data, 4:2:0 chroma
37 16P2            16 bit, MSbyte first, 16 bit planar data, 4:2:2 chroma
39 16P4            16 bit, MSbyte first, 16 bit planar data, 4:4:4 chroma
41 Operating System Compatibility
42 ------------------------------
44 Videoplayer has been developed using the Qt cross platform toolkit.
46 Ubuntu Linux 7.10 has been the main development platform. Linux is the most
47 stable platform for runnung Videoplayer.
49 Videoplayer can be compiled and run on OS X 10.5. Stability problems exist
50 with the ATI graphics in Intel iMacs, which may be resolved with the release
51 of Qt 4.4. Apple specific OpenGL optimisations have not been done.
52 As a result, playback of full screen 1920x1080 video is currently limited to
53 30fps on a Power Mac G5 with NVIDIA GeForce 6600 graphics. Smaller windows will
54 play at 60fps. A more modern GPU may allow higher frame rates
56 Videoplayer can be compiled and run on the Windows platform. Testing has been
57 done on Windows XP SP2 with both NVidia and ATI Radeon HD2400PRO graphics
58 cards. Windows appears to use 100% CPU whilst waiting for VSYNC. This does
59 not appear to affect performance, with NVidia GeForce 6600GT easily able to
60 show 1920x1080x60fps video without dropping frames.
62 Hardware Requirements
63 ---------------------
65 Playing uncompressed video sources requires significant read bandwidth from
66 a storage device.
68 Standard Definition video can be played from a single HDD.
69 1920x1080 HDTV at 25/30fps can be played from four HDDs in software RAID-0.
70 1920x1080 HDTV at 50/60fps can be played from eight HDDs in software RAID-0.
72 It should be noted that the continuous read rate of a HDD varies across the
73 platters. It may be possible to play back from fewer disks than described
74 above, but frames may be dropped at certain filesystem occupancies.
76 If a large disk array is not available, system RAM can be used to cache video
77 files if enough is available. Source video can be copied to /tmp and then
78 played. Alternatively, video can be played from a slow HDD and will stutter
79 on the first loop of the file. Subsequent loops will play in real time as the
80 video data is now cached by the operating system.
82 Videoplayer uses OpenGL to accelerate playback. Development has been done with
83 NVidia QuadroFX3450, 6600GT, 8600GT and 8800GT cards. Recent PCIe graphics cards
84 are recommended, but no testing of other models has been done.