| // Copyright 2019 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| syntax = "proto2"; |
| package media.fuzzing; |
| |
| message JpegComponent { |
| optional uint32 id = 1; |
| optional uint32 horizontal_sampling_factor = 2; |
| optional uint32 vertical_sampling_factor = 3; |
| optional uint32 quantization_table_selector = 4; |
| } |
| |
| message JpegFrameHeader { |
| optional uint32 visible_width = 1; |
| optional uint32 visible_height = 2; |
| optional uint32 coded_width = 3; |
| optional uint32 coded_height = 4; |
| repeated JpegComponent components = 5; |
| } |
| |
| message JpegHuffmanTable { |
| optional bool valid = 1; |
| optional bytes code_length = 2; |
| optional bytes code_value = 3; |
| } |
| |
| message JpegQuantizationTable { |
| optional bool valid = 1; |
| optional bytes value = 2; |
| } |
| |
| message JpegScanHeader { |
| message Component { |
| optional uint32 component_selector = 1; |
| optional uint32 dc_selector = 2; |
| optional uint32 ac_selector = 3; |
| } |
| repeated Component components = 1; |
| } |
| |
| message JpegParseResult { |
| optional JpegFrameHeader frame_header = 1; |
| repeated JpegHuffmanTable dc_table = 2; |
| repeated JpegHuffmanTable ac_table = 3; |
| repeated JpegQuantizationTable q_table = 4; |
| optional uint32 restart_interval = 5; |
| optional JpegScanHeader scan = 6; |
| optional bytes data = 7; |
| optional uint32 image_size = 8; |
| } |
| |
| enum VARTFormat { |
| INVALID = 0; |
| YUV420 = 1; |
| YUV422 = 2; |
| YUV444 = 3; |
| YUV411 = 4; |
| YUV400 = 5; |
| YUV420_10 = 6; |
| YUV422_10 = 7; |
| YUV444_10 = 8; |
| YUV420_12 = 9; |
| YUV422_12 = 10; |
| YUV444_12 = 11; |
| RGB16 = 12; |
| RGB32 = 13; |
| RGBP = 14; |
| RGB32_10 = 15; |
| PROTECTED = 16; |
| } |
| |
| message JpegImageList { |
| message JpegImage { |
| optional VARTFormat picture_va_rt_format = 1 [default = INVALID]; |
| optional int32 surface_coded_width = 2; |
| optional int32 surface_coded_height = 3; |
| optional int32 surface_visible_width = 4; |
| optional int32 surface_visible_height = 5; |
| optional JpegParseResult parse_result = 6; |
| } |
| repeated JpegImage images = 1; |
| } |