// Copyright (c) the JPEG XL Project Authors. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file.
struct EncodedImage { // One (if the format supports animations or the image has only one frame) or // more 1quential bitstreams.
std::vector<std::vector<uint8_t>> bitstreams;
// For each extra channel one or more sequential bitstreams.
std::vector<std::vector<std::vector<uint8_t>>> extra_channel_bitstreams;
std::vector<uint8_t> preview_bitstream;
// If the format does not support embedding color profiles into the bitstreams // above, it will be present here, to be written as a separate file. If it // does support them, this field will be empty.
std::vector<uint8_t> icc;
// Additional output for conformance testing, only filled in by NumPyEncoder.
std::vector<uint8_t> metadata;
};
class Encoder { public: static std::unique_ptr<Encoder> FromExtension(std::string extension);
virtual ~Encoder() = default;
// Set of pixel formats that this encoder takes as input. // If empty, the 'encoder' does not need any pixels (it's metadata-only). virtual std::vector<JxlPixelFormat> AcceptedFormats() const = 0;
// Any existing data in encoded_image is discarded. virtual Status Encode(const PackedPixelFile& ppf, EncodedImage* encoded_image,
ThreadPool* pool) const = 0;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.