diff options
Diffstat (limited to 'kpipewire/5.27-magicyuv-yuv444.patch')
| -rw-r--r-- | kpipewire/5.27-magicyuv-yuv444.patch | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/kpipewire/5.27-magicyuv-yuv444.patch b/kpipewire/5.27-magicyuv-yuv444.patch deleted file mode 100644 index c742afc..0000000 --- a/kpipewire/5.27-magicyuv-yuv444.patch +++ /dev/null @@ -1,51 +0,0 @@ -From e943d0ca542b4e4f4c458165fdcdc8e413c3d2a5 Mon Sep 17 00:00:00 2001 -From: Terin Stock <terinjokes@gmail.com> -Date: Mon, 22 Apr 2024 00:29:34 +0200 -Subject: [PATCH] Record: support MagicYUV 4:4:4 - -The two codecs currently supported, H264 and WebM are not suitable for -recording with minimal CPU overhead and losslessly for farther editing -or archiving. - -This changeset adds support for recording in MagicYUV 4:4:4 in a -Matroska container. This is suitably fast and satisfies the lossless -goal, while still having some compression. These can be transcoded to -FFV1 with no quality loss offline. ---- - src/pipewirerecord.cpp | 12 ++++++++---- - 1 file changed, 8 insertions(+), 4 deletions(-) - -diff --git a/src/pipewirerecord.cpp b/src/pipewirerecord.cpp -index ac8132e..232bbd6 100644 ---- a/src/pipewirerecord.cpp -+++ b/src/pipewirerecord.cpp -@@ -301,10 +301,14 @@ void PipeWireRecordProduce::setupStream() - m_avCodecContext->height = size.height(); - m_avCodecContext->max_b_frames = 1; - m_avCodecContext->gop_size = 100; -- if (m_codec->pix_fmts && m_codec->pix_fmts[0] > 0) { -- m_avCodecContext->pix_fmt = m_codec->pix_fmts[0]; -+ if (QStringLiteral("magicyuv") == QString::fromUtf8(m_encoder)) { -+ m_avCodecContext->pix_fmt = AV_PIX_FMT_YUV444P; - } else { -- m_avCodecContext->pix_fmt = AV_PIX_FMT_YUV420P; -+ if (m_codec->pix_fmts && m_codec->pix_fmts[0] > 0) { -+ m_avCodecContext->pix_fmt = m_codec->pix_fmts[0]; -+ } else { -+ m_avCodecContext->pix_fmt = AV_PIX_FMT_YUV420P; -+ } - } - m_avCodecContext->time_base = AVRational{1, 1000}; - -@@ -462,7 +466,7 @@ QByteArray PipeWireRecord::encoder() const - - QList<QByteArray> PipeWireRecord::suggestedEncoders() const - { -- QList<QByteArray> ret = {"libvpx", "libx264"}; -+ QList<QByteArray> ret = {"libvpx", "libx264", "magicyuv"}; - std::remove_if(ret.begin(), ret.end(), [](const QByteArray &encoder) { - return !avcodec_find_encoder_by_name(encoder.constData()); - }); --- -2.43.2 - |
