<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>KinoAMP User Guide</title></head>
<body bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#800080" alink="#ff0000">

<center><h1>KinoAMP User Guide</h1></center>

<center><h3>An MPEG Movie player</h3></center>

<p>
<b><i>v0.59 &nbsp; 17<sup>th</sup> May 2024</i></b>
</p>

<p>
This version of the Kino MPEG movie player uses either the AMPlayer or DiskSample modules to decode and play the audio streams. Once the !KinoAMP application has been 'seen' by the filer, double click SELECT on an MPEG file to start the player. The file must be filetyped BF8 (MPEG) or A8D (VOB). To view or change playing options, launch the !KinoAMP application. It is not necessary to have the Setup Tool running to use the player.
</p>

<p>
DVDs can be played by selecting the drive containing the DVD from KinoAmp's
iconbar menu. Non-protected DVDs can be played by dropping the VIDEO_TS directory
on the application's icon on the iconbar.
</p>

<i>Limitations:</i>
<ul>
  <li>Playing Dvds directly from a DVD drive requires version 2.42 of CDFSDriver (RISC OS 5.28) or a SCSI drive.</li>
  <li>DVDs will probably only be playable when the DVD drive is configured to a region matching the DVD's region. Use DVDRegion to alter your DVD drive's region setting if required.</li>
  <li>Uncommon features like counter mode, navigation timers, forced action at end of PCI validity are not implemented due to lack of DVDs to test.</li>
</ul>

<p>
The player is based on Kino v0.3 from eQ R&amp;D but is self-contained and does not require the original in order to work.
</p>

<p>
This program, and its source code, is released under the GNU General Public License (GPL). A copy of the license should be in the Docs directory. The source code is available from,
<a href="http://www.riscos-digitalcd.net/image/kinoamp/kinoamp.htm">
http://www.riscos-digitalcd.net/image/kinoamp/kinoamp.htm</a>.
</p>

<h3>Contents</h3>

<ul>
  <li><a href="#chap_controls">Controls</a></li>
  <li><a href="#chap_multitask">Multitasking</a></li>
  <li><a href="#chap_panel">Control Panel</a></li>
  <li><a href="#chap_options">Options Setup</a></li>
  <li><a href="#chap_iconbar">Icon Bar Menu</a></li>
  <li><a href="#chap_playlist">Playlists</a></li>
  <li><a href="#chap_formats">Supported Formats</a></li>
  <li><a href="#chap_install">Installation</a></li>
  <li><a href="#chap_hardware">Hardware, speed versus quality</a></li>
  <li><a href="#chap_require">Additional Requirements</a></li>
  <li><a href="#chap_tech">Technical Description</a></li>
  <li><a href="#chap_command">Command Line Options</a></li>
  <li><a href="#chap_problems">Known Problems</a></li>
  <li><a href="#chap_credits">Credits</a></li>
</ul>

<hr /><!-- ================================================ -->
<h2 id="chap_controls">Controls:</h2>

<p>
Whilst playing, the following controls as well as those in the <a href="#chap_multitask">Multitasking</a> section are provided. Changes made whilst playing will only affect the currently playing film unless the choices are saved from the player. To alter the way the player behaves for all films, refer to the <a href="#chap_options">Options Setup</a> section.
</p>

<dl>
  <dt>
<b>SELECT</b> or <b>Return key:</b>
  </dt>
  <dd>
<p>
Pauses/Resumes the replay unless a DVD menu is displayed in which case the action associated to the selected menu entry is executed.
</p>
  </dd>

  <dt>
<b>MENU</b> or <b>Escape:</b>
  </dt>
  <dd>
<p>
Switch to the <a href="#opt_vid_multi">Multitasking</a> mode.
</p>
  </dd>

  <dt>
<b>ADJUST</b> or <b>Space Bar:</b>
  </dt>
  <dd>
<p>
Frame by frame advance.
</p>
  </dd>

  <dt>
<b>Double-click SELECT or F:</b>
  </dt>
  <dd>
<p>
Switch from the <a href="#opt_vid_multi">Multitasking</a> mode to the <a href="#opt_vid_auto">Full-Screen</a> mode with automatic selection of the screen mode and colour depth, or returns to the <a href="#opt_vid_multi">Multitasking</a> mode.
</p>
  </dd>

  <dt>
<b>Ins:</b>
  </dt>
  <dd>
<p>
Shows the root menu of a DVD.
</p>
  </dd>

  <dt>
<b>Home:</b>
  </dt>
  <dd>
<p>
Shows the menu associated to the current title of a DVD (or the root menu when none exists).
</p>
  </dd>

  <dt>
<b>Tab, Shift+Tab, Ctrl+Tab, Ctrl+Shift+Tab:</b>
  </dt>
  <dd>
<p>
Cycle respectively on programs &amp; video streams, on audio streams, on subtitles, on angles.
</p>
  </dd>
  
  <dt>
<b>Number keys 1...9:</b>
  </dt>
  <dd>
<p>
Audio stream selection, see the <a href="#opt_aud_stream">Audio stream</a> setup option.
</p>
  </dd>

  <dt>
<b>+, - (plus and minus):</b>
  </dt>
  <dd>
<p>
Adjusts the audio volume.
</p>
  </dd>
  
  <dt>
<b>Cursor keys:</b> 
  </dt>
  <dd>
<p>
Whilst the player is paused, the <b>Up</b> and <b>Down</b> keys cycle through the following parameters: Brightness, Contrast, Colour and Volume while the <b>Left</b> and <b>Right</b> keys adjust the value of the selected parameter.
</p>
<p>
When not paused, the <b>Left</b> and <b>Right</b> keys perform <b>Rewind</b> and <b>Fast Forward</b> functions by jumping 5% of the film length, while the <b>Up</b> and <b>Down</b> keys adjust the volume.
</p>
    <dl>
      <dt>DVD mode</dt>
      <dd>
<p>
When DVD menus are displayed the arrows are used to navigate the menu.
</p>
<table>
<tr><td><b>Ctrl+Left</b></td><td>selects the prvious chapter.</td></tr>
<tr><td><b>Ctrl+Right</b></td><td>selects the next chapter.</td></tr>
</table>
      </dd>

      <dt>Playlist mode</dt>
      <dd>
<p>
If a playlist is loaded, Ctrl+arrow selects another film from the list.
</p>
<table>
<tr><td>In normal mode:</td></tr>
<tr><td><b>Ctrl+Left</b></td><td>selects the previous film in the list.</td></tr>
<tr><td><b>Ctrl+Shift+Left</b></td><td>selects a random film in the list.</td></tr>
<tr><td><b>Ctrl+Right</b></td><td>selects the next film in the list.</td></tr>
<tr><td><b>Ctrl+Shift+Right</b></td><td>selects a random film in the list.</td></tr>
<tr><td>In random mode:</td></tr>
<tr><td><b>Ctrl+Left</b></td><td>selects a random film in the list.</td></tr>
<tr><td><b>Ctrl+Shift+Left</b></td><td>selects the previous film in the list.</td></tr>
<tr><td><b>Ctrl+Right</b></td><td>selects a random film in the list.</td></tr>
<tr><td><b>Ctrl+Shift+Right</b></td><td>selects the next film in the list.</td></tr>
</table>
      </dd>
    </dl>
  </dd>
      
  <dt>
<b id="F3">F3:</b>
  </dt>
  <dd>
<p>
Saves the current choices. In <a href="#opt_vid_multi">Multitasking</a> mode, the configuration application will be updated automatically, in the other cases you will have to use the 'Reload' option from the from the Icon bar menu once you have regained control of the desktop.
</p>
  </dd>

  <dt>
<b>F5:</b>
  </dt>
  <dd>
<p>
Switch to <a href="#opt_vid_multi">Multitasking</a> mode.
</p>
  </dd>

  <dt>
<b>F6:</b>
  </dt>
  <dd>
<p>
Switch to <a href="#opt_vid_desktop">Desktop</a> mode.
</p>
  </dd>

  <dt>
<b>F7:</b>
  </dt>
  <dd>
<p>
Switch to <a href="#opt_vid_auto">Full-Screen</a> mode.
</p>
  </dd>

  <dt>
<b>F8:</b>
  </dt>
  <dd>
<p>
Switch to <a href="#opt_vid_manual">Manual</a> mode.
</p>
  </dd>
   
  <dt>
<b>Ctrl+A:</b>
  </dt> 
  <dd>
