File indexing completed on 2024-05-05 05:30:17
0001 /* 0002 SPDX-FileCopyrightText: 2023 Aleix Pol Gonzalez <aleixpol@kde.org> 0003 SPDX-FileCopyrightText: 2023 Marco Martin <mart@kde.org> 0004 SPDX-FileCopyrightText: 2023 Arjen Hiemstra <ahiemstra@heimr.nl> 0005 0006 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0007 */ 0008 0009 #include "encoder_p.h" 0010 0011 /** 0012 * A hardware encoder that uses VAAPI to encode to H264. 0013 */ 0014 class H264VAAPIEncoder : public HardwareEncoder 0015 { 0016 public: 0017 H264VAAPIEncoder(H264Profile profile, PipeWireProduce *produce); 0018 0019 bool initialize(const QSize &size) override; 0020 0021 protected: 0022 int percentageToAbsoluteQuality(const std::optional<quint8> &quality) override; 0023 0024 private: 0025 H264Profile m_profile = H264Profile::Main; 0026 };