Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
3 changes: 3 additions & 0 deletions .github/workflows/release-macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@ jobs:
steps:
- uses: actions/checkout@v6

- name: Install nasm (assembler for the vendored FFmpeg build)
run: brew install nasm

- name: Install Qt6
uses: jurplel/install-qt-action@v4
with:
Expand Down
15 changes: 15 additions & 0 deletions .github/workflows/release-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,20 @@ jobs:
modules: 'qtmultimedia'
tools: 'tools_mingw1310 tools_ifw tools_ninja tools_cmake'

# The vendored FFmpeg builds from source via its own ./configure && make,
# which needs a Unix toolchain. Provide sh/make/nasm from MSYS2 while
# keeping the install-qt-action Qt + mingw1310 toolchain + IFW on PATH
# (path-type: inherit) so FFmpeg is built by the same mingw gcc as Qt.
- name: Setup MSYS2 (sh + make + nasm for the vendored FFmpeg build)
uses: msys2/setup-msys2@v2
with:
msystem: MINGW64
path-type: inherit
update: false
install: >-
make
nasm

- name: Extract version
id: ver
run: echo "version=$(./win/_extract_version.sh)" >> "$GITHUB_OUTPUT"
Expand All @@ -51,6 +65,7 @@ jobs:
echo "ARTIFACT_SUFFIX=-$PV" >> "$GITHUB_ENV"

- name: Build portable + installer
shell: msys2 {0}
env:
QTDIR: ${{ env.QT_ROOT_DIR }}
MPZ_OUTPUT_DIR: ${{ github.workspace }}/dist
Expand Down
20 changes: 10 additions & 10 deletions .omnipackage/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,47 +74,47 @@ deb: &deb
debian_templates: ".omnipackage/deb"

opensuse_qt5: &opensuse_qt5
build_dependencies: [gcc, make, cmake, libqt5-qtbase-devel, libqt5-qtmultimedia-devel, libqt5-qtx11extras-devel]
build_dependencies: [gcc, make, cmake, nasm, libqt5-qtbase-devel, libqt5-qtmultimedia-devel, libqt5-qtx11extras-devel]
runtime_dependencies: [hicolor-icon-theme]
CMAKE_EXTRA_CLI: "-DUSE_QT5=ON"
<<: *rpm

opensuse_qt6: &opensuse_qt6
build_dependencies: [gcc, make, cmake, qt6-base-common-devel, qt6-multimedia-devel, qt6-widgets-devel, qt6-concurrent-devel]
build_dependencies: [gcc, make, cmake, nasm, qt6-base-common-devel, qt6-multimedia-devel, qt6-widgets-devel, qt6-concurrent-devel]
runtime_dependencies: [hicolor-icon-theme]
<<: *rpm

mageia_qt5: &mageia_qt5
build_dependencies:
[gcc, make, cmake, qtbase5-common-devel, lib64qt5core-devel, lib64qt5gui-devel, lib64qt5widgets-devel, lib64qt5concurrent-devel, lib64qt5multimedia-devel, lib64qt5x11extras-devel]
[gcc, make, cmake, nasm, qtbase5-common-devel, lib64qt5core-devel, lib64qt5gui-devel, lib64qt5widgets-devel, lib64qt5concurrent-devel, lib64qt5multimedia-devel, lib64qt5x11extras-devel]
runtime_dependencies: [hicolor-icon-theme]
CMAKE_EXTRA_CLI: "-DUSE_QT5=ON"
<<: *rpm

mageia_qt6: &mageia_qt6
build_dependencies: [gcc, make, cmake, qtbase6-common-devel, lib64qt6core-devel, lib64qt6gui-devel, lib64qt6widgets-devel, lib64qt6concurrent-devel, lib64qt6multimedia-devel]
build_dependencies: [gcc, make, cmake, nasm, qtbase6-common-devel, lib64qt6core-devel, lib64qt6gui-devel, lib64qt6widgets-devel, lib64qt6concurrent-devel, lib64qt6multimedia-devel]
runtime_dependencies: [hicolor-icon-theme]
<<: *rpm

