syntax = "proto2";
// Proto description of the gif format.
// Refer to: https://www.fileformat.info/format/gif/egff.htm
// https://www.matthewflickinger.com/lab/whatsinagif/bits_and_bytes.asp

// TODO: Verify if this is correct

message LogicalScreenDescriptor {
    required uint32 ScreenWidth = 1;
    required uint32 ScreenHeight= 2;
    required uint32 Packed = 3;
    required uint32 BackgroundColor = 4;
    required uint32 AspectRatio = 5;
}

message GlobalColorTable {
    required bytes colors = 1;
}

message ImageDescriptor {
  required uint32 Seperator =1;
  required uint32 Left =2;
  required uint32 Top = 3;
  required uint32 Width = 4;
  required uint32 Height = 5;
  required uint32 Packed = 6;
}

message GraphicControlExtension {
  required uint32 Packed = 1;
  required uint32 DelayTime = 2;
  required uint32 transparentColorIndex = 3;
}

message PlainTextExtension {
  repeated SubBlock subs = 1;
  optional GraphicControlExtension gcExt = 2;
}

message LocalColorTable {
  required bytes colors = 1;
}

message SubBlock {
  required uint32 len = 1;
  required bytes data = 2;
}

message ImageData {
  required uint32 lzw = 1;
  repeated SubBlock subs = 2;
}

message BasicChunk {
  required ImageDescriptor imDescriptor =1;
  required LocalColorTable lct = 2;
  required ImageData img = 3;
  optional GraphicControlExtension gcExt = 4;
}

message ApplicationExtension {
  required fixed64 appid = 1;
  repeated SubBlock subs = 2;
}

message CommentExtension {
  repeated SubBlock subs = 1;
}

message Header {
  enum Version {
    ENA = 1;
    ESA = 2;
    INV = 3;
  }
  required Version ver = 1;
}

message Trailer {}

message ImageChunk {
  oneof chunk_oneof {
    BasicChunk basic = 1;
    PlainTextExtension plaintext = 2;
    ApplicationExtension appExt = 3;
    CommentExtension comExt = 4;
  }
}

message GifProto {
  required Header header = 1;
  required LogicalScreenDescriptor lsd = 2;
  // Instead of making GCT optional here, we condition its visit on LSD's packed byte
  // in the converter
  required GlobalColorTable gct = 3;
  repeated ImageChunk chunks = 4;
  required Trailer trailer = 5;
}

package gifProtoFuzzer;