blob: d325fe1142502dc066f3efb1f6e6a14f2530eb85 [file] [log] [blame]
// Copyright 2021 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.
#include "ui/gfx/codec/webp_codec.h"
#include "third_party/skia/include/encode/SkWebpEncoder.h"
#include "ui/gfx/codec/vector_wstream.h"
namespace gfx {
// Encoder ---------------------------------------------------------------------
bool WebpCodec::Encode(const SkPixmap& input,
int quality,
std::vector<unsigned char>* output) {
output->clear();
VectorWStream dst(output);
SkWebpEncoder::Options options;
options.fQuality = quality;
return SkWebpEncoder::Encode(&dst, input, options);
}
bool WebpCodec::Encode(const SkBitmap& src,
int quality,
std::vector<unsigned char>* output) {
SkPixmap pixmap;
if (!src.peekPixels(&pixmap)) {
return false;
}
return WebpCodec::Encode(pixmap, quality, output);
}
} // namespace gfx