// Copyright (c) 2026 Juhapekka Piiroinen // All Rights Reserved. // AmoosedWeb project: https://amoosed.com #pragma once #include "AmoosedWeb/Reader.hpp" namespace amoosed { // Windows Imaging Component adapter for PNG low-bit and AWF1/AWF2 sparse-frame // carriers. Decoding is bounded by a 64 MiB fetch and a 16 MP pixel cap. class WindowsMediaDecoder final : public MediaDecoder { public: bool decode(std::string_view codec, const std::vector& carrier, const AudioCarrier* audio, CryptoHost& crypto, std::vector& payload, std::string& error) override; }; // Recover a complete legacy AWF1 packet for indexed frame transport. The // website frame-luma1 decoder instead requires packet index zero. bool decode_indexed_frame_packet(const std::vector& carrier, std::array& packet, std::string& error); }