transcode internals
Author: Francesco Romani
Keywords: transcode architecture internals input rotation

# Transcode - Input files rotation

### Summary

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.

Intended application cases | describe the common use-cases scenario(s) for multiple inputs
Design principles | design principles of input rotation infrastructure
Design notes - probing | design notes about probing and input rotation
Design notes - importing | design notes on how transcode (main program) deals with input rotation

#### Intended application cases

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:

- Jack wants to make a video clip from a bunch of JPEG images.

- Tyler records TV using transcode itself, and he wants now to transcode a group of low-compressed AVIs into XviD.

- Marla has some NUV files and she wants to join them and transcode it to DVD.

Some key aspects emerge from examination of intended use cases:

- Each input file can contains one or more source frame(s).

- Multiple input need to be intelligently merged before to import (think to AVI case).

- New code should handle grafefully and efficiently a lot of input files.

#### Design principles

body of paragraph

#### Design notes - probing

body of paragraph

#### Design notes - decoding

body of paragraph