PR #22844 opened by arienshibani
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/22844
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/22844.patch

# Summary

Documentation-only changes that normalize heading levels, add missing top-level 
titles where required, and fix spacing after headings so these files match 
common Markdown conventions (including markdownlint rules MD003, MD022, MD025, 
MD033, and MD041).

## Motivation

- **Accessibility**: Predictable heading structure helps people who navigate by 
headings (including many screen reader users). This does not change FFmpeg 
behavior or APIs.
- **Consistent hierarchy**: A single clear H1 and nested `##` / `###` sections 
make long docs (e.g. `doc/transforms.md`, `INSTALL.md`) easier to scan in the 
Forgejo UI and in editors.
- **Tooling / CI**: Reduces noise from Markdown linters and keeps style aligned 
with typical open-source doc standards.

### Files touched
| Area | Change |
|------|--------|
| `README.md` | ATX-style top heading (MD003) |
| `INSTALL.md` | Top-level title (MD041), NOTICE sections as `##`, list 
formatting |
| `CONTRIBUTING.md` | Blank line after heading (MD022) |
| `doc/transforms.md` | Document title + section heading levels and spacing |
| `.forgejo/ISSUE_TEMPLATE.md` | Single H1; “Steps to reproduce” as `##` 
(MD025) |

### Testing
Rendered the Markdown locally / in the Forgejo preview; no code or build 
impact. I’m happy to adjust commit granularity or message style if maintainers 
prefer a different convention.


From b74b44b38343faa874920f124130249d4876677c Mon Sep 17 00:00:00 2001
From: Arien Shibani <[email protected]>
Date: Fri, 17 Apr 2026 10:53:07 +0200
Subject: [PATCH 1/5] =?UTF-8?q?docs(README.md):=20=E2=9C=8D=EF=B8=8F=20=20?=
 =?UTF-8?q?Fix=20MD003=20Violation=20in=20README.md?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 README.md | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/README.md b/README.md
index f8c23f2870..cb2acb1ef0 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,4 @@
-FFmpeg README
-=============
+# FFmpeg README
 
 FFmpeg is a collection of libraries and tools to process multimedia content
 such as audio, video, subtitles and related metadata.
-- 
2.52.0


From 101081c18527ae9f71880191371fe42a734520fb Mon Sep 17 00:00:00 2001
From: Arien Shibani <[email protected]>
Date: Fri, 17 Apr 2026 10:56:36 +0200
Subject: [PATCH 2/5] =?UTF-8?q?docs(INSTALL.md):=20=E2=9C=8D=EF=B8=8F=20Fi?=
 =?UTF-8?q?x=20MD041=20Violations.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

First line in a file should always be a top-level heading. Certain screen 
readers rely on propper heading structures to help users navigate content.
---
 INSTALL.md | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/INSTALL.md b/INSTALL.md
index 5b98b45d88..0a9e6c03bc 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -1,4 +1,4 @@
-## Installing FFmpeg
+# Installing FFmpeg
 
 0. If you like to include source plugins, merge them before configure
 for example run tools/merge-all-source-plugins
@@ -14,15 +14,11 @@ path when launching `configure`, e.g. 
`/ffmpegdir/ffmpeg/configure`.
 
 3. Type `make install` to install all binaries and libraries you built.
 
-NOTICE
-------
+## NOTICE
 
- - Non system dependencies (e.g. libx264, libvpx) are disabled by default.
+- Non system dependencies (e.g. libx264, libvpx) are disabled by default.
 
-NOTICE for Package Maintainers
-------------------------------
+## NOTICE for Package Maintainers
 
- - It is recommended to build FFmpeg twice, first with minimal external 
dependencies so
-   that 3rd party packages, which depend on FFmpegs 
libavutil/libavfilter/libavcodec/libavformat
-   can then be built. And last build FFmpeg with full dependencies (which may 
in turn depend on
-   some of these 3rd party packages). This avoids circular dependencies during 
build.
+- It is recommended to build FFmpeg twice, first with minimal external 
dependencies so that 3rd party packages, which depend on FFmpegs 
libavutil/libavfilter/libavcodec/libavformat
+can then be built. And last build FFmpeg with full dependencies (which may in 
turn depend on some of these 3rd party packages). This avoids circular 
dependencies during build.
-- 
2.52.0


From 943714538a036b0f14c1847b52e9158f49d2b887 Mon Sep 17 00:00:00 2001
From: Arien Shibani <[email protected]>
Date: Fri, 17 Apr 2026 11:00:37 +0200
Subject: [PATCH 3/5] =?UTF-8?q?docs(transforms.md):=20=E2=9C=8D=EF=B8=8F?=
 =?UTF-8?q?=20Fix=20MD041=20+=20MD022=20+=20MD033=20Violations?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

- First line in a file should always be a top-level heading.

- Aside from aesthetic reasons, some parsers, including kramdown, will not 
parse headings that don't have a blank line before, and will parse them as 
regular text.
---
 doc/transforms.md | 26 +++++++++++++++++---------
 1 file changed, 17 insertions(+), 9 deletions(-)

