| // 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_ |