<p>
Starts or stops saving the audio stream as a file named
&quot;&lt;KinoSave$Dir&gt;.Soundtrack&quot;.
</p>
  </dd>
   
  <dt>
<b>A:</b>
  </dt> 
  <dd>
<p>
Switches on and off the <a href="#opt_gen_autoexit">automatic exit</a> from the player at the end of the replay. This option has no effect when <a href="#opt_gen_loop">Continuous loop</a> is selected.
</p>
  </dd>

  <dt>
<b>C:</b>
  </dt>
  <dd>
<p>
Toggles between colour and monochrome rendering.
</p>
  </dd>

  <dt>
<b>D, Shift+D:</b>
  </dt>
  <dd>
<p>
Loops on the deinterlacing methods (in reverse order if Shift is pressed).
</p>
  </dd>

  <dt>
<b>L:</b>
  </dt>
  <dd>
<p>
Switches on and off <a href="#opt_gen_loop">continuous looping</a> of the film/playlist.
</p>
  </dd>

  <dt>
<b>M:</b>
  </dt>
  <dd>
<p>
Mutes and restores the audio.
</p>
  </dd>

  <dt>
<b>P, Shift+P:</b>
  </dt>
  <dd>
<p>
Loops on resizing modes: Source, Pan &amp; Scan, Stretch ((in reverse order if Shift is pressed).
.
</p>
  </dd>

  <dt>
<b>Ctrl+P, Ctrl+Shift+P:</b>
  </dt>
  <dd>
<p>
Loops on the aspect ratios to resize to (in reverse order if Shift is pressed).
</p>
  </dd>
      
  <dt>
<b>Q:</b>
  </dt>
  <dd>
<p>
Closes the player.
</p>
  </dd>
  
  <dt>
<b>R:</b>
  </dt>
  <dd>
<p>
Restarts the film from the beginning.
</p>
  </dd>
  
  <dt>
<b id="s_key">S:</b>
  </dt>
  <dd>
<p>
Whilst the player is paused, saves the current frame as a sprite file named &quot;&lt;KinoSave$Dir&gt;.frameXXXXX&quot; where XXXXX is the frame number. The directory can be opened with the <a href="#ic_saved">Saved</a> iconbar menu command. The saved sprite will have the same colour depth as the display.
</p>
<p>  
If the picture is displayed with the scaler function, the saved sprite will have the same size as the original. On the other hand, if one of the fast display function is used, the sprite will be a dump of the picture with the same zoom as the display. Also, if the picture does not fit completely on the screen, only the visible part will be saved.
</p>
<p>
If saving from the player menu, the filename is created from the frame number when the menu was opened. The sprite name is created from the frame number when the sprite is actually saved. These two will be different if the player was not paused before the menu was opened. 
</p>
<p>
Note:
<br />
The frame number is the number of displayed frames since starting or restarting. It is not reset or recalculated after rewind or fast forward.
</p>
  </dd>
   
  <dt>
<b>T:</b>
  </dt>
  <dd>
<p>
Toggles timing information on or off.
</p>
  </dd>
   
  <dt>
<b>X, Ctrl+X:</b>
  </dt>
  <dd>
<p>
Decrease zoom setting (faster if Ctrl is used).
</p>
  </dd>

  <dt>
<b>Z, Ctrl+Z:</b>
  </dt>
  <dd>
<p>
Increase zoom setting (faster if Ctrl is used).
</p>
  </dd>
</dl>
  
<hr /><!-- ================================================ -->
<h2 id="chap_multitask">Multitasking:</h2>

<p>
Desktop multitasking slows the player down by about 10%. Depending on what else is running, at least a further 10% is lost to the operating system and other applications. The speed of full screen and single task desktop modes are unaffected. There are a few changes to the playing controls when multitasking to maintain compatibility with other applications.
<br />
The close icon of the player window will close the application.
<br />
The adjust size icon will change the display size and aspect ratio.
<br />
The <a href="#chap_controls">keyboard controls</a> will only work if the player window has the input focus. To gain the input focus, click SELECT or ADJUST within the player window. ADJUST will gain the focus without pausing the player.
</p>

<p>
Dragging an MPEG file to the player window will stop the current playback and start the new file playing.
</p>

<p>
If a Drawfile banner is present (&lt;Kino$Dir&gt;.Banner), it will be displayed for 1 second before the film starts.
</p>

<h3 id="chap_panel">Control Panel:</h3>

<p>
A control panel containing the basic playing controls is available and will attach itself below the player window when opened. It can be opened and closed from the player menu. The panel can be moved away from the player window by dragging its background. It will snap back to the player window if brought near it. The control buttons are, from left to right:
</p>
  
<dl>
  <dt>
<b>Play:</b>
  </dt>
  <dd>
<p>
Resumes replay of a paused film or restarts from the beginning a stopped film.
</p>
  </dd>
  
  <dt>
<b>Step:</b>
  </dt>
  <dd>
<p>
Single frame advance.
</p>
  </dd>
  
  <dt>
<b>Pause:</b>
  </dt>
  <dd>
<p>
Pauses playback at the current location.
</p>
  </dd>
  
  <dt>
<b>Stop:</b>
  </dt>
  <dd>
<p>
Stops playback and moves back to the start the film. Once stopped, the positioning controls (fast forward, rewind, and progress bar) will not work until the film is restarted again.
</p>
  </dd>
  
  <dt>
<b>Rewind:</b>
  </dt>
  <dd>
<p>
Go back 5% of the film length.
</p>
  </dd>
  
  <dt>
<b>Fast forward:</b>
  </dt>
  <dd>
<p>
Go forwards 5% of the film length.
</p>
  </dd>
  
  <dt>
<b>Previous:</b>
  </dt>
  <dd>
<p>
DVD mode:
<ul>
 <li>SELECT selects the previous chapter.</li>
 <li>ADJUST selects the next chapter.</li>
</ul>
Playlist mode:
<br/>
<br/>If a playlist is loaded, selects another film in the list.
<ul>
 <li>In normal mode:
  <ul>
   <li>SELECT selects the previous film in the list.</li>
   <li>ADJUST selects a random film in the list.</li>
  </ul>
 </li>
 <li>In random mode:
  <ul>
   <li>SELECT selects a random film in the list.</li>
   <li>ADJUST selects the previous film in the list.</li>
  </ul>
 </li>
</ul>
</p>
  </dd>
  
  <dt>
<b>Next:</b>
  </dt>
  <dd>
<p>
DVD mode:
<ul>
 <li>SELECT selects the next chapter.</li>
 <li>ADJUST selects the previous chapter.</li>
</ul>
Playlist mode:
<br/>
<br/>If a playlist is loaded, selects another film in the list.
<ul>
 <li>In normal mode:
  <ul>
   <li>SELECT selects the next film in the list.</li>
   <li>ADJUST selects a random film in the list.</li>
  </ul>
 </li>
 <li>In random mode:
  <ul>
   <li>SELECT selects a random film in the list.</li>
   <li>ADJUST selects the next film in the list.</li>
  </ul>
 </li>
</ul>
</p>
  </dd>
  
  <dt>
<b>Select film:</b>
  </dt>
  <dd>
<p>
If a playlist is loaded, click to choose a film from the list.
</p>
  </dd>
  
  <dt>
<b>Mute:</b>
  </dt>
  <dd>
<p>
Mute/restore audio.
</p>
  </dd>
</dl>

<p>
Click anywhere on the progress bar to jump to that location.
</p>

<p>
For small films the Fast forward and Rewind positioning can be very approximate. Clicking to new position using the timeline can be more accurate.
</p>
 
<h3>Player Menu:</h3>

<p>
Clicking MENU within the Player window will open the player menu. This provides the following facilities.
</p>

<dl>
  <dt>
<b>Film -&gt; Info:</b>
  </dt>
  <dd>
<p>
Opens a window containing information on the currently playing film. If the window is already open, its content will be updated. The information is similar to that obtained from the <a href="#chap_iconbar">icon bar menu</a> but for the currently playing film instead of the last played film.
</p>
  </dd>
   
  <dt>
<b>Film -&gt; Save choices:</b>
  </dt>
  <dd>
<p>
Saves the current choices. See the notes for key <a href="#F3">F3</a>.
</p>
  </dd>
         
  <dt>
<b>Film -&gt; Save frame:</b>
  </dt>
  <dd>
<p>
Similar to <a href="#s_key">'S'</a>, but being a normal dialogue box, this allows the frame to be saved by dragging, and the name to be changed. The path defaults to the &quot;&lt;KinoSave$Dir&gt;&quot; directory. This path can be opened with the <a href ="#ic_saved">Saved</a> iconbar menu command. Once a path is provided, by dragging or typing, it will be remembered for the duration of the currently playing film.
</p>
  </dd>

  <dt>
<b>Streams -&gt; Program -&gt; :</b>
  </dt>
  <dd>
<p>
Lists the programs present in the file. Choose from the list the program you wish to view.
</p>
  </dd>

  <dt>
<b>Streams -&gt; Audio -&gt; :</b>
  </dt>
  <dd>
<p>
Lists the audio streams present for the current program. Choose from the list the stream you wish to listen to.
</p>
  </dd>

  <dt>
<b>Streams -&gt; Subtitle -&gt; :</b>
  </dt>
  <dd>
<p>
Lists the subtitles present for the current program. Choose from the list the subtitle you wish to view.
</p>
  </dd>

  <dt>
<b>Streams -&gt; Video -&gt; :</b>
  </dt>
  <dd>
<p>
Lists the video streams present in the current program. Choose from the list the stream you wish to view.
</p>
  </dd>
  
  <dt>
<b>Control -&gt; Zoom:</b>
  </dt>
  <dd>
<p>
Lists the some selectable zoom setting.
</p>
  </dd>
   
  <dt>
<b>Control -&gt; Full Screen:</b>
  </dt>
  <dd>
<p>
Switches to a full screen single-tasking playback mode. The screen resolution, colour dept and other settings of this mode are independant from the multitasking mode to allow an optimised playback.
</p>
  </dd>

  <dt>
<b>Control -&gt; Pause:</b>
  </dt>
  <dd>
<p>
Pauses/Resumes the playback.
</p>
  </dd>

  <dt>
<b>Control -&gt; Mute:</b>
  </dt>
  <dd>
<p>
Mutes and restores the audio.
</p>
  </dd>
      
  <dt>
<b>Control -&gt; Restart:</b>
  </dt>
  <dd>
<p>
Restarts the film from the beginning.
</p>
  </dd>
         
  <dt>
<b>Control -&gt; Continuous loop:</b>
  </dt>
  <dd>
<p>
When selected, the film or playlist will be repeated indefinitely till the user stops the playback.
<br />
When not selected, the player will stop the playback when the end of the film or playlist is reached.
</p>
  </dd>
   
  <dt>
<b>Control -&gt; Auto exit:</b>
  </dt>
  <dd>
<p>
When selected this option causes the application to be closed automatically when the playback is completed.
<br />
When not selected, the player will just remain open waiting for the user to restart the playback from the beginning of the film or playlist.
<br />
This option has no effect when the <a href="#opt_gen_loop">Continuous loop</a> option is active.
</p>
  </dd>
      
  <dt>
<b>Control -&gt; Control panel:</b>
  </dt>
  <dd>
<p>
Opens or closes the <a href="#chap_panel">control panel</a>.
</p>
  </dd>

  <dt>
<b>Control -&gt; Scroll bars:</b>
  </dt>
  <dd>
<p>
When selected, the player will have visible scroll bars and an adjust size icon. In the other case, their functions will be emulated in a thin invisible strip along the bottom and right edges of the window.
</p>
  </dd>

  <dt>
<b>Image -&gt; Monochrome:</b>
  </dt>
  <dd>
<p>
When selected, pictures are rendered in monochrome, which is faster than colour rendering.
</p>
  </dd>
      
  <dt>
<b>Image -&gt; Lock aspect ratio:</b>
  </dt>
  <dd>
<p>
Used during picture resizing (<a href="#opt_win_locksize">Lock size to window</a> option) to determine whether to adjust the height and width of the stretched picture independently or to keep the same width/height ratio as the original picture.
</p>
  </dd>


  <dt>
<b>Image -&gt; Non-square pixels:</b>
  </dt>
  <dd>
<p>
When the previous option is active, adjust the height of the picture according to the pixel height/width aspect ratio defined in the source. In other words, we adjust the picture size when the sources uses non-square pixels.
</p>
  </dd>
      
  <dt>
<b>Image -&gt; Lock size to window:</b>
  </dt>
  <dd>
<p>
This option makes the picture always just fill the window (multi-tasking mode). When not set, the picture is allowed to be larger but not smaller than the window. This option takes into account the <a href="#opt_vid_lockaspect">Lock aspect ratio</a> option.
</p>
  </dd>

  <dt>
<b>Image -&gt; Deinterlace:</b>
  </dt>
  <dd>
<p>
List methods to limit the comb effect in images of interlaced videos.
</p>
   <table summary="" border="1" width="80%">
    <tr>
     <td>Method:</td><td>Displays:</td>
    </tr>
    <tr>
     <td>None</td><td>Both fields as is.</td>
    </tr>
    <tr>
     <td>Blend</td><td>Field A as is, field B blended with field A.</td>
    </tr>
    <tr>
     <td valign="top">Blend (x2)</td>
     <td>Display rate is doubled.
      <br/>Field A as is, field B blended with field B of previous image.
      <br/>Field A blended with field A of previous image, field B as is.
     </td>
    </tr>
    <tr>
     <td valign="top">Fields (x2)</td>
     <td>Display rate is doubled.
      <br/>Field A at double height.
      <br/>Field B at double height.
      <br/>Image resolution is deteriorated but free of comb effects.
     </td>
    </tr>
   </table>
   <br/>
  </dd>

  <dt>
<b>Image -&gt; Resize mode:</b>
  </dt>
  <dd>
<p>
Lists methods to alter the aspect of the image.
</p>
   <table summary="" border="1" width="80%">
    <tr>
      <td>Source</td><td>Keep orignal aspect of the image.</td>
    </tr>
    <tr>
      <td>Pan &amp; Scan</td><td>Cut out parts of the image to fit the aspect ratio specified in 'Image -&gt; Resize to'.</td>
    </tr>
    <tr>
      <td valign="top">Stretch</td><td>Stretches the image to fit the aspect ratio specified in 'Image -&gt; Resize to'.</td>
    </tr>
   </table>
   <br/>
  </dd>

  <dt>
<b>Image -&gt; Resize to:</b>
  </dt>
  <dd>
<p>
Used to specify the aspect ratio which the image must fit when using Pan &amp; Scan or Stretch resizing modes. When 'Monitor' is selected, the aspect ratio used will be the aspect ratio of the monitor as defined in the <a href="#opt_vid_monitor">Picture Options'</a>.
</p>
  </dd>

  <dt>
<b>Playlist -&gt; Select:</b>
  </dt>
  <dd>
<p>
Allows to choose a film from the list.
</p>
  </dd>

  <dt>
<b>Playlist -&gt; Next:</b>
  </dt>
  <dd>
<p>
Selects the next film from the list.
</p>
  </dd>
      
  <dt>
<b>Playlist -&gt; Previous:</b>
  </dt>
  <dd>
<p>
Selects the previous film from the list.
</p>
  </dd>
      
  <dt>
<b>Playlist -&gt; Random:</b>
  </dt>
  <dd>
<p>
Forces the films in the list will be played (once) in a random order.
</p>
  </dd>
      
  <dt>
<b>Playlist -&gt; Close:</b>
  </dt>
  <dd>
<p>
Play will stop after the currently playing film ends.
</p>
  </dd>

</dl>

<hr /><!-- ================================================ -->
<h2 id="chap_options">Options Setup:</h2>

<p>
To change the playing defaults, launch the !KinoAMP application which will install itself on the icon bar. Clicking SELECT on the icon bar icon will open a configuration window from which the playing options can be setup. These options are passed to the player when it starts playing a film but will have no effect on films currently playing.
</p>

<ul>
  <li><a href="#opt_main">Main options</a></li>
  <li><a href="#opt_picture">Picture options</a></li>
  <li><a href="#opt_audio">Audio / DVD options</a></li>
  <li><a href="#opt_window">Window options</a></li>
  <li><a href="#opt_modes">Modes options</a></li>
</ul>
        
<h3 id="opt_main">Main options:</h3>

<h4 id="opt_replay">Replay:</h4>

<dl>

  <dt>
<b id="opt_vid_mode">Mode:</b>
  </dt>
  <dd>
<p>
This option allows to choose one of several available replay modes. Each mode can be configured individually to optimise its use (see below).
</p>

    <dl>

      <dt>
<b id="opt_vid_multi">Multitasking:</b>
      </dt>
      <dd>
<p>
Plays in multitasking mode in a window.
</p>
      </dd>

      <dt>
<b id="opt_vid_desktop">Desktop:</b>
      </dt>
      <dd>
<p>
Plays in single-tasking mode on the desktop.
</p>
      </dd>
  
      <dt>
<b id="opt_vid_auto">Full-Screen:</b>
      </dt>
      <dd>
<p>
Plays in single-tasking mode in a full-screen mode automatically choosen to maximize the size of the picture on screen, with as many colours as possible. Only modes with an aspect ratio between 6:5 and 16:9 are used.
</p>
      </dd>
    
      <dt>
<b id="opt_vid_manual">Manual:</b>
      </dt>
      <dd>
<p>
Plays in single-tasking mode in a full-screen mode where the colour depth and resolution is fixed by the user.
</p>
      </dd>
    </dl>
  </dd>

  <dt>
<b id="opt_gen_autoexit">Auto exit:</b>
  </dt>
  <dd>
<p>
When selected this option causes the application to be closed automatically when the playback is completed.
<br />
When not selected, the player will just remain open waiting for the user to restart the playback from the beginning of the film or playlist.
<br />
This option has no effect when the <a href="#opt_gen_loop">Continuous loop</a> option is active.
</p>
  </dd>

  <dt>
<b id="opt_gen_loop">Continuous loop:</b>
  </dt>
  <dd>
<p>
When selected, the film or playlist will be repeated indefinitely till the user stops the playback.
<br />
When not selected, the player will stop the playback when the end of the film or playlist is reached.
</p>
  </dd>
      
  <dt>
<b id="opt_vid_allframes">Display all frames:</b>
  </dt>
  <dd>
<p>
The player will drop or skip frames if it is running late. This option forces it to display all frames ignoring timing constraints. The sound may break up if not disabled.
</p>
  </dd>

</dl>    

<h4 id="opt_playlist">Playlist:</h4>

<dl>

  <dt>
<b id="opt_lst_random">Random play:</b>
  </dt>
  <dd>
<p>
Forces films in the playlist to be played in random order.
</p>
  </dd>

</dl>    

<h4 id="opt_hardware">Hardware acceleration:</h4>

<dl>
  <dt>
<b>Use IntelDMA:
</b>
  </dt>
  <dd>
<p>
The Iyonix uses a graphic card, located on a PCI port, with its own memory. Writing to that memory is thus relatively slow but can be accelerated but transfering memory blocks through the DMA channels. The IntelDMA module can proceed to such DMA transfers for pictures rendered as is (zoom at 100%, square pixels).
</p>
  </dd>

  <dt>
<b>Use Geminus:</b>
  </dt>
  <dd>
<p>
The Geminus module available on the Iyonix and A9 Home uses the hardware of the machines to accelerate the system's image rendering interfaces. When the module is detected, KinoAmp will use the system's interfaces instead of its own image rendering routines.
</p>
  </dd>

  <dt>
<b>Use VideoOverlay:</b>
  </dt>
  <dd>
<p>
The VideoOverlay module available on many RISC OS 5 machines (OS 5.25 or later, preferably with a ROM dated from 15-Aug-18 or later and the corresponding HardDisc4 disc image) uses the hardware of the machines to accelerate image scaling and colour space conversion.
</p>
<p>
The display is faster, independant of the number of colors used by the main screen but it may affect the display of other windows that are supposed to be on top of the player's window and may be subject to <a href="#hard_overlays">hardware limitations</a>.
</p>
    <dl>
      <dt>
<b>Not while multitasking:</b>
      </dt>
      <dd>
<p>
Prevents the use of overlays while multitasking so that windows and menus on top of the player's window  are displayed correctly.
</p>
      </dd>
    </dl>
  </dd>
</dl>

<h3 id="opt_picture">Picture options:</h3>

<h4 id="opt_size">Width/Height:</h4>

<dl>
  <dt>
<b id="opt_vid_lockaspect">Lock aspect ratio:</b>
  </dt>
  <dd>
<p>
Used by picture resizing operations to decide whether to adjust the height and width of the stretched picture independently or to keep the width/height ratio of the original picture.
</p>
<p>
This option is ignored in single-tasking modes by the fast display routines (zoom is limited to 50%, 100%, 200%, 300% and 400%).
</p>
  </dd>

  <dt>
<b id="opt_vid_nonsquarepixels">Non-square pixels:</b>
  </dt>
  <dd>
<p>
When the previous option is active, adjust the height of the picture according to the pixel height/width aspect ratio defined in the source. In other words, we adjust the picture size when the sources uses non-square pixels.
</p>
  </dd>

  <dt>
<b id="opt_vid_deinterlace">Deinterlace:</b>
  </dt>
  <dd>
<p>
List methods to limit the comb effect in images of interlaced videos.
</p>
   <table summary="" border="1" width="80%">
    <tr>
     <td>Method:</td><td>Displays:</td>
    </tr>
    <tr>
     <td>None</td><td>Both fields as is.</td>
    </tr>
    <tr>
     <td>Blend</td><td>Field A as is, field B blended with field A.</td>
    </tr>
    <tr>
     <td valign="top">Blend (x2)</td>
     <td>Display rate is doubled.
      <br/>Field A as is, field B blended with field B of previous image.
      <br/>Field A blended with field A of previous image, field B as is.
     </td>
    </tr>
    <tr>
     <td valign="top">Fields (x2)</td>
     <td>Display rate is doubled.
      <br/>Field A at double height.
      <br/>Field B at double height.
      <br/>Image resolution is deteriorated but free of comb effects.
     </td>
    </tr>
   </table>
   <br/>
  </dd>

  <dt>
<b>Resize:</b>
  </dt>
  <dd>
<p>
Lists methods to alter the aspect of the image.
</p>
    <table summary="" border="1" width="80%">
     <tr>
      <td>Source</td><td>Keep orignal aspect of the image.</td>
     </tr>
     <tr>
      <td>Pan &amp; Scan</td><td>Cut out parts of the image to fit the aspect ratio specified in 'Image -&gt; Resize to'.</td>
     </tr>
     <tr>
      <td>Stretch</td><td>Stretches the image to fit the aspect ratio specified in 'Image -&gt; Resize to'.</td>
     </tr>
    </table>
   <br/>
  </dd>

  <dt>
<b>Resize to:</b>
  </dt>
  <dd>
<p>
Used to specify the aspect ratio which the image must fit when using Pan &amp; Scan or Stretch resizing modes. When 'Monitor' is selected, the aspect ratio used will be the aspect ratio defined below.
</p>
  </dd>

  <dt>
<b id="opt_vid_monitor">Monitor aspect:</b>
  </dt>
  <dd>
<p>
Defines the aspect ratio of the monitor.
</p>
  </dd>
</dl>

<h4 id="opt_colours">Colours:</h4>

<dl>
  <dt>
<b id="opt_vid_default">Use default values:</b>
  </dt>
  <dd>
<p>
This option forces the use of default brightness, contrast and colour levels instead of customized values.
</p>
  </dd>

  <dt>
<b id="opt_vid_brightness">Brightness:</b>
  </dt>
  <dd>
<p>
Use the left/right arrows or click directly in the slider to alter the initial brightness level of the displayed pictures.
</p>
  </dd>

  <dt>
<b id="opt_vid_contrast">Contrast:</b>
  </dt>
  <dd>
<p>
Use the left/right arrows or click directly in the slider to alter the initial contrast level of the displayed pictures.
</p>
  </dd>

  <dt>
<b id="opt_vid_colsaturation">Colour:</b>
  </dt>
  <dd>
<p>
Use the left/right arrows or click directly in the slider to alter the initial colour saturation level of the displayed pictures.
</p>
  </dd>
</dl>

<h3 id="opt_audio">Audio / DVD Options:</h3>

<h4>Audio</h4>

<dl>

  <dt>
<b id="opt_aud_play">Play audio stream:</b>
  </dt>
  <dd>
<p>
When selected, the player will attempt to play the audio stream should the film contain one.
<br />
When not selected, the player will make no attempt to play audio streams. It will not be possible for you to unmute the sound during playback.
</p>
  </dd>
  
  <dt>
<b id="opt_aud_player">Player:</b>
  </dt>
  <dd>
<p>
Either the AMPlayer or DiskSample modules can be used for decoding and playing audio streams. AMPlayer can however only decode MPEG 1/2 audio, and so DiskSample will be used for all the other audio formats.
</p>
  </dd>
      
  <dt>
<b id="opt_aud_save">Save audio stream:</b>
  </dt>
  <dd>
<p>
Saves the audio stream as a file named &quot;&lt;KinoSave$Dir&gt;.Soundtrack&quot;.number. The directory can be opened with the <a href="#ic_saved">Saved</a> iconbar menu command.
</p>
  </dd>

  <dt>
<b id="opt_aud_sync">Synchronize:</b>
  </dt>
  <dd>
<p>
This option will attempt to synchronize audio and video whilst playing. It can be disabled if adjustments are made too often and become noticeable.
</p>
  </dd>

  <dt>
<b id="opt_aud_autoselect">Autoselect stream:</b>
  </dt>
  <dd>
<p>
The Player will select the first audio stream encountered.
</p>
  </dd>
 
  <dt>
<b id="opt_aud_stream">Audio stream:</b>
  </dt>
  <dd>
<p>
Selects the audio stream to play. This is only of use with clips that contain more than 1 audio stream, e.g. multilingual films. Most clips only contain stream 1.
</p>
  </dd>

  <dt>
<b id="opt_aud_volume">Volume:</b>
  </dt>
  <dd>
<p>
Use the left/right arrows or click directly in the slider to alter the volume at which to play audio streams.
</p>
  </dd>

</dl>

<h4 id="opt_dvd">DVD</h4>

<dl>

  <dt>
<b id="opt_dvd_language">Language:</b>
  </dt>
  <dd>
<p>
Prefered language code (2 letters) like en, fr, nl, de, ...
</p>
  </dd>

</dl>

<h3 id="opt_window">Window Options:</h3>

<dl>

  <dt>
<b id="opt_win_multi">Multiple Windows:</b>
  </dt>
  <dd>
<p>
Allow more than one player window.
</p>
  </dd>

  <dt>
<b id="opt_win_bars">Scroll bars:</b>
  </dt>
  <dd>
<p>
When selected, the player window will have visible scroll bars and an adjust size icon, otherwise their functions will be emulated in a thin invisible strip along the bottom and right edges of the window.
</p>
  </dd>

  <dt>
<b id="opt_win_panel">Control Panel:</b>
  </dt>
  <dd>
<p>
When selected, the player will start with the <a href="#chap_panel">control panel</a> open when multi-tasking.
</p>
  </dd>
      
  <dt>
<b id="opt_win_skin">Skin:</b>
  </dt>
  <dd>
<p>
Allows to choose a <a href="#chap_panel">control panel</a> skin from the list.
</p>
  </dd>

</dl>

<h3 id="opt_modes">Modes Options:</h3>

<h4>Common options:</h4>

<dl>      
  <dt>
<b id="opt_vid_fitscreen">Fit to screen:</b>
  </dt>
  <dd>
<p>
When not multi-tasking, stretches the picture to the size of the whole screen by taking into account then <a href="#opt_vid_lockaspect">Width/Height</a> options.
</p>
<p>
When the fast display routines are used, zoom is limited to 50%, 100%, 200%, 300% and 400% and the value with the rendering which is the closest to the screen dimensions will be used.
</p>
  </dd>
    
  <dt>
<b id="opt_vid_zoom">Zoom:</b>
  </dt>
  <dd>
<p>
Picture magnification. Options are 50%, 100%, 200%, 300% and 400%. The higher the magnification, the slower the player and the more frames may be skipped to respect the timing.
</p>
  </dd>
    
  <dt>
<b id="opt_vid_scaler">Scaler:</b>
  </dt>
  <dd>
<p>
Routine used to display pictures stretched to any given of size.
</p>
<ul>
<li>The 'Internal' routine is the internal routine used by default (faster in 256 colours/greys modes).</li>
<li>The 'System' routine use OS_SpriteOp. On machine using a graphic acceleration card, this routine could well be much faster then the 'Internal' one.</li>
<li>The 'Linear' routine performs a linear interpolation on points on the same line.</li>
<li>The 'Bilinear' routine performs a linear interpolation both on lines and columns.</li>
</ul>
<p>
In single-tasking modes, for performance reasons on old machines,
fast display routines at 50%, 100%, 200%, 300% and 400% can be used
instead by not enforcing the use of the scaler. Note that these routines
ignore the <a href="#opt_vid_nonsquarepixels">non-square pixels</a> option.
</p>
  </dd>

  <dt>
<b id="opt_vid_forcescaler">Force use of Scaler:</b>
  </dt>
  <dd>
<p>
Allows to scale pictures to any given size in a single-tasking display mode.
</p>
  </dd>

  <dt>
<b id="opt_vid_mono">Monochrome:</b>
  </dt>
  <dd>
<p>
This option uses optimized drivers without colour processing. These drivers do not support control of brightness, contrast or colour saturation.
</p>
<p>
Given that even a display in 16 million colours doesn't provide more gray levels than a 256 colours display with a palette of only gray levels, use the last one as picture quality will be the same but rendering will be much faster.
</p>
<p>
For the Multitasking and Desktop modes, choose the '256 greys' option from the Display Manager. For the other modes, choose a colour depth to 256, the player will automatically select a greyscale palette.
</p>
  </dd>

  <dt>
<b id="opt_vid_bgr_to_rgb">BGR -&gt; RGB:</b>
  </dt>
  <dd>
<p>
This option allows to invert the usual colour encoding. This allows to use graphic cards which uses the inverted encoding on versions of RISCOS older than 5.21, which do not signal this inversion.
</p>
  </dd>

  <dt>
<b id="opt_vid_dither">Dither:</b>
  </dt>
  <dd>
<p>
This option uses, when available, display drivers with dithering. This improves the display by increasing the number of perceived colours.
</p>
  </dd>
</dl>

<h4>Options of mode Multitasking:</h4>

<dl>
  <dt>
<b id="opt_win_locksize">Lock size to window:</b>
  </dt>
  <dd>
<p>
This option makes the picture always just fill the window (multi-tasking mode). When not set, the picture is allowed to be larger but not smaller than the window. This option takes into account the <a href="#opt_vid_lockaspect">Lock aspect ratio</a> option.
</p>
  </dd>
</dl>

<h4>Options of mode Full-Screen:</h4>

<dl>
  <dt>
<b id="opt_vid_colours">Colours:</b>
  </dt>
  <dd>
<p>
Sets the maximum colour depth of the mode that will be automatically selected.
</p>
<p>
'16 million' provides the highest quality but is slowest.
<br />
'32 thousand' provides reasonable quality and speed.
<br />
'64 thousand' provides reasonable quality and speed.
<br />
'256 colours' provides lower quality but is fastest, especially when combined with the monochrome option.
</p>
  </dd>

  <dt>
<b id="opt_vid_res">Resolution:</b>
  </dt>
  <dd>
<p>
Sets the minimal screen width and height of the mode that will be automatically selected. The available screen resolutions will vary between machines. The visible aspect ratio of the picture may not be correct with non-square pixel modes. A resolution of 480 x 352 will suit most MPEG 1 clips.
</p>
  </dd>
</dl>

<h4>Options of mode Manual</h4>

<dl>
  <dt>
<b>Colours:</b>
  </dt>
  <dd>
<p>
Sets the colour depth to use. Some combinations of colour depth/resolution may not be possible.
</p>
<p>
'16 million' provides the highest quality but is slowest.
<br />
'32 thousand' provides reasonable quality and speed.
<br />
'64 thousand' provides reasonable quality and speed.
<br />
'256 colours' provides lower quality but is fastest, especially when combined with the monochrome option.
</p>
  </dd>
    
  <dt>
<b>Resolution:</b>
  </dt>
  <dd>
<p>
Sets the screen width and height resolution to use. The available screen resolutions will vary between machines. The visible aspect ratio of the picture may not be correct with non-square pixel modes. A resolution of 480 x 352 will suit most MPEG 1 clips.
</p>
  </dd>
</dl>

<hr /><!-- ================================================ -->
<h2 id="chap_iconbar">Icon bar Menu:</h2>

<dl>
  <dt>
<b>DVDs ->:</b>
  </dt>
  <dd>
<p>
Lists the available CDFS drives. Select a drive to play the DVD present in that drive.
</p>
  </dd>

  <dt>
<b>Choices:</b>
  </dt>
  <dd>
<p>
Opens the configuration window. Clicking SELECT on the application icon bar icon has the same effect.
</p>
  </dd>
      
  <dt>
<b id="ic_saved">Saved:</b>
  </dt>
  <dd>
<p>
This opens the directory where sprites and soundtracks are saved. Clicking ADJUST on the application icon bar icon has the same effect.
</p>
  </dd>
      
  <dt>
<b>Film Info:</b>
  </dt>
  <dd>
<p>
Opens a window containing information on the last film played. If the window is already open its content will be refreshed. Information is only available after a film has been played.
</p>
  </dd>
         
  <dt>
<b id="ic_playlist">Playlist:</b>
  </dt>
  <dd>
<p>
This opens and clears the Playlist creation window.
</p>
  </dd>
           
  <dt>
<b>Reload:</b>
  </dt>
  <dd>
<p>
Reloads the Choices file and resets the options to the last saved configuration. Avoids having to quit and re-run the application if the Choices file has been modified by the player.
</p>
  </dd>
      
  <dt>
<b>Help:</b>
  </dt>
  <dd>
<p>
Opens this file.
</p>
  </dd>

</dl>

<hr /><!-- ================================================ -->
<h2 id="chap_playlist">Playlists:</h2>

<p>
A playlist is simply a text file containing a list of filenames. It can be created by choosing <a href="#ic_playlist">Playlist</a> from the icon bar menu, or by using a text editor.
</p>
<p>
The Playlist window allows playlists to be created by dragging files and directories to the drop box within the window. When at least one file has been added, the text playlist file can be saved in the usual way. If no save path is given, the playlist will be saved to the default &quot;&lt;KinoSave$Dir&gt;&quot; directory which can be opened by clicking ADJUST on the icon bar icon. 
</p>
<p>
This is a very simple file creation facility and does not provide editing facilities. After a playlist has been created, it can be edited using any text editor. Comments and blank lines can be added if required, see below for file format details.
</p>

<p>
If using a text editor, the full pathname of each film to insert must be given. This can be done easily using !Zap by shift dragging the file into a text edit window. A few rules must be followed:
</p>
<ul>
  <li>The first 8 characters of the first line must be 'Playlist', the rest of line is ignored.</li>
  <li>Comment lines starting with '#' are ignored.</li>
  <li>Blank lines containing just a line end are ignored.</li>
  <li>The playlist can be named anything and can be saved anywhere.</li>
  <li>There is no limit to the number of files.</li>
  <li>The filetype should be Text.</li>
</ul>
<p>
e.g.
</p>
<pre>   
Playlist 20/8/2003

# Trailers
ADFS::HardDisc4.$.Clips.Trailers.Bond-007.Trailer2
ADFS::HardDisc4.$.Clips.Trailers.Lord-Rings.TwoTowers.Trailer 

# Music
ADFS::HardDisc4.$.Clips.Music.Offspring.WantYouBad
ADFS::HardDisc4.$.Clips.Music.Leader
</pre>   

<p>
To start a Playlist drag it to the icon bar icon or to a player window. Only one playlist can be open in a player window, so dragging to the player window will close an open playlist in that window. The file will be ignored if it doesn't start with the word Playlist. When playing, the Ctrl-left and Ctrl-right cursor keys will move through the list. Additionally, when multi-tasking, the menu can be used to select a film from the list or to close the playlist.
</p>

<p>
If an MPEG file is dragged to the player window whilst playing a playlist, the playlist will be temporarily halted while the new file is played. When the file has ended the playlist will resume from the next file in the list.
</p>

<p>
If a directory containing MPEG files is dragged to the player window or to the icon bar icon, a temporary playlist will be created replacing any current playlist.
</p>
     
<hr /><!-- ================================================ -->
<h2 id="chap_formats">Supported formats:</h2>

<ul>
  <li>MPEG 1/2 Program stream (MPEG-PES) containing,
    <ul>
      <li>an MPEG 1/2 video stream,</li>
      <li>zero or more audio streams (MPEG/AC3/PCM).</li>
    </ul>
  </li>
  <li>MPEG 1/2 Elementary video stream (MPEG-ES).</li>
  <li>MPEG 1/2 Transport stream (MPEG-TS) containing,
    <ul>
      <li>one or more programs,</li>
      <li>zero or one MPEG 1/2 video stream associated to each program,</li>
      <li>zero or more audio streams (MPEG/AC3/PCM) associated to each program.</li>
    </ul>
  </li>
</ul>

<p>
The video decoder is based on <a href="http://libmpeg2.sourceforge.net/">libmpeg2</a>. It should be able to decode all MPEG video streams that conform to certain restrictions: &quot;constrained parameters&quot; for MPEG 1, and &quot;main profile&quot; for MPEG 2.
</p>

<hr /><!-- ================================================ -->
<h2 id="chap_install">Installation:</h2>

<p>
To install, de-archive (unzip) the application to a convenient place on your Hard Drive. If you are updating a previous version, dragging the new version over the old should be ok.
</p>

<p>
If you want to keep the old one, rename it first or hide it away, so it isn't seen by the filer.
</p>

<p>
To make sure the new version runs properly, either reboot the machine or go inside the new version (Shift double click SELECT) and double click SELECT on the !Boot file to force the filer to see the new version.
</p>

<p>
From version 0.29 the 'saved' directory and choices file have been moved from !KinoAMP to the Choices area. If you have updated by dragging the new version over the old one, the original choices file and 'saved' directory will not be harmed but will no longer be used.
</p>
<p>
From version 0.29 there is no requirement to install the newer 32 bit libraries machines running RISC OS 3.x 4.x.
</p>
<p>
The application will work with either 26 or 32 bit libraries.
</p>

<hr /><!-- ================================================ -->
<h2 id="chap_hardware">Hardware, speed versus quality:</h2>

Generally speeking the speed and image quality is influenced by:
<dl>
  <dt><b>Multitasking vs Full-Screen</b></dt>
  <dd>
<p>
Full-screen mode use (when enough video memory is available) triple buffering and syncs the video to the monitor to ensure a flicker/tearing free display (at least if the video is rendered fast enough). Speed wise on one hand you loose time in waiting for the monitor's sync, on the other hand you don't loose time switching to other tasks.
</p>
  </dd>
  <dt><b>Screen mode selection</b></dt>
  <dd>
<p>
The number of colours, aka the number of bytes used to encode a pixel's colour dictates the rendering speed 256 &gt; 4K = 32K = 64K &gt; 16M. If video rendering is too slow choose a screen mode with less colors.
</p>
<p>If you must drop to 256 colours, it is best to use a 256 grey palette in desktop modes and select the monochrome option (in full-screen mode this automatically sets a grey palette but mainly it tells the video decoder to skip decoding of chroma information).
</p>
  </dd>
  <dt><b>Zoom and scaler</b></dt>
  <dd>
<p>
A large zoom will slow down the rendering of the image but the impact is greater when using scalers like 'Linear' or 'Bilinear'.
</p>
<p>
The fastest rendering mode is in full-screen when no scaler is forced. Zoom will then be limited to 50%, 100%, 200%, 300% and 400% using fast specialised routines. Next comes the forced use of scalers like 'Internal' and 'System' and finally the slow 'Linear' and 'Bilinear' scalers.
  </dd>
  <dt><b>Deinterlacing</b></dt>
  <dd>
<p>
Deinterlacing will only be used on interlaced videos. As a post-processing it obviously slows down the rendering, especially if you use (x2) modes which doubles the display rate of the video.
</p>
  </dd>
  <dt><b>Hardware accelerated graphics</b></dt>
  <dd>
<p>
With the trend for RISC OS on new machines to integrate the capabilities of the graphic hardware cards to accelerate the system's image rendering interfaces, KinoAMP allows you to configure each display mode to replace the internal <a href="#opt_vid_scaler">scaler</a> by a system scaler which makes use of the system's image rendering interfaces. The <a href="#opt_vid_forcescaler">Force use of scaler</a> option is also provided to use this scaler in place of the fast display routines used in single-tasking display modes.
</p>
<p>
Note:
<br />
The Geminus module available on the Iyonix and A9 Home uses the hardware of the machines to accelerate the system's image rendering interfaces. When the module is detected, KinoAmp will use the system's interfaces instead of its own image rendering routines.
</p>
  </dd>
</dl>

<h3>Behaviour on different machines and known issues</h3>
<dl>
  <dt><b>Risc PC</b></dt>
  <dd>
<p>
A StrongARM based Risc PC is at best able to display VideoCD like videos at a reasonable frame rate if you use the fastest options and reduce the zoom or number of colours.
</p>
  </dd>
  <dt><b>A9Home</b></dt>
  <dd>
<p>
At the moment KinoAMP will use the standard low resolution (1cs) OS_ReadMonotonicTime API since the high resolution timer provided by the TimerMod module doesn't work (The module doesn't find the HAL API of the Iyonix so it attempts to directly access the IOC Timer1 hardware and crashes as it is not present on the A9Home).
</p>
  </dd>  
  <dt><b>Iyonix</b></dt>
  <dd>