readhat_qt5: &readhat_qt5
build_dependencies: [gcc, make, cmake, qt5-qtbase-devel, qt5-qtmultimedia-devel, qt5-qtx11extras-devel]
build_dependencies: [gcc, make, cmake, nasm, qt5-qtbase-devel, qt5-qtmultimedia-devel, qt5-qtx11extras-devel]
runtime_dependencies: [hicolor-icon-theme]
CMAKE_EXTRA_CLI: "-DUSE_QT5=ON"
<<: *rpm

readhat_qt6: &readhat_qt6
build_dependencies: [gcc, make, cmake, qt6-qtbase-devel, qt6-qtmultimedia-devel]
build_dependencies: [gcc, make, cmake, nasm, qt6-qtbase-devel, qt6-qtmultimedia-devel]
runtime_dependencies: [hicolor-icon-theme]
<<: *rpm

debian_qt5: &debian_qt5
build_dependencies: [gcc, make, cmake, qtbase5-dev-tools, qtchooser, qtbase5-dev, qtmultimedia5-dev, libqt5x11extras5-dev]
build_dependencies: [gcc, make, cmake, nasm, qtbase5-dev-tools, qtchooser, qtbase5-dev, qtmultimedia5-dev, libqt5x11extras5-dev]
runtime_dependencies: [hicolor-icon-theme, libqt5multimedia5-plugins]
CMAKE_EXTRA_CLI: "-DUSE_QT5=ON"
<<: *deb

debian_qt6: &debian_qt6
build_dependencies: [gcc, make, cmake, qt6-tools-dev, qt6-base-dev, qt6-multimedia-dev]
build_dependencies: [gcc, make, cmake, nasm, qt6-tools-dev, qt6-base-dev, qt6-multimedia-dev]
runtime_dependencies: [hicolor-icon-theme]
<<: *deb

Expand All @@ -136,8 +136,8 @@ builds:

- distro: "opensuse_tumbleweed"
<<: *opensuse_qt6
CMAKE_EXTRA_CLI: "-DUSE_SYSTEM_TAGLIB=ON -DUSE_SYSTEM_YAMLCPP=ON -DUSE_SYSTEM_LIBMPDCLIENT=ON"
build_dependencies: [gcc, make, cmake, qt6-base-common-devel, qt6-multimedia-devel, qt6-widgets-devel, qt6-concurrent-devel, libtag-devel, yaml-cpp-devel, libmpdclient-devel]
CMAKE_EXTRA_CLI: "-DUSE_SYSTEM_TAGLIB=ON -DUSE_SYSTEM_YAMLCPP=ON -DUSE_SYSTEM_LIBMPDCLIENT=ON -DUSE_SYSTEM_FFMPEG=ON"
build_dependencies: [gcc, make, cmake, nasm, qt6-base-common-devel, qt6-multimedia-devel, qt6-widgets-devel, qt6-concurrent-devel, libtag-devel, yaml-cpp-devel, libmpdclient-devel]

- distro: "debian_11"
<<: *debian_qt5
Expand Down
238 changes: 238 additions & 0 deletions 3rdparty/ffmpeg-8.1.1/.forgejo/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,238 @@
# This file describes the expected reviewers for a PR based on the changed
# files. Unlike what the name of the file suggests they don't own the code, but
# merely have a good understanding of that area of the codebase and therefore
# are usually suited as a reviewer.

# Lines in this file match changed paths via Go-Style regular expressions:
# https://pkg.go.dev/regexp/syntax

# Mind the alphabetical order

