/* SPDX-FileCopyrightText: 2023 Aleix Pol Gonzalez SPDX-FileCopyrightText: 2023 Marco Martin SPDX-FileCopyrightText: 2023 Arjen Hiemstra SPDX-FileCopyrightText: 2024 Fabian Vogt SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL */ #include "encoder_p.h" /** * A software encoder that uses ffmpeg + libopenh264 to encode to H.264. */ class LibOpenH264Encoder : public SoftwareEncoder { public: LibOpenH264Encoder(H264Profile profile, PipeWireProduce *produce); bool initialize(const QSize &size) override; protected: int percentageToAbsoluteQuality(const std::optional &quality) override; void applyEncodingPreference(AVDictionary *options) override; private: H264Profile m_profile = H264Profile::Main; };