header+---------+----------------------+ | magic | \0 | file_length | +-------- +------+---------------+ <-3 bytes-><1 byte><-- 4 bytes --> magic: offset = 0
file_length: offset = 4
header_movie+-------+-----------+-----------+-----------+-----------+--- | align | x_min | x_max | y_min | y_max | .. +-------+-----------+-----------+-----------+-----------+--- <-5 bits><align bits><align bits><align bits><align bits> ---+---------------------------------+------------------+ .. | frame_rate_dec | frame_rate_int | frame_rate_count | ---+---------------------------------+------------------+ <-- 1 byte --> <-- 1 byte --> <-- 2 bytes --> align: offset = 8
{x,y}_{min_max}: offset=8 + 5(bits) + n*align(bits) (n は 0 数え)
frame_rate_decimal: offset = 8 + 5(bits) + 4*align(bits)
frame_rate_integer: offset = 8 + 5(bits) + 4*align(bits) + 1
frame_rate_count: offset = 8 + 5(bits) + 4*align(bits) + 2
tag block
+----------------------------------------------------+ | header | header_movie | tag_block | tag_block| ... | +----------------------------------------------------+ <-8bytes-> <- 可変長 -> <- 可変長 -- 数も可変 --
tag block の構造 (1) length < 0x3f+-------------------------------------+ | tag | length | contents | +-------------------------------------+ <-10bits-><-6bits-><-- length bytes --> <- Little Endian -> tag block の構造 (1) 0x3f <= length+------------------------------------------------------+ | tag | 0x3f | length | contents | +------------------------------------------------------+ <-10bits-><-6bits-><-- 4 bytes --> <-- length bytes --> <- Little Endian -> contents の構造
tag の番号
(以下、作成中) |