<p>
The Iyonix uses a graphic card, located on a PCI port, with its own memory. Writing to that memory is thus relatively slow but can be accelerated but transfering memory blocks through the DMA channels. The IntelDMA module can proceed to such DMA transfers for pictures rendered as is (zoom at 100%, square pixels).
</p>
<p>
To use it you have to ensure that the IntelDMA module is loaded by starting the !IntelDMA application (see <a href="#chap_require">Additional Requirements</a>).
</p>
  </dd>
  <dt><b>Raspberry Pi (without overlays)</b></dt>
  <dd>
<p>
On the Raspberry Pi 3 with a USB harddisk, a DVD like video can be rendered in 'Fit to screen' mode with scaler 'Internal' to 1920x1080 in 16M at about 30fps. With 'Linear' or 'Bilinear' scalers, you will have to seriously reduce screen size or zoom.
</p>
<p>This is why, in full-screen mode with 'Fit to screen option' selected and when module AnyMode is present, KinoAmp will switch to a resolution corresponding to the final non-zoomed image size. The scaler thus just scales the original image to its 'non-square pixels' corrected size and the Raspberry's graphic processor scales the image to the monitor's resolution.
</p>
<p>Note that with recent ROMs (13 Oct 2016 and later ?), for AnyMode to work, the system must be told not to handle mode changes but work at the resolution set in 'config.txt' like older ROMs. For that you must create within the !BootLoader partition a 'cmdline.txt' file containing the line 'disable_mode_changes'.
</p>
<p>
Deinterlacing in 'Blend' mode is ok speed wise but 'Blend (x2)' is really too much even when using the AnyMode trick.
</p>
  </dd>
  <dt id="hard_overlays"><b>Overlays on recent machines</b></dt>
  <dd>
