From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id D10234F985 for ; Mon, 23 Jun 2025 20:15:39 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id BF1A168DE23; Mon, 23 Jun 2025 23:15:35 +0300 (EEST) Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.53]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id DA07C68D9F0 for ; Mon, 23 Jun 2025 23:15:29 +0300 (EEST) Received: by mail-wr1-f53.google.com with SMTP id ffacd0b85a97d-3a4e742dc97so3340426f8f.0 for ; Mon, 23 Jun 2025 13:15:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750709728; x=1751314528; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=RBoBMiA5zSuvqNk+LIhgFOkUmQlVnUVfdIAEdSwvHVc=; b=V2WQkZsakzbNR433MRISogH2HqzWqSZjNXvBbKdUagbUZweE/YbA9UIqm4lsjFU+kj 9AUCmGZevvLHwZhNYHnuU+WBpvxOLhe4Xeyroq9U/fby8CNuPngXJgKDFqzReeF0gAkV svdxkD8Ngp2CcKmUouiAjNLDyjLX9toHu4AmSrKvicIHpeWKbYTv2f/3uCM+FKWNw+BK 8XBqugJUA0IZRNL5fm4laU4ghWLTrUMP6WxOkSSEJuPtdicrSUU2T0jRaKbx55u1Hbpk WJzQNuyxLKGFJ2/tgckIIK8OSWJUMXHBTn6cWuOQKCG1PbJnfg51/JqSqfzfa6PN3aV3 Aomw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750709728; x=1751314528; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=RBoBMiA5zSuvqNk+LIhgFOkUmQlVnUVfdIAEdSwvHVc=; b=ZyTqohLdpDz+Itz0ZKwOzwDLQr/5NvJhoMY3T3K/3NUbTsb4hL7HlrczNDRnm1070H HmPwG5jOhtx+90GNNLaNnfNHdPrkD5GyPKFOKWJJ8LfIUotfbB7Aikmd4gJpGGlK6Gkh gqRbTU3zW2iC0cniTQF7Obf5q+Z3ZD+uxDchfg3tYuOMaQX0proevZgHsE4Q+RRji+5P 3CA8pn/EMY4to3iOo9yJKU6g7V9UUW2WksWPrlTa62eej1XV72w7TkK4UWODcj+CHzTf G7aRNPjIh8nVHE1UasfW5rIb9214u5peowz/JdED0Dte2IUmCsDfaWbU7wxpOxfTCbqz XEHg== X-Gm-Message-State: AOJu0YzfQamk26Ml4t5Uq6jLNOsuF3NWjPLuiq91h40lJy0B1VrQpMy1 Rt5ckG+daQXI62qgFIB4SyuMZC9P3ZzpQCZu7O5MGRkS1y6q5XhTf7Lb3HC7Tg== X-Gm-Gg: ASbGncvDTZQGX6RCFRLP73tU3OBzi/2qf/f5AYidWBSKSjDf20F43WnqvK6mmi6klMf mvY7CGRfJtk5Ug4xpG4Lu2os7sjSyWS7a7A/u3JgrBCADIl5tVB9/YmZYSW9PZKVtNYKGrV+K9s mFDwkxNfhR1CUDT4And2QNeL+67G8LAxeo9PrufonqRfeE3p63AvRyJYMNpNjbEMjdO1ubD8/nz KBEd7re50gKnkx4G7KLuXldZA1lbCssv01BDWjPiWOqJ+xC0qEmna2rmq6F56b8EpPwVccmgMLr rbypAxfpftFv+3q6n/Yzr6bHIhgC9qONzEpH59AzWweDbWDdbNnOtW+FbcfrHRvixZhvc4cmmWu goUdEz7R3NVmmh+Cbl4fLdA/whVPxiSg= X-Google-Smtp-Source: AGHT+IEl5Ud11TMEutqcmVf3Yky8UJdx5ASadeaMfNLLj19QaRBp6a1lq0QqHlJDm7OKS+LVRDEpmA== X-Received: by 2002:a05:6000:4024:b0:3a6:d7e6:f281 with SMTP id ffacd0b85a97d-3a6e7206d4fmr687217f8f.22.1750709727863; Mon, 23 Jun 2025 13:15:27 -0700 (PDT) Received: from localhost.localdomain (33bf1e4c.skybroadband.com. [51.191.30.76]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-453646fd74asm119484215e9.22.2025.06.23.13.15.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Jun 2025 13:15:27 -0700 (PDT) From: Derek Buitenhuis To: ffmpeg-devel@ffmpeg.org Date: Mon, 23 Jun 2025 21:15:18 +0100 Message-ID: <20250623201518.45827-1-derek.buitenhuis@gmail.com> X-Mailer: git-send-email 2.49.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] doc: Remove libav-merge.txt X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: He's dead, Jim. Signed-off-by: Derek Buitenhuis --- doc/libav-merge.txt | 115 -------------------------------------------- 1 file changed, 115 deletions(-) delete mode 100644 doc/libav-merge.txt diff --git a/doc/libav-merge.txt b/doc/libav-merge.txt deleted file mode 100644 index bcd0aacba5..0000000000 --- a/doc/libav-merge.txt +++ /dev/null @@ -1,115 +0,0 @@ -CONTEXT -======= - -The FFmpeg project merges all the changes from the Libav project -(https://libav.org) since the origin of the fork (around 2011). - -With the exceptions of some commits due to technical/political disagreements or -issues, the changes are merged on a more or less regular schedule (daily for -years thanks to Michael, but more sparse nowadays). - -WHY -=== - -The majority of the active developers believe the project needs to keep this -policy for various reasons. - -The most important one is that we don't want our users to have to choose -between two distributors of libraries of the exact same name in order to have a -different set of features and bugfixes. By taking the responsibility of -unifying the two codebases, we allow users to benefit from the changes from the -two teams. - -Today, FFmpeg has a much larger user database (we are distributed by every -major distribution), so we consider this mission a priority. - -A different approach to the merge could have been to pick the changes we are -interested in and drop most of the cosmetics and other less important changes. -Unfortunately, this makes the following picks much harder, especially since the -Libav project is involved in various deep API changes. As a result, we decide -to virtually take everything done there. - -Any Libav developer is of course welcome anytime to contribute directly to the -FFmpeg tree. Of course, we fully understand and are forced to accept that very -few Libav developers are interested in doing so, but we still want to recognize -their work. This leads us to create merge commits for every single one from -Libav. The original commit appears totally unchanged with full authorship in -our history (and the conflict are solved in the merge one). That way, not a -single thing from Libav will be lost in the future in case some reunification -happens, or that project disappears one way or another. - -DOWNSIDES -========= - -Of course, there are many downsides to this approach. - -- It causes a non negligible merge commits pollution. We make sure there are - not several level of merges entangled (we do a 1:1 merge/commit), but it's - still a non-linear history. - -- Many duplicated work. For instance, we added libavresample in our tree to - keep compatibility with Libav when our libswresample was already covering the - exact same purpose. The same thing happened for various elements such as the - ProRes support (but differences in features, bugs, licenses, ...). There are - many work to do to unify them, and any help is very much welcome. - -- So much manpower from both FFmpeg and Libav is lost because of this mess. We - know it, and we don't know how to fix it. It takes incredible time to do - these merges, so we have even less time to work on things we personally care - about. The bad vibes also do not help with keeping our developers motivated. - -- There is a growing technical risk factor with the merges due to the codebase - differing more and more. - -MERGE GUIDELINES -================ - -The following gives developer guidelines on how to proceed when merging Libav commits. - -Before starting, you can reduce the risk of errors on merge conflicts by using -a different merge conflict style: - - $ git config --global merge.conflictstyle diff3 - -tools/libav-merge-next-commit is a script to help merging the next commit in -the queue. It assumes a remote named libav. It has two modes: merge, and noop. -The noop mode creates a merge with no change to the HEAD. You can pass a hash -as extra argument to reference a justification (it is common that we already -have the change done in FFmpeg). - -Also see tools/murge, you can copy and paste a 3 way conflict into its stdin -and it will display colored diffs. Any arguments to murge (like ones to suppress -whitespace differences) are passed into colordiff. - -TODO/FIXME/UNMERGED -=================== - -Stuff that didn't reach the codebase: -------------------------------------- - -- HEVC DSP and x86 MC SIMD improvements from Libav (see https://ffmpeg.org/pipermail/ffmpeg-devel/2015-December/184777.html) - - 1f821750f hevcdsp: split the qpel functions by width instead of by the subpixel fraction - - 818bfe7f0 hevcdsp: split the epel functions by width - - 688417399 hevcdsp: split the pred functions by width - - a853388d2 hevc: change the stride of the MC buffer to be in bytes instead of elements - - 0cef06df0 checkasm: add HEVC MC tests - - e7078e842 hevcdsp: add x86 SIMD for MC - - 7993ec19a hevc: Add hevc_get_pixel_4/8/12/16/24/32/48/64 -- use av_cpu_max_align() instead of hardcoding alignment requirements (see https://ffmpeg.org/pipermail/ffmpeg-devel/2017-September/215834.html) - - f44ec22e0 lavc: use av_cpu_max_align() instead of hardcoding alignment requirements - - 4de220d2e frame: allow align=0 (meaning automatic) for av_frame_get_buffer() -- Support recovery from an already present HLS playlist (see 16cb06bb30) -- Remove all output devices (see 8e7e042d41, 8d3db95f20, 6ce13070bd, d46cd24986 and https://ffmpeg.org/pipermail/ffmpeg-devel/2017-September/216904.html) -- avcodec/libaomenc: export the Sequence Header OBU as extradata (See a024c3ce9a) - -Collateral damage that needs work locally: ------------------------------------------- - -- Merge proresenc_anatoliy.c and proresenc_kostya.c -- Fix MIPS AC3 downmix - -Extra changes needed to be aligned with Libav: ----------------------------------------------- - -- Switching our examples to the new encode/decode API (see 67d28f4a0f) -- HEVC IDCT bit depth 12-bit support (Libav added 8 and 10 but doesn't have 12) -- 2.49.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".