Tivo Logos and LogoSpaces

The Tivo stores the logos it displays in the channel banners in MFS as PNG files. These PNG files are stored in the /Resource/Image branch of MFS, and information about the logos in the /LogoGroup branch. The LogoGroups (surprise) group logos by common characteristics. Three main characteristics define a LogoGroup:

  • The LogoSpace is an arbitrary characteristic. Tivo uses LogoSpaces to separate groups of logos logically. For example LogoSpace 1 is for Tivo’s logos and LogoSpace 2 is for DirecTV logos.
  • The Palette defines the group of colors the image uses. Logos are PNGs with a 256 color palette. There are two palettes as far as I can tell:
    Palette 1:
    Tivo Logo Palette 1
    Palette 2:
    Tivo Logo Palette 2
  • The Size defines the phyisical size of the image.
    Size Width Height
    1 65 55
    2 100 35

Thus, if you were to run tivosh and type mls /LogoGroup you will see LogoGroups with names of the format LogoSpace:Size:Palette:

Name                      Type        FsId      Date  Time   Size
----                      ----        ----      ----  ----   ----
1:1:1                     tyDb       31362  12/25/01 20:12    784
1:2:2                     tyDb       31363  10/21/01 08:28    880
2:1:1                     tyDb       31264  06/15/01 14:18   2104
2:2:2                     tyDb       31329  10/21/01 08:28    736

Each LogoGroup has an Index attribute, and an Image attribute. Index is a list of integers. Image is a list of images. The image at spot n in the Image list’s index is the integer at spot n in the Index list.

Each Logo has its own LogoIndex. This logo Index is created by shifting the logospace 16 bits and adding the integer from the Index list:

(LogoSpace << 16) | Index
Each Station in Tivo’s database has a LogoIndex attribute. To change the Station’s logo, simply change its LogoIndex to the logo you’d like to display. I had intended on adding information about creating LogoGroups and adding your own logos, but never got around to it. I sadly have forgotten everything I had known about this subject.