<p>
Overlays are supported on many RISC OS 5 machines (OS 5.25 or later,
preferably with a ROM dated from 15-Aug-18 or later).
</p>
<p>
Different kind of machines may be subject to different limitations
(like the 2048 x 2048 limit on the Raspberry Pi) or implementations issues.
If you encounter problems, consult this <a href="https://www.riscosopen.org/forum/forums/3/topics/11504">forum</a>.
</p>
<p>
Supported overlay types by decreasing order of preference:
<br />&nbsp;&nbsp;YV16, Plane 0 is 8bpp Y, Plane 1 Cb, Plane 2 Cr, 2x1 sub-sampled
<br />&nbsp;&nbsp;UYVY, 32bpp words of Y1.Cr.Y0.Cb, 2x1 sub-sampled
<br />&nbsp;&nbsp;YUY2, 32bpp words of Cr.Y1.Cb.Y0, 2x1 sub-sampled
<br />&nbsp;&nbsp;YV12, Plane 0 is 8bpp Y, Plane 1 Cb, Plane 2 Cr, 2x2 sub-sampled
<br />&nbsp;&nbsp;NV12, Plane 0 is 8bpp Y, Plane 1 is 16bpp Cr.Cb, 2x2 sub-sampled
<br />&nbsp;&nbsp;NV21, Plane 0 is 8bpp Y, Plane 1 is 16bpp Cb.Cr, 2x2 sub-sampled
<br />&nbsp;&nbsp;16M, 64K, 32K or 4K colors BGR or RGB, with alpha or transparency channel
</p>
  </dd>