# avcodec
# =======
libavcodec/.*aac.* @lynne
libavcodec/.*ac3.* @lynne
libavcodec/.*adpcm.* @zane @pross
libavcodec/anm.* @pross
libavcodec/amf.* @OvchinnikovDmitrii @ArazIusubov
libavcodec/ansi.* @pross
libavcodec/aom_film_grain.* @haasn
libavcodec/.*atrac9.* @lynne
libavcodec/bink.* @pross
libavcodec/bintext.* @pross
libavcodec/.*bitpacked.* @lynne
libavcodec/.*d3d12va.* @jianhuaw @tong1wu @younengxiao
libavcodec/.*dirac.* @lynne
libavcodec/.*dovi_rpu.* @haasn
libavcodec/dpx.* @pross
libavcodec/dsd.* @pross
libavcodec/eacmv.* @pross
libavcodec/eaidct.* @pross
libavcodec/eamad.* @pross
libavcodec/eat.* @pross
libavcodec/.*exif.* @Traneptora
libavcodec/.*ffv1.* @lynne @michaelni
libavcodec/g728.* @pross
libavcodec/gem.* @pross
libavcodec/golomb.* @michaelni
libavcodec/.*h266.* @frankplow @NuoMi @jianhuaw
libavcodec/h26x/.* @frankplow @NuoMi @jianhuaw
libavcodec/.*h274.* @haasn
libavcodec/iff.* @pross
libavcodec/.*jpegxl.* @lynne @Traneptora
libavcodec/jpeg2000htdec.* @cae
libavcodec/jv.* @pross
libavcodec/.*jxl.* @lynne @Traneptora
libavcodec/.*lcms2.* @haasn
libavcodec/lead.* @pross
libavcodec/mediacodec* @quink
libavcodec/mjpeg* @michaelni
libavcodec/mmvideo.* @pross
libavcodec/msp2.* @pross
libavcodec/mvc.* @pross
libavcodec/oh* @quink
libavcodec/.*opus.* @lynne
libavcodec/pictor.* @pross
libavcodec/.*png.* @Traneptora
libavcodec/.*prores.* @lynne
libavcodec/rangecoder.* @michaelni
libavcodec/ratecontrol.* @michaelni
libavcodec/rv60.* @pross
libavcodec/sgirle.* @pross
libavcodec/.*siren.* @lynne
libavcodec/smpte_436m.* @programmerjake
libavcodec/svq1.* @pross
libavcodec/svq3.* @pross
libavcodec/.*vc2.* @lynne
libavcodec/videotoolbox.* @ePirat
libavcodec/vp3.* @pross
libavcodec/vp4.* @pross
libavcodec/vp5.* @pross
libavcodec/vp6.* @pross
libavcodec/vp8.* @rbultje @pross
libavcodec/vp9.* @rbultje
libavcodec/vpx.* @rbultje @pross
libavcodec/vqc.* @pross
libavcodec/.*vvc.* @frankplow @NuoMi @jianhuaw
libavcodec/wmavoice.* @rbultje
libavcodec/wbmp.* @pross

# bitstream filters
libavcodec/bsf/eia608_to_smpte436m.* @programmerjake
libavcodec/bsf/smpte436m_to_eia608.* @programmerjake

# architecture-specific
libavcodec/aarch64/.* @lynne @mstorsjo
libavcodec/arm/.* @mstorsjo
libavcodec/ppc/.* @sean_mcg
libavcodec/riscv/.* @Courmisch
libavcodec/wasm/hevc/.* @quink
libavcodec/x86/.* @lynne
libavcodec/x86/vp8.* @rbultje
libavcodec/x86/vp9.* @rbultje
libavcodec/x86/vpx.* @rbultje

# avfilter
# =======
libavfilter/af_loudnorm.* @kylophone
libavfilter/af_whisper.* @vpalmisano
libavfilter/.*_amf* @OvchinnikovDmitrii @ArazIusubov
libavfilter/avfiltergraph.* @haasn
libavfilter/colorspace.* @rbultje
libavfilter/formats.* @haasn
libavfilter/.*f_ebur128.* @haasn
libavfilter/vf_blackdetect.* @haasn
libavfilter/vf_colordetect.* @haasn
libavfilter/vf_colorspace.* @rbultje
libavfilter/.*drawvg.* @ayosec
libavfilter/vf_find_rect.* @michaelni
libavfilter/vf_icc.* @haasn
libavfilter/vf_libplacebo.* @haasn
libavfilter/vf_libvmaf.* @kylophone
libavfilter/vf_premultiply.* @haasn
libavfilter/vf_scale.* @haasn
libavfilter/vf_scale_vt.* @quink
libavfilter/vf_thumbnail.* @haasn
libavfilter/vf_transpose_vt.* @quink
libavfilter/vf_yadif.* @michaelni
libavfilter/vsrc_mandelbrot.* @michaelni

libavfilter/aarch64/.* @mstorsjo
libavfilter/riscv/.* @Courmisch
libavfilter/x86/colorspace.* @rbultje
libavfilter/x86/scene_sad.* @haasn

