1234567891011121314151617181920212223242526272829303132333435363738 |
- // Copyright 2019 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #ifndef MEDIA_PARSERS_WEBP_PARSER_H_
- #define MEDIA_PARSERS_WEBP_PARSER_H_
- #include <stdint.h>
- #include <memory>
- #include "base/containers/span.h"
- #include "media/parsers/media_parsers_export.h"
- namespace media {
- struct Vp8FrameHeader;
- // A lightweight WebP file header parser to extract feature and size
- // information. It validates that a given data stream encodes a simple lossy
- // WebP image and populates a Vp8FrameHeader upon successful parsing.
- // For more information, see the WebP Container Specification:
- // https://developers.google.com/speed/webp/docs/riff_container
- // Returns true if |encoded_data| claims to encode a simple (non-extended) lossy
- // WebP image. Returns false otherwise.
- MEDIA_PARSERS_EXPORT
- bool IsLossyWebPImage(base::span<const uint8_t> encoded_data);
- // Parses a simple (non-extended) lossy WebP image and returns a Vp8FrameHeader
- // containing the parsed VP8 frame contained by the image. Returns nullptr on
- // failure.
- MEDIA_PARSERS_EXPORT
- std::unique_ptr<Vp8FrameHeader> ParseWebPImage(
- base::span<const uint8_t> encoded_data);
- } // namespace media
- #endif // MEDIA_PARSERS_WEBP_PARSER_H_
|