</dl>

<hr /><!-- ================================================ -->
<h2 id="chap_require">Additional Requirements:</h2>

<p>
To use AMPlayer as audio codec, the following modules are required:
<br />
<a href="http://www.espmusic.co.uk/acorn.htm">SharedSound module</a> version 0.24 or later.     
<br />
<a href="http://www.amplayer.org/">AMPlayer module</a> version 1.36 or later.
</p>

<p>To use DiskSample as audio codec, the following module is required:
<br />
<a href="http://www.riscos-digitalcd.net/digitalcd/modules/disksample.htm">DiskSample module</a> version 0.33 or later.
</p>

<p>To use Thomas Milius accelerated display on the Iyonix, the following application/module is required:
<br />
<a href="http://www.thomas-milius.homepage.t-online.de/Download/Freeware/inteldma.zip">IntelDMA module</a> version 0.01 or later.
</p>

<hr /><!-- ================================================ -->
<h2 id="chap_tech">Technical:</h2>

<p>
The player is a command line utility that is started when an MPEG file is run. Playing options are passed to it on the command line together with the MPEG filename. The actual command line is contained in the Obey file RunKino. Options Setup produces a file called Choices when the OK Icon is selected, which contains the current setup. The normal command line contains a single option to make the player read the choices file directly. If debug or unusual options are required, these must be manually added to the command line in the RunKino file. An example is provided in the RunKino file.
</p>

