<?xml version="1.0"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta name="generator" content= "HTML Tidy for Linux (vers 12 April 2005), see www.w3.org" /> <title>transcode internals</title> <meta http-equiv="Content-Type" content= "text/html; charset=us-ascii" /> <meta name="Author" content="Francesco Romani" /> <meta name="Keywords" content="transcode architecture internals input rotation" /> <meta name="Generator" content="ViM 7.x" /> <link rel="StyleSheet" href="tc_basic.css" type="text/css" media= "screen" /> </head> <body> <div id="title" class="title"> <h1>Transcode - Input files rotation</h1> </div> <div id="summary"> <h3>Summary</h3> <p> This page describe the design principles and notes of new (as in 1.1.0 version) input rotation code. Input rotation intelligently handles directory containing almost-homogeneous content, and perform a smart contatenation of inputs (as opposed to "blind cat" previously performed on 1.0.x and former releases). Application scenario and intended use of new code is described first; this lead to explanation of design princples. Design notes and some implementation details are then provided. </p> </div> <hr /> <div id="index"> <table> <tr> <td><a href="#usecases">Intended application cases</a></td> <td><p>describe the common use-cases scenario(s) for multiple inputs</p></td> </tr> <tr> <td><a href="#principles">Design principles</a></td> <td><p>design principles of input rotation infrastructure</p></td> </tr> <tr> <td><a href="#probing">Design notes - probing</a></td> <td><p>design notes about probing and input rotation</p></td> </tr> <tr> <td><a href="#decoding">Design notes - importing</a></td> <td><p>design notes on how transcode (main program) deals with input rotation</p></td> </tr> </table> </div> <hr /> <div id="usecases"> <a name="usecases"><h4>Intended application cases</h4></a> <p> New input rotation code introduced in 1.1.0 is a revision from the ground up of how multiple input should be handled in transcode. First and foremost, some basic usage cases are identified: </p> <ul> <li> <p> Jack wants to make a video clip from a bunch of JPEG images. </p> </li> <li> <p> Tyler records TV using transcode itself, and he wants now to transcode a group of low-compressed AVIs into XviD. </p> </li> <li> <p> Marla has some NUV files and she wants to join them and transcode it to DVD. </p> </li> </li> </ul> <p> Some key aspects emerge from examination of intended use cases: </p> <ul> <li> <p> Each input file can contains one <strong>or more</strong> source frame(s). </p> </li> <li> <p> Multiple input need to be intelligently merged before to import (think to AVI case). </p> </li> <li> <p> New code should handle grafefully and efficiently <strong>a lot</strong> of input files. </p> </li> </ul> </div> <div id="principles"> <a name="principles"><h4>Design principles</h4></a> <p>body of paragraph</p> </div> <div id="probing"> <a name="probing"><h4>Design notes - probing</h4></a> <p>body of paragraph</p> </div> <div id="decoding"> <a name="decoding"><h4>Design notes - decoding</h4></a> <p>body of paragraph</p> </div> </body> </html>