| // Copyright 2023 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CHROMEOS_ASH_SERVICES_RECORDING_GIF_ENCODING_TYPES_H_ |
| #define CHROMEOS_ASH_SERVICES_RECORDING_GIF_ENCODING_TYPES_H_ |
| |
| #include <cstdint> |
| #include <vector> |
| |
| #include "chromeos/ash/services/recording/rgb_video_frame.h" |
| |
| namespace recording { |
| |
| // The GIF specs specify a maximum of 12 bits per LZW compression code, so a |
| // 16-bit unsigned integer is perfect for this type. |
| using LzwCode = uint16_t; |
| |
| // We have a maximum of 256 colors in our color palette, so an 8-bit unsigned |
| // integer is enough to represent indices to these colors. |
| using ColorIndex = uint8_t; |
| using ColorIndices = std::vector<ColorIndex>; |
| |
| // Defines a type for a color palette table which will eventually be written to |
| // the GIF file. |
| using ColorTable = std::vector<RgbColor>; |
| |
| } // namespace recording |
| |
| #endif // CHROMEOS_ASH_SERVICES_RECORDING_GIF_ENCODING_TYPES_H_ |