# avformat
# =======
libavformat/alp.* @zane
libavformat/amv.* @zane
libavformat/anm.* @pross
libavformat/apm.* @zane
libavformat/argo_.* @zane
libavformat/bink.* @pross
libavformat/bintext.* @pross
libavformat/caf.* @pross
libavformat/cine.* @pross
libavformat/dsf.* @pross
libavformat/eacdata.* @pross
libavformat/electronicarts.* @pross
libavformat/.*exif.* @Traneptora
libavformat/filmstrip.* @pross
libavformat/frm.* @pross
libavformat/iamf.* @jamrial
libavformat/icecast.c @ePirat
libavformat/ico.* @pross
libavformat/iff.* @pross
libavformat/.*jpegxl.* @Traneptora
libavformat/jv.* @pross
libavformat/.*jxl.* @Traneptora
libavformat/kvag.* @zane
libavformat/mccdec.* @programmerjake
libavformat/mccenc.* @programmerjake
libavformat/mlv.* @pross
libavformat/mm.* @pross
libavformat/msp.* @pross
libavformat/mv.* @pross
libavformat/pp_bnk.* @zane
libavformat/rm.* @pross
libavformat/sauce.* @pross
libavformat/scd.* @zane
libavformat/tty.* @pross
libavformat/whip.c @JackLau
libavformat/wsd.* @pross
libavformat/wtv.* @pross

# avutil
# ======
libavutil/.*_amf* @OvchinnikovDmitrii @ArazIusubov
libavutil/.*crc.* @lynne @michaelni
libavutil/.*d3d12va.* @jianhuaw @tong1wu @younengxiao
libavutil/csp.* @rbultje @haasn
libavutil/eval.* @michaelni
libavutil/film_grain.* @haasn
libavutil/dovi_meta.* @haasn
libavutil/hwcontext_oh.* @quink
libavutil/hwcontext_mediacodec.* @quink
libavutil/hwcontext_videotoolbox.* @ePirat
libavutil/iamf.* @jamrial
libavutil/integer.* @michaelni
libavutil/lfg.* @michaelni
libavutil/lls.* @michaelni
libavutil/md5.* @michaelni
libavutil/mathematics.* @michaelni
libavutil/mem.* @michaelni
libavutil/qsort.* @michaelni
libavutil/random_seed.* @michaelni
libavutil/rational.* @michaelni
libavutil/sfc.* @michaelni
libavutil/softfloat.* @michaelni
libavutil/tree.* @michaelni
libavutil/tx.* @lynne

libavutil/aarch64/.* @lynne @mstorsjo
libavutil/arm/.* @mstorsjo
libavutil/ppc/.* @sean_mcg
libavutil/riscv/.* @Courmisch
libavutil/x86/.* @lynne

# swresample
# =======
libswresample/aarch64/.* @mstorsjo
libswresample/arm/.* @mstorsjo
libswresample/.* @michaelni

# swscale
# =======
libswscale/aarch64/.* @mstorsjo
libswscale/arm/.* @mstorsjo
libswscale/ppc/.* @sean_mcg
libswscale/riscv/.* @Courmisch
libswscale/.* @haasn

# tools
# =====
fftools/ffplay_renderer.* @haasn
tools/target_dec_fuzzer.c @michaelni

# doc
# ===
doc/.* @GyanD

# Frameworks
# ==========
.*d3d12va.* @jianhuaw @tong1wu @younengxiao
.*vulkan.* @lynne @haasn

# tests
# =====
tests/checkasm/riscv/.* @Courmisch
tests/ref/.*drawvg.* @ayosec
tests/ref/fate/sub-mcc.* @programmerjake

# Forgejo
# =======
.forgejo/CODEOWNERS @michaelni

# /
# =
MAINTAINERS @michaelni
9 changes: 9 additions & 0 deletions 3rdparty/ffmpeg-8.1.1/.forgejo/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Summary of the bug

Briefly describe the issue you're experiencing. Include any error messages, unexpected behavior, or relevant observations.

# Steps to reproduce

List the steps required to trigger the bug.
Include the exact CLI command used, if any.
Provide sample input files, logs, or scripts if available.
Loading
Loading