LMLM4: Difference between revisions

From MultimediaWiki
Jump to navigation Jump to search
(note on endianness of fields)
m (cosmetics)
Line 5: Line 5:
LMLM4 files are near-raw files, containing MPEG-4 video and MPEG Layer 2, uLaw or ADPCM adio.
LMLM4 files are near-raw files, containing MPEG-4 video and MPEG Layer 2, uLaw or ADPCM adio.


A file contains multiple packets, padded with zeroes to a multiple of 512 (the block size).
A file contains multiple packets, padded with zeroes to a multiple of 512 (one block).


  typedef struct {
  typedef struct {
Line 16: Line 16:


The maximum size of a packet is 1048576 bytes, which is 2048 blocks.
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.
 
'''channel_number''', '''frame_type''' and '''packet_size''' are stored in big-endian order.


The following frametypes are supported:
The following frametypes are supported:

Revision as of 09:52, 4 January 2008

  • Extension: LML uses .divx on their website, though there are other file formats that use that, too.
  • Company: Linux Media Labs
  • Website: http://www.linuxmedialabs.com/

LMLM4 files are near-raw files, containing MPEG-4 video and MPEG Layer 2, uLaw or ADPCM adio.

A file contains multiple packets, padded with zeroes to a multiple of 512 (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[ (512 - packet_size % 512) & 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 - uLaw, audio
0x06 - ADPCM, audio

One packet contains a complete decodable frame.