<hr /><!-- ================================================ -->
<h2 id="chap_command">Command line Options:</h2>

<p>
This lists all command line options. They are only of use to those who wish
to manually edit the Choices or RunKino files, or if the player is to be used
as part of another application.
</p>

<dl>
  <dt>
<b>-f[choices file]</b>
  </dt>
  <dd>
<p>
Read options from [choices file]. e.g. -f&lt;KinoChoices$Dir&gt;.Choices.
</p>
  </dd>
    
  <dt>
<b>General options</b>
  </dt>
  <dd>
<br />
<table summary="" border="1" width="80%">
  <tr>
    <th>Switch</th>
    <th>Function</th>
  </tr>
  <tr>
    <td><b>--noexit</b></td>
    <td>Stops the player from exiting by itself. The default is to <a href="#opt_gen_autoexit">exit</a> when playing ends.</td>
  </tr>
  <tr>
    <td><b>--loop</b></td>
    <td><a href="#opt_gen_loop">Continuous loop</a>.</td>
  </tr>
</table>
<br />
  </dd>

  <dt>
<b>Audio options</b>
  </dt>
  <dd>
<br />
<table summary="" border="1" width="80%">
  <tr>
    <th>Switch</th>
    <th>Function</th>
  </tr>
  <tr>
    <td><b>-v</b></td>
    <td>
