blob: 6b7adad58c4533ed1cc03df6a177633e75bd7571 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
<?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>
|