blob: 8e70af9fc0aa9412b44a176f4f3548bb22706fb2 [file] [log] [blame]
// 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;
}