Video only. The default is to <a href="#opt_aud_play">play the audio</a>.
    </td>
  </tr>
  <tr>
    <td><b>-a</b></td>
    <td><a href="#opt_aud_save">Save</a> audio stream.</td>
  </tr>
  <tr>
    <td><b>-r</b></td>
    <td><a href="#opt_aud_sync">Synchronize</a> audio and video.</td>
  </tr>
  <tr>
    <td><b>-cN</b></td>
    <td>
Play <a href="#opt_aud_stream">audio stream</a> N, where N is a number between 1 and 9. The default is stream 1.
    </td>
  </tr>
  <tr>
    <td><b>--volNN</b></td>
    <td>
Sets the starting <a href="#opt_aud_volume">volume</a> to NN, from 0 to 127. The default is 127.
    </td>
  </tr>
</table>
<br />
  </dd>

  <dt>
<b>Windows options</b>
  </dt>
  <dd>
<br />
<table summary="" border="1" width="80%">
  <tr>
    <th>Switch</th>
    <th>Function</th>
  </tr>
  <tr>
    <td><b>-ls</b></td>
    <td><a href="#opt_win_locksize">Lock size to window</a></td>
  </tr>
  <tr>
    <td><b>--noscroll</b></td>
    <td>
The player window will not have <a href="#opt_win_bars">scroll bars</a> or an adjust size icon. The default is to have them.
    </td>
  </tr>
  <tr>
    <td><b>--ctrl</b></td>
    <td>
When multi-tasking, <a href="#opt_win_panel">display the control panel</a>. The default is not to display it.
    </td>
  </tr>
  <tr>
    <td><b>--skin,[skin directory]</b></td>
    <td>
Defines the control panel used when multitasking. e.g. --skin,Black
<br />The actual location is &lt;Kino$Dir&gt;.skins.[skin directory]
<br />The default is to use the Black <a href="#opt_win_skin">skin</a>.
    </td>
  </tr>
</table>
<br />
  </dd>

  <dt>
