mirror of
https://github.com/webmproject/libwebp.git
synced 2024-11-20 04:18:26 +01:00
7861578bd6
This is to infer the needed conversion to YUV(A) or RGB(A). This is useful to avoid some conversion steps between ARGB and YUVA. For instance, if the input file is a JPEG, we decode to RGB and convert to YUV right away, without the intermediate step to ARGB. The only caveat is that cropping/scaling might give slightly different result, because of YUV420 downsampling. Therefore, we omit this feature at cwebp level, when -crop or -rescale is used. Change-Id: I5a3abe5108982f2a4570e841e3d9baffc73f5bee
37 lines
1.1 KiB
C
37 lines
1.1 KiB
C
// Copyright 2012 Google Inc. All Rights Reserved.
|
|
//
|
|
// Use of this source code is governed by a BSD-style license
|
|
// that can be found in the COPYING file in the root of the source
|
|
// tree. An additional intellectual property rights grant can be found
|
|
// in the file PATENTS. All contributing project authors may
|
|
// be found in the AUTHORS file in the root of the source tree.
|
|
// -----------------------------------------------------------------------------
|
|
//
|
|
// PNG decode.
|
|
|
|
#ifndef WEBP_EXAMPLES_PNGDEC_H_
|
|
#define WEBP_EXAMPLES_PNGDEC_H_
|
|
|
|
#include <stdio.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
struct Metadata;
|
|
struct WebPPicture;
|
|
|
|
// Reads a PNG from 'in_file', returning the decoded output in 'pic'.
|
|
// Output is RGBA or YUVA, depending on pic->use_argb value.
|
|
// If 'keep_alpha' is true and the PNG has an alpha channel, the output is RGBA
|
|
// or YUVA. Otherwise, alpha channel is dropped and output is RGB or YUV.
|
|
// Returns true on success.
|
|
int ReadPNG(FILE* in_file, struct WebPPicture* const pic, int keep_alpha,
|
|
struct Metadata* const metadata);
|
|
|
|
#ifdef __cplusplus
|
|
} // extern "C"
|
|
#endif
|
|
|
|
#endif // WEBP_EXAMPLES_PNGDEC_H_
|