Changes between Version 40 and Version 41 of SV8Specification
- Timestamp:
- 01/04/08 13:54:25 (17 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
SV8Specification
v40 v41 18 18 == File magic number == 19 19 20 [[Image(final.png, nolink)]] [[BR]] 20 21 Magic number is on 32bits and is equal to 'MPCK' or 0x4D50434B[[BR]] 21 22 22 23 == File extension == 23 24 25 [[Image(final.png, nolink)]] [[BR]] 24 26 The prefered file extension for musepack files is .mpc 25 27 26 28 == Packet formatting == 27 29 30 [[Image(final.png, nolink)]] [[BR]] 28 31 All packets are formatted using Key / Size / Payload.[[BR]] 29 32 Keys are 16 bits long. It's equivalent to the packet ID or type.[[BR]] … … 52 55 Allowed chars in key are [A-Z] (65 <= value <= 90), so 676 keys are valid out of 65536 possible. 53 56 54 || '''Packet Name''' || '''Key''' || '''Mandatory''' || 55 || [wiki:SV8Specification#StreamHeaderPacket Stream Header] || SH || yes || 56 || [wiki:SV8Specification#ReplaygainPacket Replaygain] || RG || yes || 57 || [wiki:SV8Specification#EncoderInfoPacket Encoder Info] || EI || no || 58 || [wiki:SV8Specification#SeekTableOffsetPacket Seek Table Offset] || SO || no || 59 || [wiki:SV8Specification#AudioPacket Audio Packet] || AP || yes || 60 || [wiki:SV8Specification#SeekTablePacket Seek Table] || ST || no || 61 || [wiki:SV8Specification#Chapter-TagPacket Chapter-Tag] || CT || no || 62 || [wiki:SV8Specification#StreamEndPacket Stream End] || SE || yes || 57 || '''Packet Name''' || '''Key''' || '''Mandatory''' || '''Status''' || 58 || [wiki:SV8Specification#StreamHeaderPacket Stream Header] || SH || yes || [[Image(beta.png, nolink)]] || 59 || [wiki:SV8Specification#ReplaygainPacket Replaygain] || RG || yes || [[Image(beta.png, nolink)]] || 60 || [wiki:SV8Specification#EncoderInfoPacket Encoder Info] || EI || no || [[Image(beta.png, nolink)]] || 61 || [wiki:SV8Specification#SeekTableOffsetPacket Seek Table Offset] || SO || no || [[Image(beta.png, nolink)]] || 62 || [wiki:SV8Specification#AudioPacket Audio Packet] || AP || yes || [[Image(beta.png, nolink)]] || 63 || [wiki:SV8Specification#SeekTablePacket Seek Table] || ST || no || [[Image(beta.png, nolink)]] || 64 || [wiki:SV8Specification#Chapter-TagPacket Chapter-Tag] || CT || no || [[Image(alpha.png, nolink)]] || 65 || [wiki:SV8Specification#StreamEndPacket Stream End] || SE || yes || [[Image(beta.png, nolink)]] || 63 66 64 67 == Stream Header Packet == 65 68 69 [[Image(beta.png, nolink)]] [[BR]] 66 70 This packet key is "SH".[[BR]] 67 71 It contains the informations needed to decode the stream. This block is mandatory and must be written before the first audio packet.[[BR]] … … 93 97 == Replaygain Packet == 94 98 99 [[Image(beta.png, nolink)]] [[BR]] 95 100 This packet key is "RG".[[BR]] 96 101 It contains the necessary data needed to apply replaygain on the current stream. This packet is mandatory and must be written before the first audio packet.[[BR]] … … 112 117 == Encoder Info Packet == 113 118 119 [[Image(beta.png, nolink)]] [[BR]] 114 120 This packet key is "EI".[[BR]] 115 121 … … 124 130 == Seek Table Offset Packet == 125 131 132 [[Image(beta.png, nolink)]] [[BR]] 126 133 This packet key is "SO".[[BR]] 127 134 It contains an offset to the seek table packet.[[BR]] … … 134 141 == Audio Packet == 135 142 143 [[Image(beta.png, nolink)]] [[BR]] 136 144 This packet key is "AP".[[BR]] 137 145 It contains audio frames. The first frame is a key frame.[[BR]] … … 143 151 == Seek Table Packet == 144 152 153 [[Image(beta.png, nolink)]] [[BR]] 145 154 This packet key is "ST".[[BR]] 146 155 … … 166 175 == Chapter-Tag Packet == 167 176 177 [[Image(alpha.png, nolink)]] [[BR]] 168 178 This packet key is "CT".[[BR]] 169 179 It contains a chapter position and associated tag.[[BR]] … … 186 196 == Stream End Packet == 187 197 198 [[Image(beta.png, nolink)]] [[BR]] 188 199 This packet key is "SE".[[BR]] 189 200 The packet size must be 3 bytes.[[BR]] … … 193 204 == Streaming == 194 205 206 [[Image(alpha.png, nolink)]] [[BR]] 195 207 This file format can be used for streaming. The "SH" block is (can?) used as synchronization marker. The decoder will scan for a "SH" block and check its CRC. Once the decoder is synchronized, it will start decoding. It's up to the streaming server to choose when to send "SH" block.[[BR]] 196 208 To send meta data while streaming, the Chapter-Tag packet can be used. … … 199 211 == Tags == 200 212 213 [[Image(beta.png, nolink)]] [[BR]] 201 214 No packet must be written after the stream end packet to allow tagging by other applications.[[BR]] 202 215 Those tags are global to the file, and defines the default values for all the tag fields. The Chapter-Tag packet can redefine the field value for each chapter.