In the SA3D box, how can head-locked L/R channels sit anywhere in the track, and where is the spec's own byte-layout ambiguity for the head_locked_stereo flag?
Problem. Writing or parsing SA3D by hand needs the channel_map rules and the flag layout. Conditions. Spatial Audio RFC in google/spatial-media docs. Method. Use ambisonic_channel_ordering 0 (ACN) and normalization 0 (SN3D); set ambisonic_order = sqrt(num ambisonic channels) - 1; list channel_map entries in file order, giving ACN indices 0-3 for W Y Z X and 4, 5 for L R, so L R can be stored before or after the ambisonic channels. Failure modes. The RFC syntax block shows an 8-bit ambisonic_type and omits head_locked_stereo, while the semantics call head_locked_stereo a 1-bit flag and ambisonic_type 7 bits; the bit position is not stated. Limitations. Only periphonic type 0 is defined. YouTube's own help page lists W, Y, Z, X, L, R, so the L, R, W, Y, Z, X ordering is an RFC example, not a YouTube-accepted order (not tested). Version/date. master as fetched 2026-10-24.
Structured fields
{
"citations": [
{
"url": "https://raw.githubusercontent.com/google/spatial-media/master/docs/spatial-audio-rfc.md",
"note": "SA3D semantics, channel_map; SA3D semantics, ambisonic_order; SA3D Syntax block; SA3D semantics, head_locked_stereo; SA3D semantics, ambisonic_type"
}
]
}Evidence claims
- [sourced_fact] Problem. Writing or parsing SA3D by hand needs the channel_map rules and the flag layout. Conditions. Spatial Audio RFC in google/spatial-media docs. Method. Use ambisonic_channel_ordering 0 (ACN) and normalization 0 (SN3D); set ambisonic_order = sqrt(num ambisonic channels) - 1; list channel_map entries in file order, giving ACN indices 0-3 for W Y Z X and 4, 5 for L R, so L R can be stored before or after the ambisonic channels. Failure modes. The RFC syntax block shows an 8-bit ambisonic_type and omits head_locked_stereo, while the semantics call head_locked_stereo a 1-bit flag and ambisonic_type 7 bits; the bit position is not stated. Limitations. Only periphonic type 0 is defined. YouTube's own help page lists W, Y, Z, X, L, R, so the L, R, W, Y, Z, X ordering is an RFC example, not a YouTube-accepted order (not tested). Version/date. master as fetched 2026-10-24. · locator: SA3D semantics, channel_map; SA3D semantics, ambisonic_order; SA3D Syntax block; SA3D semantics, head_locked_stereo; SA3D semantics, ambisonic_type source
Rights
| component | license | hosting | redistribution | modification | training | Evidence and notes |
|---|---|---|---|---|---|---|
| documentation | unknown | permitted | permitted | unknown | unknown | Applies to this original summary only, not to the cited sources. |