pito_codecs/media/nal.rs
1pub fn length_prefixed_to_annexb(out: &mut Vec<u8>, data: &[u8], length: usize) {
2 let mut pos = 0;
3 while length > 0 && pos + length <= data.len() {
4 let n = data[pos..pos + length]
5 .iter()
6 .fold(0usize, |a, &b| (a << 8) | b as usize);
7 pos += length;
8 let Some(nal) = data.get(pos..pos + n) else {
9 break;
10 };
11 out.extend_from_slice(&[0, 0, 0, 1]);
12 out.extend_from_slice(nal);
13 pos += n;
14 }
15}