LMLM4

From MultimediaWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

LMLM4 files are near-raw files, containing MPEG-4 video and MPEG-1 Layer II, μ-law or ADPCM audio.

A file contains multiple packets. Each packet is padded with zeroes to a multiple of 512 bytes (one block).

typedef struct {
   uint16_t channel_number;
   uint16_t frame_type;
   uint32_t packet_size;
   uint8_t data[packet_size - 8];
   uint8_t padding[ -packet_size & 511 ];
} LMLM4_Packet;

The maximum size of a packet is 1048576 bytes, which is 2048 blocks.

channel_number, frame_type and packet_size are stored in big-endian order.

The following frametypes are supported:

0x00 - I-Frame, video
0x01 - P-Frame, video
0x02 - B-Frame, video
0x04 - MPEG-1 Layer 2 audio
0x05 - μ-law, audio
0x06 - ADPCM, audio

One packet contains a complete decodable frame.