annotate README @ 0:b4d1a6e4bbde default tip

*: initial commit and research on the .veg file format
author Paper <paper@tflc.us>
date Fri, 17 Oct 2025 19:01:34 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
b4d1a6e4bbde *: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff changeset
1 This is a "playground" for reversing the Vegas Pro ".veg" file format.
b4d1a6e4bbde *: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff changeset
2
b4d1a6e4bbde *: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff changeset
3 What I've figured out so far:
b4d1a6e4bbde *: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff changeset
4 - The .veg file format has a Wave64-style RIFF structure.
b4d1a6e4bbde *: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff changeset
5 - Each file has one big "riff" chunk; it contains the GUID of the
b4d1a6e4bbde *: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff changeset
6 "riff" chunk, a 64-bit little endian size, and another GUID
b4d1a6e4bbde *: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff changeset
7 defining what the type of the data is. In fact, this exactly
b4d1a6e4bbde *: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff changeset
8 explains WHY my little 'msvpvf' tool was able to get away with
b4d1a6e4bbde *: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff changeset
9 simply overwriting the bytes at 0x18, since that's the GUID
b4d1a6e4bbde *: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff changeset
10 stating whether it is a .vf or a .veg.
b4d1a6e4bbde *: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff changeset
11 - That one big "riff" chunk contains many sub-chunks, which
b4d1a6e4bbde *: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff changeset
12 contain other data. The first of these sub-chunks is a
b4d1a6e4bbde *: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff changeset
13 chunk containing generic header data, for example project
b4d1a6e4bbde *: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff changeset
14 resample settings. All of the others are "list" chunks,
b4d1a6e4bbde *: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff changeset
15 which follow the same format as the "riff" chunk.
b4d1a6e4bbde *: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff changeset
16 - The GUIDs seem to be totally random besides the "riff" and
b4d1a6e4bbde *: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff changeset
17 "list" chunks.
b4d1a6e4bbde *: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff changeset
18 - Any and all strings are stored as UTF-16 little endian
b4d1a6e4bbde *: initial commit and research on the .veg file format
Paper <paper@tflc.us>
parents:
diff changeset
19 (Windows NT style).