1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- // 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.
- // -----------------------------------------------------------------------------
- //
- // Metadata types and functions.
- //
- #ifndef WEBP_IMAGEIO_METADATA_H_
- #define WEBP_IMAGEIO_METADATA_H_
- #include "webp/types.h"
- #ifdef __cplusplus
- extern "C" {
- #endif
- typedef struct MetadataPayload {
- uint8_t* bytes;
- size_t size;
- } MetadataPayload;
- typedef struct Metadata {
- MetadataPayload exif;
- MetadataPayload iccp;
- MetadataPayload xmp;
- } Metadata;
- #define METADATA_OFFSET(x) offsetof(Metadata, x)
- void MetadataInit(Metadata* const metadata);
- void MetadataPayloadDelete(MetadataPayload* const payload);
- void MetadataFree(Metadata* const metadata);
- // Stores 'metadata' to 'payload->bytes', returns false on allocation error.
- int MetadataCopy(const char* metadata, size_t metadata_len,
- MetadataPayload* const payload);
- #ifdef __cplusplus
- } // extern "C"
- #endif
- #endif // WEBP_IMAGEIO_METADATA_H_
|