|Revision as of 19:54, 8 November 2011
Kostya (Talk | contribs)
← Previous diff
|Revision as of 20:25, 8 November 2011
Kostya (Talk | contribs)
Next diff →
|Line 36:||Line 36:|
|for 4/8bpp there is a palette in standard RGBTUPLE format||for 4/8bpp there is a palette in standard RGBTUPLE format|
|for 16-32bpp there are four bitmasks for each field||for 16-32bpp there are four bitmasks for each field|
|+||=== Chunk C9 ===|
|+||Should be image update.|
|+||1 byte tile position in row?|
|+||1 byte tile position in column?|
|+||... compressed data|
|+||'''REing compressed data format is left as an exercise to the reader|
|+||=== Chunk CA ===|
|+||Probably mouse cursor position.|
|+||2 bytes cursor position X|
|+||2 bytes cursor position Y|
|+||1 byte seems to be always 1|
|+||=== Chunk CB ===|
|+||This one seems to define mouse cursor shape:|
|+||4 bytes data size|
|+||1 byte width|
|+||1 byte height|
|+||1 byte hotspot x|
|+||1 byte hotspot y|
|+||... cursor bitmask and its inverse (in M$ format 98% sure)|
|+||=== Chunk CC ===|
|+||Maybe some resync chunk, it's supposed to contain only 4-byte value equal to 2000.|
|+||=== Chunk CD ===|
|+||One dword, something to do with time.|
|[[Category:Video Codecs]]||[[Category:Video Codecs]]|
Revision as of 20:25, 8 November 2011
- FourCC: G2M2, G2M3, G2M4
- Company: GoToMeeting (Citrix)
This is a codec used to save recordings in GoToMeeting. The codec also calls itself GoToWebinar (see http://www.gotowebinar.com/).
Win32 binary decoder available here: http://www.gotomeeting.com/codec
According to samples, all G2M2 video frames begin with the characters 'G2M2', followed by a series of chunks. Each chunk has the following layout:
bytes 0-3 length of chunk payload, not including this length field byte 4 type of chunk bytes 5.. remainder of payload, format unknown
Supported chunk types are 0xC8-0xCD.
It appears that the minimum size for a G2M2 frame (possibly a no-change frame) is 14 bytes. This includes the 4 signature bytes, a 4-byte length indicating a chunk length of 6, and a 6-byte payload of type 0xCA followed by 5 more bytes.
G2M3 bears much similarity to G2M2 at the surface level. Naturally, each frame has a signature of 'G2M3'.
This seems to contain display information.
Chunk contents (all values are big-endian):
4 bytes image width 4 bytes image height 4 bytes compression mode (should be 2 or 3) 4 bytes number of tiles in column (maybe) 4 bytes number of tiles in row (maybe) 1 byte colour depth (4, 8, 16, 24 or 32) for 4/8bpp there is a palette in standard RGBTUPLE format for 16-32bpp there are four bitmasks for each field
Should be image update.
1 byte tile position in row? 1 byte tile position in column? ... compressed data
REing compressed data format is left as an exercise to the reader
Probably mouse cursor position.
2 bytes cursor position X 2 bytes cursor position Y 1 byte seems to be always 1
This one seems to define mouse cursor shape:
4 bytes data size 1 byte width 1 byte height 1 byte hotspot x 1 byte hotspot y ... cursor bitmask and its inverse (in M$ format 98% sure)
Maybe some resync chunk, it's supposed to contain only 4-byte value equal to 2000.
One dword, something to do with time.