Table schema ============ MythVideo uses two tables to determine what sort of transcoding the user can perform. These tables are: dvdinput dvdtranscode When a DVD is inserted, the mtd (Myth Transcoding Daemon) reads the format of the titles (sometimes refered to as tracks) from the disc. For each title, it calculates things like horizontal resolution, vertical resolution, framerate, and so on. It then looks at the dvdinput table and uses those calculated values to find a match. The result is a single integer value (the intid column of dvdinput) that represents the format of a given title. When the user wants to transcode something (i.e. when the user enters the transcode dialog), the next step is to look up possible transcode settings from the dvdtranscode table. A row in the dvdtranscode table represents all the command line arguments that must be passed to the transcode program to perform a given transcoding. The "input" column restricts which options to present to a user, as it is the input format for the title (i.e. the single integer identifier from the dvdinput table). If this seems unclear, look in ./mythvideo/dbcheck.cpp, and look at each of the SQL statements that begin "INSERT INTO dvdinput ... " (a row for each known title/track format) and "INSERT INTO dvdtranscode ... " (a row for each set of transcode options, given an input format). It is probably useful to point out that if you have a set of transcode options that you want to use, you can simply create a new row in the dvdtranscode table. That option will be immediately available without the need to recompile or reconfigure anything.