MPEG-1 Audiodaten bestehen aus einer Folge von frames, die eine feste Anzahl von Abtastwerten enthalten. Bei Level I sind dies 384, bei Level II und III 1152 Abtastwerte. Ein frame besteht aus den folgenden Teilen:
typedef struct {
header h;
unsigned short error_check; /* nur wenn h.protection_bit == 0 */
audio_data au;
ancillary_data an;
} frame;
Der header gibt allgemeine Angaben über den Inhalt des frame gefolgt von einer
optionalen Prüfsumme über den header und einen Teil der Audiodaten. ancillary_data kann frei verwendbare Bits enthalten.