Commit 556c483c authored by David Loiret's avatar David Loiret Committed by Jean-Baptiste Kempf

Rework design of features page

Signed-off-by: Jean-Baptiste Kempf's avatarJean-Baptiste Kempf <jb@videolan.org>
parent 53b68497
......@@ -1295,3 +1295,99 @@ a.icon {
padding: 20px 0 0 0;
}
}
.section-header-spacer {
float: left;
width: 200px;
border-top: 3px solid #e7e7e7;
}
.section-heading {
margin-bottom: 30px;
}
.lead {
font-size: 18px;
font-weight: 400px;
}
.features-item-list {
text-align: center;
.icon, i {
width: 80px;
height: 80px;
display: inline-block;
background-position: center;
background-repeat: no-repeat;
background-size: 50%;
background-color: #e7e7e7;
border-radius: 50%;
margin-bottom: 16px;
&.box-shadow {
@include box-shadow(0 3px 5px rgba(0, 0, 0, 0.1));
}
&:hover {
&.box-shadow-hover {
@include box-shadow(0 3px 5px rgba(0, 0, 0, 0.2));
}
}
}
ul {
display: inline-block;
}
ul li {
margin-bottom: 6px;
&:before {
width: 12px;
height: 12px;
}
text-align: left;
font-size: 14px;
}
h2 {
margin-bottom: 26px;
}
.section-header-spacer {
width: 25%;
margin-left: 37%;
float: none;
}
h4 {
i {
background-color: transparent;
margin-bottom: 0;
vertical-align: middle;
width: 60px;
height: 60px;
}
span {
vertical-align: middle;
}
}
}
.features-os {
.icon {
background-color: transparent;
width: 40px;
height: 40px;
}
.icon-cross-platform {
background-size: 70%;
}
}
#features-advanced-formats {
text-align: left;
h4 {
margin-left: -15px;
}
}
.no-margin-top {
margin-top: 0 !important;
}
.margin-bottom-32 {
margin-bottom: 32px;
}
<?php
function writeonefeature( $a )
{
if ( $a == "yes" )
echo '<td class="yes"><img src="/images/features/tick.png" alt="Yes" /></td>';
else if ($a == "no" )
echo '<td class="no"><img src="/images/features/cross.png" alt="No" /></td>';
else if ( $a == "part" )
echo '<td class="partial"><img src="/images/features/partial.png" alt="Partial" /></td>';
else if ( $a == "unt" )
echo '<td class="partial"><img src="/images/features/untested.png" alt="Untested" /></td>';
else if ($a == "none" )
echo '<td class="none">-</td>';
echo "\n";
}
function writefeature_simple( $title, $windows, $mac, $linux, $beos, $bsd, $fam )
{
echo '<td class="type">'.$title.'</td>';
writeonefeature( $windows );
writeonefeature( $mac );
writeonefeature( $linux );
writeonefeature( $beos );
writeonefeature( $bsd );
echo "</tr>\n";
}
function writefeature( $title, $windows, $mac, $linux, $beos, $bsd, $fam )
{
echo "<tr>\n";
writefeature_simple( $title, $windows, $mac, $linux, $beos, $bsd, $fam );
}
function writeInputFeatures() {
?>
<div id="feature-list-input">
<table class="feature-list-table table table-striped table-hover">
<?php headers( "yes" ); ?>
<tr>
<td class="category" rowspan="14"><b>Input media</b></td>
<?php writefeature_simple( "UDP/RTP Unicast", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "UDP/RTP Multicast", "yes", "yes", "yes", "no", "yes", "yes" ); ?>
<?php writefeature( "HTTP / FTP", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "MMS", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "TCP/RTP Unicast", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "DCCP/RTP Unicast", "no", "no", "yes", "no", "no", "unt" ); ?>
<?php writefeature( "File ", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( 'DVD Video <sup><a href="#input_notes">1</a></sup>', "yes", "yes", "yes", "yes", "yes", "none" ); ?>
<?php writefeature( "Video CD / VCD ", "yes", "yes", "yes", "no", "yes", "none" ); ?>
<?php writefeature( 'SVCD <sup><a href="#input_notes">2</a></sup>', "part", "part", "part", "no", "part", "none" ); ?>
<?php writefeature( "Audio CD (no DTS-CD)", "yes", "yes", "yes", "no", "yes", "none" ); ?>
<tr>
<td class="type">DVB (Satellite, <br/>Digital TV, Cable TV)</td>
<td class="yes"><img src="http://images.videolan.org/images/features/tick.png" alt="Yes" /></td>
<td class="part"><img src="http://images.videolan.org/images/features/partial.png" alt="part" /> EyeTV <sup><a href="#input_notes">3</a></sup></td>
<td class="yes"><img src="http://images.videolan.org/images/features/tick.png" alt="Yes" /></td>
<td class="yes"><img src="http://images.videolan.org/images/features/tick.png" alt="Yes" /></td>
<td class="no"><img src="http://images.videolan.org/images/features/cross.png" alt="No" /></td>
</tr>
<?php writefeature( 'MPEG encoder <sup><a href="#input_notes">4</a></sup>', "yes", "no", "yes", "no", "no", "none" ); ?>
<tr>
<td class="type">Video acquisition</td>
<td class="yes"><img src="http://images.videolan.org/images/features/tick.png" alt="Yes" /> Direct Show</td>
<td class="part"><img src="http://images.videolan.org/images/features/tick.png" alt="Yes" /> QTKit <sup><a href="#input_notes">5</a></sup></td>
<td class="yes"><img src="http://images.videolan.org/images/features/tick.png" alt="Yes" /> V4L, V4L2</td>
<td class="no"><img src="http://images.videolan.org/images/features/cross.png" alt="No" /></td>
<td class="no"><img src="http://images.videolan.org/images/features/cross.png" alt="No" /></td>
</tr>
<tr style="background:#D4E0F7 !important">
<td colspan="8" style="background:#D4E0F7 !important">&nbsp;</td>
</tr>
<tr>
<td class="category" rowspan="17"><b>Input formats</b></td>
<?php writefeature_simple( "MPEG (ES,PS,TS,PVA,MP3)", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "AVI", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "ASF / WMV / WMA", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "MP4 / MOV / 3GP", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "OGG / OGM / Annodex", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "Matroska (MKV)", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "Real", "part", "part", "part", "part", "part", "part" ); ?>
<?php writefeature( "WAV (including DTS)", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "Raw Audio: DTS, AAC, AC3/A52", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "Raw DV", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "FLAC", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "FLV (Flash)", "yes", "yes", "yes", "unt", "yes", "unt" ); ?>
<?php writefeature( "MXF", "yes", "yes", "yes", "unt", "yes", "unt" ); ?>
<?php writefeature( "Nut", "yes", "yes", "yes", "unt", "yes", "unt" ); ?>
<?php writefeature( "Standard MIDI / SMF", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "Creative&trade; Voice", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
</table>
<div class="notes">
<ol id="input_notes">
<li value="1">DVD decryption is done through the libdvdcss library.</li>
<li value="2">VLC on GNU/Linux, Solaris, and Microsoft Windows has playback
control support via libcdio and libvcdinfo. On other platforms,
SVCD support varies depending on the availability of these libraries.
(Volunteers for adding support are always welcome.). Handling still
frames (often used in menus) and switching between different video
formats is problematic.</li>
<li value="3">On Mac OS X 10.4 or later, VLC is able to grab video and audio from EyeTV applications and therefore all EyeTV-compatible capture devices. The user needs to install a plugin to EyeTV.app in order to use this feature. Guidance is provided in the User Interface. Requires VLC 0.9.0 or later.</li>
<li value="4">VLC for GNU/Linux supports V4L2 compatible encoding cards as well as two kinds of MPEG-2 encoding cards: Hauppauge WinTV-PVR-250/350 and Visiontech Kfir.</li>
<li value="5">VLC can capture video from internal iSights on Mac OS X 10.5 or later (video only) since version 0.9.0. VLC 1.2 adds capturing from all devices supported by QTKit. It also enables audio capturing support on Mac OS X 10.6 and later.</li>
</ol>
</div>
</div>
<?php
}
function writeVideoFeatures() {
?>
<div id="feature-list-video">
<table class="feature-list-table table table-striped table-hover">
<?php headers( "no" ); ?>
<?php writefeature( "MPEG-1/2", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "DivX® (1/2/3)", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "MPEG-4 ASP, DivX® 4/5/6, XviD, 3ivX D4", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "H.261", "yes", "yes", "yes", "unt", "yes", "unt" ); ?>
<?php writefeature( "H.263 / H.263i", "yes", "yes", "yes", "unt", "yes", "unt" ); ?>
<?php writefeature( "H.264 / MPEG-4 AVC", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "Cinepak", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "Theora", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "Dirac / VC-2", "yes", "yes", "yes", "unt", "yes", "unt" ); ?>
<?php writefeature( "MJPEG (A/B)", "yes", "yes", "yes", "unt", "yes", "unt" ); ?>
<?php writefeature( "WMV 1/2", "yes", "yes", "yes", "unt", "yes", "unt" ); ?>
<tr>
<td class="type">WMV 3 / WMV-9 / VC-1 <sup><a href="#video_notes">1</a></sup></td>
<td class="yes"><img src="http://images.videolan.org/images/features/tick.png" alt="Yes" /></td>
<td class="yes"><img src="http://images.videolan.org/images/features/tick.png" alt="Yes" /></td>
<td class="yes"><img src="http://images.videolan.org/images/features/tick.png" alt="Yes" /></td>
<td class="yes"><img src="http://images.videolan.org/images/features/tick.png" alt="Yes" /></td>
<td class="yes"><img src="http://images.videolan.org/images/features/tick.png" alt="Yes" /></td>
</tr>
<?php writefeature( "Sorenson 1/3 (Quicktime)", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "DV (Digital Video)", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "On2 VP3/VP5/VP6", "yes", "yes", "yes", "unt", "yes", "unt" ); ?>
<?php writefeature( "Indeo Video v3 (IV32)", "yes", "yes", "part", "yes", "part", "yes" ); ?>
<?php writefeature( "Indeo Video 4/5 (IV41, IV51)", "no", "no", "no", "no", "no", "no" ); ?>
<?php writefeature( 'Real Video 1/2', "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( 'Real Video 3/4', "yes", "yes", "yes", "unt", "yes", "unt" ); ?>
</table>
<div class="notes">
<ol id="video_notes">
<li value="1">Windows DMO codecs can be used by VLC on 32-bit x86 platforms and
allow WMV-3/WMA-3 decoding. This feature is untested on Intel-based Macs.</li>
</ol>
</div>
</div>
<?php
}
function writeAudioFeatures() {
?>
<div id="feature-list-audio">
<table class="feature-list-table table table-striped table-hover">
<?php headers( "no" ); ?>
<?php writefeature( "MPEG Layer 1/2", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "MP3 - MPEG Layer 3", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "AAC - MPEG-4 part3", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "Vorbis", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "AC3 - A/52 (Dolby Digital)", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( 'E-AC-3 (Dolby Digital Plus) ', "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( 'MLP / TrueHD">3</a></sup>', "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "DTS", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "WMA 1/2", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( 'WMA 3 <sup><a href="#audio_notes">1</a></sup>', "yes", "yes", "yes", "no", "no", "no" ); ?>
<?php writefeature( "FLAC", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "ALAC", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "Speex", "yes", "yes", "yes", "unt", "yes", "unt" ); ?>
<?php writefeature( "Musepack / MPC", "yes", "yes", "yes", "unt", "yes", "unt" ); ?>
<?php writefeature( "ATRAC 3", "yes", "yes", "yes", "unt", "yes", "unt" ); ?>
<?php writefeature( "Wavpack", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "Mod (.s3m, .it, .mod)", "yes", "yes", "yes", "unt", "yes", "unt" ); ?>
<?php writefeature( "TrueAudio (TTA)", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "APE (Monkey Audio)", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( 'Real Audio <sup><a href="#audio_notes">2</a></sup>', "part", "part", "part", "unt", "part", "no" ); ?>
<?php writefeature( "Alaw/&micro;law", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "AMR (3GPP)", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( 'MIDI <sup><a href="#audio_notes">3 </a></sup>', "yes", "unt", "yes", "no", "yes", "unt" ); ?>
<?php writefeature( "LPCM", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "ADPCM", "yes", "yes", "yes", "yes", "yes", "unt" ); ?>
<?php writefeature( "QCELP", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "DV Audio", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "QDM2/QDMC (QuickTime)", "yes", "yes", "yes", "unt", "yes", "unt" ); ?>
<?php writefeature( "MACE", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
</table>
<div class="notes">
<ol id="audio_notes">
<li value="1">Native playback supported by VLC 1.0.3 and later. Previous versions could use Windows DMO codecs on 32-bit x86 platforms and
allow WMV-3/WMA-3 decoding. This feature was never tested on Intel-based Macs.</li>
<li value="2">Sipr codec playback is not supported.</li>
<li value="3">Requires a .sf2 soundfont, see <a href="http://wiki.videolan.org/Midi">our wiki</a>.</li>
</ol>
</div>
</div>
<?php
}
function writeSubFeatures() {
?>
<div id="feature-list-sub">
<table class="feature-list-table table table-striped table-hover">
<?php headers( "yes" ); ?>
<tr>
<td class="category" rowspan="10"><b>Subtitles</b></td>
<?php writefeature_simple( 'DVD <sup><a href="#sub_notes">1</a></sup>', "part", "part", "part", "part", "part", "none" ); ?>
<?php writefeature( "Text files (MicroDVD,<br/>SubRIP, SubViewer, SSA1-5, SAMI, VPlayer)" , "yes", "yes", "yes", "yes", "yes", "unt" ); ?>
<?php writefeature( "Closed captions", "no", "yes", "yes", "no", "unt", "unt" ); ?>
<?php writefeature( "Vobsub", "yes", "yes", "yes", "yes", "yes", "unt" ); ?>
<?php writefeature( "Universal Subtitle Format (USF)", "yes", "yes", "yes", "yes", "yes", "unt" ); ?>
<?php writefeature( "SVCD / CVD", "yes", "unt", "yes", "unt", "yes", "unt" ); ?>
<?php writefeature( "DVB", "yes", "yes", "yes", "yes", "yes", "none" ); ?>
<?php writefeature( "OGM", "yes", "yes", "yes", "yes", "yes", "unt" ); ?>
<?php writefeature( "CMML", "yes", "yes", "yes", "yes", "yes", "unt" ); ?>
<?php writefeature( "Kate", "yes", "yes", "yes", "unt", "yes", "unt" ); ?>
<tr style="background:#D4E0F7 !important">
<td colspan="8" style="background:#D4E0F7 !important">&nbsp;</td>
</tr>
<tr>
<td class="category" rowspan="4"><b>Tags</b></td>
<?php writefeature_simple( "ID3 tags", "yes", "yes", "yes", "yes", "yes", "unt" ); ?>
<?php writefeature( "APEv2", "yes", "yes", "yes", "yes", "yes", "unt" ); ?>
<?php writefeature( "Vorbis comment", "yes", "yes", "yes", "yes", "yes", "unt" ); ?>
</table>
<div class="notes">
<ol id="sub_notes">
<li value="1">
Full color for YUV-type chromas is not handled, only the gray-scale value. Subtitle transparency is not fully supported for all chromas. Some chromas are not handled at all.
</li>
</ol>
</div>
</div>
<?php
}
function writeAVFeatures() {
?>
<div id="feature-list-av">
<table class="feature-list-table table table-striped table-hover">
<?php headers( "yes" ); ?>
<tr>
<td class="category" rowspan="6"><b>Video Outputs</b></td>
<td class="type">Native</td>
<td class="yes">Direct3D<br/>DirectX<br/>GDI</td>
<td class="yes">OpenGL</td>
<td class="yes"><img src="http://images.videolan.org/images/features/tick.png" alt="Yes" /></td>
<td class="yes"><img src="http://images.videolan.org/images/features/tick.png" alt="Yes" /></td>
<td class="yes"><img src="http://images.videolan.org/images/features/tick.png" alt="Yes" /></td>
</tr>
<?php writefeature( "X11", "none", "unt", "yes", "none", "yes", "yes" ); ?>
<?php writefeature( "XVideo", "none", "none", "yes", "none", "yes", "yes" ); ?>
<?php writefeature( "SDL", "yes", "no", "yes", "unt", "yes", "yes" ); ?>
<?php writefeature( "FrameBuffer", "none", "none", "yes", "none", "none", "unt" ); ?>
<?php writefeature( "ASCII Art", "yes", "yes", "yes", "unt", "yes", "no" ); ?>
<tr style="background:#D4E0F7 !important">
<td colspan="8" style="background:#D4E0F7 !important">&nbsp;</td>
</tr>
<tr>
<td class="category" rowspan="7"><b>Audio Outputs</b></td>
<td class="type">Native</td>
<td class="yes">DirectX<br/>WaveOut</td>
<td class="yes"><img src="http://images.videolan.org/images/features/tick.png" alt="Yes" /></td>
<td class="yes">OSS<br/>ALSA</td>
<td class="yes"><img src="http://images.videolan.org/images/features/tick.png" alt="Yes" /></td>
<td class="yes">OSS</td>
</tr>
<tr>
<td class="type">S/PDIF</td>
<td class="yes">DirectX<br/>WaveOut</td>
<td class="yes"><img src="http://images.videolan.org/images/features/tick.png" alt="Yes" /></td>
<td class="yes">OSS<br/>ALSA</td>
<td class="no"><img src="http://images.videolan.org/images/features/cross.png" alt="No" /></td>
<td class="partial"><img src="http://images.videolan.org/images/features/untested.png" alt="Untested" /></td>
</tr>
<tr>
<td class="type">Multi-channel</td>
<td class="yes">DirectX<br/>WaveOut</td>
<td class="yes"><img src="http://images.videolan.org/images/features/tick.png" alt="Yes" /></td>
<td class="yes">OSS<br/>ALSA</td>
<td class="no"><img src="http://images.videolan.org/images/features/cross.png" alt="No" /></td>
<td class="partial"><img src="http://images.videolan.org/images/features/untested.png" alt="Untested" /></td>
</tr>
<?php writefeature( "PulseAudio", "none", "none", "yes", "none", "unt", "unt" ); ?>
<?php writefeature( "PortAudio", "yes", "unt", "unt", "none", "unt", "unt" ); ?>
<?php writefeature( "JACK", "none", "unt", "yes", "none", "unt", "unt" ); ?>
</table>
</div>
<?php
}
function writeFilterFeatures() {
$title = "VLC - Features";
$lang = "en";
$menu = array( "vlc", "features" );
$new_design = true;
require($_SERVER["DOCUMENT_ROOT"]."/include/header.php");
function startFeatureSection($align, $sectionClass='') {
echo '<section class="features ' . $sectionClass . '"><div class="container"><div class="row">';
$col = $align == 'left' ? 'col-lg-5 col-sm-6' : 'col-lg-5 col-lg-offset-1 col-sm-push-6 col-sm-6';
echo '<div class="' . $col . '">';
}
function endFeatureSection($align, $imgSrc) {
echo '</div>';
$col = $align == 'left' ? 'col-lg-5 col-lg-offset-2 col-sm-6' : 'col-lg-5 col-sm-pull-6 col-sm-6';
echo '<div class="' . $col . '"><img class="center-sm center-xs img-responsive" src="' . $imgSrc . '"></div></div></div></section>';
}
$mediaFormats = array(
"MPEG-1/2", "DivX® (1/2/3/4/5/6)",
"MPEG-4 ASP", "XviD",
"3ivX D4", "H.261",
"H.263 / H.263i",
"H.264 / MPEG-4 AVC",
"Cinepak", "Theora",
"Dirac / VC-2",
"MJPEG (A/B)", "WMV 1/2",
"WMV 3 / WMV-9 / VC-1",
"Sorenson 1/3", "DV",
"On2 VP3/VP5/VP6", "Indeo Video v3 (IV32)",
"Real Video (1/2/3/4)"
);
$audioFormats = array(
"MPEG Layer 1/2", "MP3 - MPEG Layer 3",
"AAC - MPEG-4 part3", "Vorbis",
"AC3 - A/52", "E-AC-3",
"MLP / TrueHD>3", "DTS",
"WMA 1/2, WMA 3",
"FLAC, ALAC",
"Speex, Musepack / MPC",
"ATRAC 3, Wavpack",
"Mod", "TrueAudio",
"APE", "Real Audio",
"Alaw/µlaw, AMR (3GPP)",
"MIDI", "LPCM",
"ADPCM, QCELP",
"DV Audio, QDM2/QDMC",
"MACE"
);
$subtitleFormats = array(
"DVD, Text files (MicroDVD, SubRIP, SubViewer, SSA1-5, SAMI, VPlayer)",
"Closed captions", "Vobsub",
"Universal Subtitle Format (USF)", "SVCD / CVD",
"DVB", "OGM",
"CMML", "Kate"
);
$tagFormats = array(
"ID3 tags", "APEv2",
"Vorbis comment"
);
$inputMedia = array(
"UDP/RTP Unicast", "UDP/RTP Multicast",
"HTTP / FTP", "MMS",
"TCP/RTP Unicast", "DCCP/RTP Unicast",
"File", "DVD Video",
"Video CD / VCD", "SVCD",
"Audio CD (no DTS-CD)", "DVB (Satellite, Digital TV, Cable TV)",
"MPEG encoder", "Video acquisition"
);
$inputFormats = array(
"MPEG (ES,PS,TS,PVA,MP3)", "AVI",
"ASF / WMV / WMA", "MP4 / MOV / 3GP",
"OGG / OGM / Annodex", "Matroska (MKV)",
"Real", "WAV (including DTS)",
"Raw Audio: DTS, AAC, AC3/A52", "Raw DV",
"FLAC", "FLV (Flash)",
"MXF", "Nut",
"Standard MIDI / SMF", "Creative™ Voice"
);
$miscFormats = array(
"SAP/SDP announces", "Bonjour protocol",
"Mozilla/Firefox plugin", "ActiveX plugin",
"SVCD Menus", "Localization",
"CD-Text", "CDDB CD info",
"IGMPv3", "IPv6",
"MLDv2", "CPU acceleration"
);
function renderListItems($array) {
foreach($array as $key => $value) {
if ($key == count($array) - 1) {
$value .= '.';
} else {
$value .= ', ';
}
echo $value;
}
}
?>
<div id="feature-list-filters">
<table class="feature-list-table table table-striped table-hover">
<?php headers( "yes" ); ?>
<tr>
<td class="category" rowspan="10"><b>Video Filters</b></td>
<?php writefeature_simple( "Deinterlace", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "Cropping", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "Image wall", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "Image adjust", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "Rotate/Mirror", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "Logo overlay", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "Magnification", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "Image distortion", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "Bluescreen", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "RSS/Atom feeds", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<tr style="background:#D4E0F7 !important">
<td colspan="8" style="background:#D4E0F7 !important">&nbsp;</td>
</tr>
<tr><td class="category" rowspan="2"><b>Audio Filters</b></td>
<?php writefeature_simple( "Visualization effects", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "Equalizer", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "Spatializer", "yes", "yes", "yes", "unt", "yes", "yes" ); ?>
<?php writefeature( "Dynamic Range Compressor", "yes", "yes", "yes", "unt", "yes", "yes" ); ?>
<div class="container">
<h1 class="text-center margin-bottom-32">VLC Features</h1>
</div>
</table>
<section class="features-item-list features bg-gray">
<div class="container">
<div class="row">
<div class="col-md-4">
<i class="icon-play box-shadow"></i>
<p><?= _("VLC plays Files, Discs, Webcams, Devices and Streams."); ?></p>
</div>
<div class="col-md-4 features-os">
<i class="icon-cross-platform box-shadow"></i>
<div class="clearfix"></div>
<a class="icon icon-windows8-svg box-shadow-hover" href="/vlc/download-windows.html"></a>
<a class="icon icon-mac-svg box-shadow-hover" href="/vlc/download-macosx.html"></a>
<a class="icon icon-linux-svg box-shadow-hover" href="/vlc/#download"></a>
<a class="icon icon-android-svg box-shadow-hover" href="/vlc/download-android.html"></a>
<a class="icon icon-ios-svg box-shadow-hover" href="/vlc/download-ios.html"></a>
</div>
<div class="col-md-4">
<i class="icon-money-off box-shadow"></i>
<p class="lead"><?= _("No spyware, No ads, No user tracking."); ?></p>
</div>
</div>
<?php
}
function writeIntfFeatures() {
?>
<div id="feature-list-intf">
<table class="feature-list-table table table-striped table-hover">
<?php headers( "no" ); ?>
<tr>
<td class="type">Default</td>
<td class="yes">Qt4</td>
<td class="yes">Cocoa</td>
<td class="yes">Qt4</td>
<td class="yes">Native</td>
<td class="yes">Qt4</td>
</tr>
<?php writefeature( "Qt4", "yes", "part", "yes", "none", "unt", "none" ); ?>
<?php writefeature( "Skins", "yes", "no", "yes", "no", "unt", "none" ); ?>
<?php writefeature( "Web", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "Telnet", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "Command line", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
<?php writefeature( "ncurses", "no", "yes", "yes", "unt", "unt", "unt" ); ?>
<?php writefeature( "Infrared", "no", "no", "yes", "no", "no", "no" ); ?>
<?php writefeature( "Mouse Gestures", "yes", "yes", "yes", "yes", "yes", "yes" ); ?>
</table>
</div>
</section>
<?php startFeatureSection('right') ?>
<hr class="section-header-spacer"><div class="clearfix"></div>
<h2 class="section-heading"><?= _("Fast - Hardware Decoding") ?></h2>
<p class="lead">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam risus eros, lobortis eu luctus non, consectetur ut augue. Vivamus enim nisl, maximus id porta sed, consectetur vitae ipsum.</p>
<?php endFeatureSection('right', '//images.videolan.org/vlc/screenshots/2.2.0/vlc-ios-2.4-iphone-playback.jpg') ?>
<section id="features-all-formats" class="features-item-list features bg-gray">
<div class="container">
<div class="row">
<h2 class="section-heading text-center"><?= _("Plays all formats") ?></h2>
<div class="col-md-4">
<i class="icon-video box-shadow"></i>
<p>
<?= renderListItems($mediaFormats); ?>
</p>
</div>
<div class="col-md-4">
<i class="icon-audio box-shadow"></i>
<p>
<?= renderListItems($audioFormats); ?>
</p>
</div>
<div class="col-md-4">
<i class="icon-subtitles box-shadow"></i>
<p>
<?= renderListItems($subtitleFormats); ?>
</p>
<p>
<?= renderListItems($tagFormats); ?>
</p>
</div>
</div>
<?php
}
function writeMiscFeatures() {
?>
<div id="feature-list-misc">
<table class="feature-list-table table table-striped table-hover">
<?php headers( "no" ); ?>
<?php writefeature( "SAP/SDP announces", "yes", "yes", "yes", "no", "yes", "no" ); ?>
<?php writefeature( "Bonjour protocol", "no", "yes", "yes", "unt", "unt", "unt" ); ?>
<?php writefeature( "Mozilla/Firefox plugin", "yes", "yes", "yes", "no", "yes", "no" ); ?>
<?php writefeature( "ActiveX plugin", "yes", "none", "none", "none", "none", "none" ); ?>
<tr><td class="type">SVCD Menus</td><td class="partial"><img src="/images/features/partial.png" alt="Partial" /></td>
<td class="no"><img src="/images/features/cross.png" alt="No" /></td>
<td class="partial"><img src="/images/features/partial.png" alt="Partial" /></td>
<td class="no"><img src="/images/features/cross.png" alt="No" /></td>
<td class="partial"><img src="/images/features/partial.png" alt="Partial" /></td>
</tr>
<tr><td class="type">Localization</td><td class="yes"><img src="/images/features/tick.png" alt="Yes" /></td>
<td class="yes"><img src="/images/features/tick.png" alt="Yes" /></td>
<td class="yes"><img src="/images/features/tick.png" alt="Yes" /></td>
<td class="yes"><img src="/images/features/tick.png" alt="Yes" /></td>
<td class="yes"><img src="/images/features/tick.png" alt="Yes" /></td>
</tr>
<tr><td class="type">CD-Text <sup><a href="#bottom_notes">1</a></sup></td><td class="yes"><img src="/images/features/tick.png" alt="Yes" /></td>
<td class="no"><img src="/images/features/cross.png" alt="No" /></td>
<td class="yes"><img src="/images/features/tick.png" alt="Yes" /></td>
<td class="no"><img src="/images/features/cross.png" alt="No" /></td>
<td class="partial"><img src="/images/features/partial.png" alt="Partial" /></td>
</tr>
<tr><td class="type">CDDB CD info</td><td class="yes"><img src="/images/features/tick.png" alt="Yes" /></td>
<td class="yes"><img src="/images/features/tick.png" alt="Yes" /></td>
<td class="yes"><img src="/images/features/tick.png" alt="Yes" /></td>
<td class="no"><img src="/images/features/cross.png" alt="No" /></td>
<td class="partial"><img src="/images/features/partial.png" alt="Partial" /></td>
</tr>
<tr><td class="type">IGMPv3 <sup><a href="#bottom_notes">2</a></sup></td><td class="yes"><img src="/images/features/tick.png" alt="Yes" /></td>
<td class="no"><img src="/images/features/cross.png" alt="No" /></td>
<td class="yes"><img src="/images/features/tick.png" alt="Yes" /></td>
<td class="no"><img src="/images/features/cross.png" alt="No" /></td>
<td class="yes"><img src="/images/features/tick.png" alt="Yes" /></td>
</tr>
<tr><td class="type">IPv6 <sup><a href="#bottom_notes">2</a></sup></td><td class="yes"><img src="/images/features/tick.png" alt="Yes" /></td>
<td class="yes"><img src="/images/features/tick.png" alt="Yes" /></td>
<td class="yes"><img src="/images/features/tick.png" alt="Yes" /></td>
<td class="no"><img src="/images/features/cross.png" alt="No" /></td>
<td class="yes"><img src="/images/features/tick.png" alt="Yes" /></td>
</tr>
<tr><td class="type">MLDv2 <sup><a href="#bottom_notes">2</a></sup></td><td class="yes"><img src="/images/features/tick.png" alt="Yes" /></td>