// Copyright 2016 Google Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Author: huibao@google.com (Huibao Lin) // Protobufs for storing options and dimensions for image optimization. syntax = "proto2"; option optimize_for = LITE_RUNTIME; /* */ package pagespeed.image_compression; message ImageOptions { optional bool allow_png = 1 [ default = true ]; optional bool allow_jpeg = 2 [ default = true ]; optional bool allow_webp_lossy = 3 [ default = true ]; optional bool allow_webp_lossless_or_alpha = 4 [ default = false ]; optional bool allow_webp_animated = 5 [ default = false ]; optional bool allow_convert_lossless_to_lossy = 6 [ default = false ]; optional bool must_reduce_bytes = 7 [ default = true ]; optional int32 max_jpeg_quality = 8 [ default = 85 ]; optional int32 max_webp_quality = 9 [ default = 85 ]; optional int32 max_webp_animated_quality = 10 [ default = 85 ]; optional int32 max_timeout_ms = 11 [ default = -1 ]; // When |try_best_compression_for_png| is set to true, the optimizer uses // multiple methods, including the expensive ones, for encoding PNG images. // The smallest output from all methods will be returned. optional bool try_best_compression_for_png = 12 [ default = true ]; } message ImageDimensions { optional int32 width = 1; optional int32 height = 2; }