diff --git a/doc/transforms.md b/doc/transforms.md
index 04a7c408f1..f671f92434 100644
--- a/doc/transforms.md
+++ b/doc/transforms.md
@@ -1,14 +1,17 @@
-The basis transforms used for FFT and various other derived functions are based
-on the following unrollings.
+# Transforms
+
+The basis transforms used for FFT and various other derived functions are 
based on the following unrollings.
 The functions can be easily adapted to double precision floats as well.
 
-# Parity permutation
+## Parity permutation
+
 The basis transforms described here all use the following permutation:
 
 ``` C
 void ff_tx_gen_split_radix_parity_revtab(int *revtab, int len, int inv,
                                          int basis, int dual_stride);
 ```
+
 Parity means even and odd complex numbers will be split, e.g. the even
 coefficients will come first, after which the odd coefficients will be
 placed. For example, a 4-point transform's coefficients after reordering:
@@ -33,7 +36,8 @@ register or 0. This allows to reuse SSE functions as 
dual-transform
 functions in AVX mode.
 If length is smaller than basis/2 this function will not do anything.
 
-# 4-point FFT transform
+## 4-point FFT transform
+
 The only permutation this transform needs is to swap the `z[1]` and `z[2]`
 elements when performing an inverse transform, which in the assembly code is
 hardcoded with the function itself being templated and duplicated for each
@@ -80,7 +84,8 @@ static void fft4(FFTComplex *z)
 }
 ```
 
-# 8-point AVX FFT transform
+## 8-point AVX FFT transform
+
 Input must be pre-permuted using the parity lookup table, generated via
 `ff_tx_gen_split_radix_parity_revtab`.
 
@@ -193,7 +198,8 @@ This theme continues throughout the document. Note that in 
the actual assembly c
 the paths are interleaved to improve unit saturation and CPU dependency 
tracking, so
 to more clearly see them, you'll need to deinterleave the instructions.
 
-# 8-point SSE/ARM64 FFT transform
+## 8-point SSE/ARM64 FFT transform
+
 Input must be pre-permuted using the parity lookup table, generated via
 `ff_tx_gen_split_radix_parity_revtab`.
 
@@ -305,7 +311,8 @@ static void fft8(FFTComplex *z)
 Most functions here are highly tuned to use x86's addsub instruction to save on
 external sign mask loading.
 
-# 16-point AVX FFT transform
+## 16-point AVX FFT transform
+
 This version expects the output of the 8 and 4-point transforms to follow the
 even/odd convention established above.
 
@@ -445,7 +452,8 @@ static void fft16(FFTComplex *z)
 }
 ```
 
-# AVX split-radix synthesis
+## AVX split-radix synthesis
+
 To create larger transforms, the following unrolling of the C split-radix
 function is used.
 
@@ -705,8 +713,8 @@ beginning to overlap, particularly `[o1]` with `[0]` after 
the second iteration.
 To iterate further, set `z = &z[16]` via `z += 8` for the second iteration. 
After
 the 4th iteration, the layout resets, so repeat the same.
 
+## 15-point AVX FFT transform
 
-# 15-point AVX FFT transform
 The 15-point transform is based on the following unrolling. The input
 must be permuted via the following loop:
 
-- 
2.52.0


From 168745d289c7f76df889bd5dbaa379ca3154f350 Mon Sep 17 00:00:00 2001
From: Arien Shibani <[email protected]>
Date: Fri, 17 Apr 2026 11:02:00 +0200
Subject: [PATCH 4/5] =?UTF-8?q?docs(ISSUE=5FTEMPLATE.md):=20=E2=9C=8D?=
 =?UTF-8?q?=EF=B8=8F=20Fix=20MD025=20Violation.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Improves accessibility. Multiple top level headings can confuse screen readers.
---
 .forgejo/ISSUE_TEMPLATE.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.forgejo/ISSUE_TEMPLATE.md b/.forgejo/ISSUE_TEMPLATE.md
index d58e832b73..725d1175be 100644
--- a/.forgejo/ISSUE_TEMPLATE.md
+++ b/.forgejo/ISSUE_TEMPLATE.md
@@ -2,7 +2,7 @@
 
 Briefly describe the issue you're experiencing. Include any error messages, 
unexpected behavior, or relevant observations.
 
-# Steps to reproduce
+## Steps to reproduce
 
 List the steps required to trigger the bug.
 Include the exact CLI command used, if any.
-- 
2.52.0


From f361a79ae9317a8e76efcbbebd881d8003a7b84f Mon Sep 17 00:00:00 2001
From: Arien Shibani <[email protected]>
Date: Fri, 17 Apr 2026 11:02:53 +0200
Subject: [PATCH 5/5] =?UTF-8?q?docs(CONTRIBUTING.md):=20=E2=9C=8D=EF=B8=8F?=
 =?UTF-8?q?=20Fix=20MD022=20Violation.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 CONTRIBUTING.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 426f02f34d..c293aae368 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,4 +1,5 @@
 # Note to Github users
+
 Patches should be submitted to 
[Forgejo](https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls) or the [ffmpeg-devel 
mailing list](https://ffmpeg.org/mailman/listinfo/ffmpeg-devel) using `git 
format-patch` or `git send-email`. Github pull requests should be avoided 
because they are not part of our review process and **will be ignored**.
 
 See 
[https://ffmpeg.org/developer.html#Contributing](https://ffmpeg.org/developer.html#Contributing)
 for more information.
-- 
2.52.0

_______________________________________________
ffmpeg-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to