blob: 31dd5e0db3d0358ed6db4636d1cbfeecbbd57768 [file] [log] [blame]
// Copyright 2023 Google LLC
// SPDX-License-Identifier: BSD-2-Clause
#ifndef LIBAVIF_APPS_AVIFGAINMAPUTIL_IMAGEIO_H_
#define LIBAVIF_APPS_AVIFGAINMAPUTIL_IMAGEIO_H_
#include <string>
#include "avif/avif.h"
namespace avif {
// Writes an image in any of the supported formats based on the file extension.
avifResult WriteImage(const avifImage* image,
const std::string& output_filename, int quality,
int speed);
// Reads an image in any of the supported formats. Ignores any gain map.
avifResult ReadImage(avifImage* image, const std::string& input_filename,
avifPixelFormat requested_format, uint32_t requested_depth,
bool ignore_profile);
// Reads an image in avif format given a pre-configured encoder.
avifResult WriteAvif(const avifImage* image, avifEncoder* encoder,
const std::string& output_filename);
// Reads an image in avif format given a pre-configured decoder.
// The image can be accessed at decoder->image.
avifResult ReadAvif(avifDecoder* decoder, const std::string& input_filename,
bool ignore_profile);
} // namespace avif
#endif // LIBAVIF_APPS_AVIFGAINMAPUTIL_IMAGEIO_H_