~
http://andrewduncan.net/mpeg/mpeg-1.html
~
https://en.wikipedia.org/wiki/ADX_(file_format)
# MPEG-1 can be deconstructed and broken down to smaller packets.
# ADX usually starts with a 0x80, 0x00 sequence, and holds a relative offset to the string: "(c)CRI".
Here's what you're supposed to do:
1. Locate "(c)CRI" in the SFD file, and trace back to [0x000001BA] sequence:
https://i.imgur.com/ZKBqI0o.png .
2. Find the next [0x000001] sequence, the packet start-code prefix,.
3. The way you know it's the correct one, is by checking the next byte, for example: [0xC0] = 0b11000000 (110xxxxx: audio (correct), 1110xxxx: video).
5. Right after it is a 16-bit word, the first byte is not to be changed, since it is a relative-offset to the start of ADX. (In my case: 0x07E7)
6. Skip this word, and get the Offset of the byte you're selecting. (In my case: 0x2012)
If you add first byte of length(0x07) to it(0x2019) and jump there, you'll find the ADX header [0x8000].
If you add packet-length(0x07E7) to it(0x27F9), you'll end up in the next part of the MPEG-1 file.
Once you have where the length is located, where both start and end of the ADX are, you can simply modify them.
If you're stuck or you need more details, feel free to send a message.