GoToMeeting Codec
From MultimediaWiki
| Revision as of 19:54, 8 November 2011 Kostya (Talk | contribs) (→Chunk C8) ← 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)
- Samples:
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'.
Contents |
Chunk C8
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
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.
