# FFmpeg headers for MuseScore

Minimal set of FFmpeg header files for MuseScore video export.
Each folder contains headers from the corresponding FFmpeg version, copied as-is from the official FFmpeg source.

- **v4** — from FFmpeg n4.4
- **v5** — from FFmpeg n5.1
- **v6** — from FFmpeg n6.1
- **v7** — from FFmpeg n7.0
- **v8** — from FFmpeg n8.0

Components: libavcodec, libavformat, libavutil, libswscale.

Note: `avconfig.h` is generated by FFmpeg's configure and not in the source tree; a minimal version is provided for little-endian systems.

## Updating headers

To download FFmpeg headers, run the script from the MuseScore repository root:

```bash
./src/framework/media/thirdparty/ffmpeg/download_ffmpeg_headers.sh
```

or:

```bash
bash src/framework/media/thirdparty/ffmpeg/download_ffmpeg_headers.sh
```

The script will:
1. Clone FFmpeg (sparse checkout)
2. For each version (4–8), checkout the corresponding tag and copy required headers to `vN`
3. Add `avconfig.h` (generated by configure, not present in source)
4. Remove the temporary FFmpeg clone

Requirements: git, python3.
