Random Index Pack

Références SMPTE EG-377-3-2013 - MXF Engineering Guideline
Chapitre 4.6.2 Random Index Pack P15
SMPTE 377-1-2011 - MXF - File Format Specification
Chapitre 12 - Random Index Pack P110
Modèle KLV Fixed-Length Pack
Universal Label
06.0e.2b.34.02.05.01.01.0d.01.02.01.01.11.01.00 (SMPTE)
Notes Optionnel

Preface

Index Table Segment

Le KLV Random Index Pack fournit la liste des positions de toutes les Partitions d'un MXF.

On le retrouve toujours à la fin d'un fichier MXF, il fournit la liste des positions de toutes les partitions dans un MXF. Dans le cas d'un MXF de DCP, nous aurons nos 3 partitions Header, Body et Footer pour un MXF Picture ou Sound, et 3 ou plus pour un MXF Subtitles.

S'il est présent, c'est le dernier KLV de la partie Footer et donc le dernier KLV d'un MXF.

La norme indique que le Random Index Pack est optionnel, cependant le CTP indique qu'il est obligatoire. mais dans beaucoup de MXF produit, le Random Index Pack n'est pas présent.

Les métadonnées

Voici l'exemple d'un parsing de Random Index Pack :

╓─────────────────────────────────────────────────────────────────────────────────
║   Partition #0     ║  BodySID : 0      -   ByteOffset :            0 bytes
║   Partition #1     ║  BodySID : 1      -   ByteOffset :        16384 bytes
║   Partition #2     ║  BodySID : 0      -   ByteOffset :        56844 bytes
║   Length           ║  60 bytes
╙─────────────────────────────────────────────────────────────────────────────────

On y voit la liste des différentes partitions et leurs positions via ByteOffset.

Vous allez me dire pourquoi un Length à la fin ? C'est simple: un décodeur MXF peut très bien aller lire directement les 4 derniers octets du MXF puis se positionner au début du Random Index Pack et de là, accéder à toutes les partitions en très peu de temps.

Structure des données

Nom de l'attribut Type Taille
BodySID uint32 4 octets
ByteOffset uint64 8 octets
Length uint32 4 octets

Nous allons avoir plusieurs fois le couple BodySID et ByteOffset.

      +-------------------------------------+
      |  BodySID (4)   ByteOffset (8)       |    Length (4)
      +-------------------------------------+
                   X pair

Etude rapide de l'Universal Label de Random Index Pack

UL = 06.0E.2B.34.02.53.01.vv.0D.01.02.01.01.11.01.00
                             ^^------------------------------ Item Designator    : Organizationally registered
                                ^^--------------------------- Organization       : AAF Association
                                   ^^------------------------ Application        : MXF File Structure
                                      ^^--------------------- Structure Version  : Version 1
                                         ^^------------------ Structure Kind     : File Structure sets and packs
                                            ^^--------------- Set/Pack Kind      : Random Index Pack
                                               ^^------------ Version            : Random Index Pack Version