<b>Video options</b>
  </dt>
  <dd>
<br />
<table summary="" border="1" width="80%">
  <tr>
    <th>Switch</th>
    <th>Function</th>
  </tr>
  <tr>
    <td><b>-w</b></td>
    <td><a href="#opt_vid_multi">Multitask</a>.</td>
  </tr>
  <tr>
    <td><b>-la</b></td>
    <td><a href="#opt_vid_lockaspect">Lock aspect ratio</a>.</td>
  </tr>
  <tr>
    <td><b>-m</b></td>
    <td><a href="#opt_vid_mono">Monochrome</a>.</td>
  </tr>
  <tr>
    <td><b>--nodither</b></td>
    <td>Disables <a href="#opt_vid_dither">dithering</a>.</td>
  </tr>
</table>
<br />
  </dd>

<dl>
  <dt>
<b>-@XX,YY</b>
  </dt>
  <dd>
<p>
In desktop mode, define the bottom left coordinates of the display in pixels relative to the bottom left corner of the screen. Adjustments will be made to make the picture fit completely on the screen. Without this switch, the default is a centred display. Both parameters must be given. i.e. -@400,300.
</p>
  </dd>

  <dt>
<b>-bBB,CC,CC</b>
  </dt>
  <dd>
<p>
Set the initial values for Brightness, Contrast and Colour. These have default values of 100 and can be set between 0 and 200. All 3 values must be given. i.e. -b100,66,120.
</p>
  </dd>
    
  <dt>
<b>-xa</b>
  </dt>
  <dd>
<p>
Automatically selects the full screen mode to give the largest display with as many colours as possible. Only modes with an aspect ratio between 6:5 and 16:9 are used. This option forces Zoom to start at 100%. The maximum colour depth can be specified following the -xa option. i.e. -xa64k, -xa32k or -xa256. The default is 16m which will be used if -xa is used without a colour modifier.
</p>
  </dd>
    
  <dt>
<b>-xNNNyNNNcNNN</b>
  </dt>
  <dd>
<p>
Selects the screen display mode. By default the player uses the desktop. For  full screen operation, specify the mode to use. e.g. -x480y352c16m.
</p>

<p>
Supports 256, 32k, 64k and 16m colour modes. It can only use modes that are defined in your machine.
</p>
  </dd>

  <dt>
<b>-z</b>
  </dt>
  <dd>
<p>
Picture Zoom control.
</p>

<table summary="" border="1" width="80%">
  <tr>
    <td><b>-z05</b></td>
    <td>50% magnification.</td>
  </tr>
  <tr>
    <td><b>-z2</b>&nbsp;or&nbsp;<b>-z</b></td>
    <td>200% magnification.</td>
  </tr>
  <tr>
    <td><b>-z3</b></td>
    <td>300% magnification.</td>
  </tr>
  <tr>
    <td><b>-z4</b></td>
    <td>400% magnification.</td>
  </tr>
</table>

<p>
Without this switch the magnification is 100%, actual size. This switch has no effect when -xa is specified and in this case the magnification will always start at 100%.
</p>
  </dd>
</dl>

  <dt>
<b>Other options</b>
  </dt>
  <dd>
<dl>
  <dt>
<b>--noerrors</b>
  </dt>
  <dd>
<p>
Do not report errors.
Useful for running a test playlist including broken/unsuported files.
</p>
  </dd>
  <dt>
<b>-dN</b>
  </dt>
  <dd>
<p>
Debug level N. This defaults to 0 (no debug). Obtain combinations by adding up the values (in decimal). The number can be entered in hexadecimal if preferred. i.e. -d0x7e.
</p>

<table summary="" border="1" witdh="80%">
  <tr>
    <th>Bit</th>
    <th>Value(hex)</th>
    <th>Function</th>
  </tr>
  <tr>
    <td>0</td>
    <td>1</td>
    <td>Display all frames, and this as fast as possible, disregarding the delay between each frame.</td>
  </tr>
  <tr>
    <td>1</td>
    <td>2</td>
    <td>Log subtitle codec stats.</td>
  </tr>
  <tr>
    <td>2</td>
    <td>4</td>
    <td>Log audio codec stats.</td>
  </tr>
  <tr>
    <td>3</td>
    <td>8</td>
    <td>Log video codec picture header stats.</td>
  </tr>
  <tr>
    <td>4</td>
    <td>10</td>
    <td>Log an end of film summary.</td>
  </tr>
  <tr>
    <td>5</td>
    <td>20</td>
    <td>Log non fatal errors and some extra info.</td>
  </tr>
  <tr>
    <td>6</td>
    <td>40</td>
    <td>Log frame drawing stats.</td>
  </tr>
  <tr>
    <td>7</td>
    <td>80</td>
    <td>Log seek stats.</td>
  </tr>
  <tr>
    <td>8</td>
    <td>100</td>
    <td>Log buffer/stack stats.</td>
  </tr>
  <tr>
    <td>9</td>
    <td>200</td>
    <td>Log subtitle packets pushed on stack.</td>
  </tr>
  <tr>
    <td>10</td>
    <td>400</td>
    <td>Log audio packets pushed on stack.</td>
  </tr>
  <tr>
    <td>11</td>
    <td>800</td>
    <td>Log video packets pushed on stack.</td>
  </tr>
  <tr>
    <td>12</td>
    <td>1000</td>
    <td>Log demuxer stats.</td>
  </tr>
  <tr>
    <td>13</td>
    <td>2000</td>
    <td>Log subtitle packets pulled from stack for decoding.</td>
  </tr>
  <tr>
    <td>14</td>
    <td>4000</td>
    <td>Log audio packets pulled from stack for decoding.</td>
  </tr>
  <tr>
    <td>15</td>
    <td>8000</td>
    <td>Log video packets pulled from stack for decoding.</td>
  </tr>
  <tr>
    <td>16</td>
    <td>10000</td>
    <td>Log replay stats.</td>
  </tr>
  <tr>
    <td>17</td>
    <td>20000</td>
    <td>Log navigation stats.</td>
  </tr>
</table>

<p>
The Debug options are used for testing and can produce a <i>lot</i> of output to the screen. If you're into this sort of thing, redirect output to a file. e.g. -d62 2&gt;&lt;kino$dir&gt;.Log.
<br />
To just display the end of film timing stats on the screen use, -d16.
</p>
  </dd>

  <dt>
<b>-p[playlist file]</b>
  </dt>
  <dd>
<p>
Loads the file. If recognized as a playlist, start playing the list.
</p>
  </dd>

  <dt>
<b>-s</b>
  </dt>
  <dd>
<p>
Selects MPEG stream type. By default, an MPEG film is checked for being either an Elementary Video stream or a Program stream and the appropriate demuxer is selected. This option overrides the check and is only to be used when this one fails.
</p>
<table summary="" border="1" width="80%">
  <tr>
    <td><b>-se</b></td>
    <td>Assume MPEG elementary video stream.</td>
  </tr>
  <tr>
    <td><b>-sp</b></td>
    <td>Assume MPEG program stream.</td>
  </tr>
</table>
<br />
  </dd>
</dl>
  </dd>

</dl>

<hr /><!-- ================================================ -->
<h2 id="chap_problems">Known Problems:</h2>

<p>
AMPlayer crashes sometimes when KinoAMP plays films containing corrupted sound packets. Saving the sound into a file and playing it with AMPlayer causes no problem so it just seems to be limited to the AMPlayer streaming interface.
</p>

<hr /><!-- ================================================ -->
<h2 id="chap_credits">Credits:</h2>

<p>
For the original MPEG video decoder, the libmpeg2 team.
<br />For the original !Kino, eQ R&amp;D.
<br />For many additions, improvements, and optimizations,
   Andr&eacute; Timmermans and Henrik Bjerregaard Pedersen.
<br />For sound, the AMPlayer developers, and Andr&eacute; Timmermans.
<br />For help with 32 bit conversion, Peter Naulls.
<br />For the TimerMod module, David Ruck.
<br />For the French version, J&eacute;r&ocirc;me Mathevet.
<br />For the Iyonix optimizations, Thomas Milius.
</p>

<hr /><!-- ================================================ -->

<center><i>
17<sup>th</sup> May 2024.
<a href="mailto:fa044826@skynet.be">A. Timmermans</a>
, <a href="http://www.riscos-digitalcd.net/image/kinoamp/kinoamp.htm">Website</a>
</i></center>

</body>
</html>
