Patch 050
doesn't apply for me - removing it from prepare lets everything build as expected.
Search Criteria
Package Details: ffmpeg-amd-full-git 7.2.r117451.g0f5592cfc7-1
Package Actions
Git Clone URL: | https://aur.archlinux.org/ffmpeg-amd-full-git.git (read-only, click to copy) |
---|---|
Package Base: | ffmpeg-amd-full-git |
Description: | Complete solution to record, convert and stream audio and video (all possible features for AMD; git version) |
Upstream URL: | https://www.ffmpeg.org/ |
Keywords: | audio codec convert encoder media svt video |
Licenses: | LicenseRef-nonfree-and-unredistributable |
Conflicts: | ffmpeg |
Provides: | ffmpeg, ffmpeg-full, ffmpeg-full-git, ffmpeg-git, libavcodec.so, libavdevice.so, libavfilter.so, libavformat.so, libavutil.so, libpostproc.so, libswresample.so, libswscale.so |
Submitter: | clap22 |
Maintainer: | nathanielcwm |
Last Packager: | nathanielcwm |
Votes: | 14 |
Popularity: | 0.197460 |
First Submitted: | 2018-11-20 15:20 (UTC) |
Last Updated: | 2024-10-10 14:08 (UTC) |
Dependencies (126)
- alsa-lib
- aom (aom-vmaf-gitAUR, aom-gitAUR, aom-av1-lavish-gitAUR)
- aribb24 (aribb24-gitAUR)
- avisynthplus (avisynthplus-gitAUR)
- bzip2 (bzip2-gitAUR)
- cairo (cairo-gitAUR)
- celtAUR (celt-gitAUR)
- chromaprint-fftwAUR
- codec2 (codec2-gitAUR, codec2-lpcnetAUR)
- dav1d (dav1d-gitAUR)
- davs2AUR (davs2-gitAUR)
- flite1AUR
- fontconfig (fontconfig-gitAUR, fontconfig-ubuntuAUR)
- freetype2 (freetype2-qdoledAUR, freetype2-macosAUR, freetype2-gitAUR)
- frei0r-plugins (frei0r-plugins-gitAUR)
- fribidi (fribidi-gitAUR)
- glib2 (glib2-gitAUR, glib2-selinuxAUR, glib2-patched-thumbnailerAUR)
- glslang (glslang-gitAUR, glslang-minimal-gitAUR)
- gmp (gmp-hgAUR)
- gnutls (gnutls-gitAUR)
- Show 106 more dependencies...
Required by (1888)
- 0wgram (requires ffmpeg)
- 2h4u (requires ffmpeg) (make)
- 3ncode-git (requires ffmpeg)
- 48tools (requires ffmpeg)
- 64gram-desktop (requires ffmpeg)
- aaxtomp3 (requires ffmpeg)
- aaxtomp3-git (requires ffmpeg)
- ab-av1 (requires ffmpeg)
- abyss-engine-git (requires ffmpeg)
- aconcat (requires ffmpeg)
- adlmidi-git (requires ffmpeg) (optional)
- aegisub-arch1t3cht (requires ffmpeg)
- aegisub-arch1t3cht-git (requires ffmpeg)
- aegisub-arch1t3cht-qt5-git (requires ffmpeg)
- aegisub-japan7-git (requires ffmpeg)
- airsonic-advanced-git (requires ffmpeg) (optional)
- airsonic-git (requires ffmpeg) (optional)
- akkoma (requires ffmpeg) (optional)
- akkoma-bin (requires ffmpeg) (optional)
- akkoma-git (requires ffmpeg) (optional)
- Show 1868 more...
Sources (8)
- 010-ffmpeg-add-svt-hevc-ged80959.patch
- 020-ffmpeg-add-svt-hevc-docs-ged80959.patch
- 030-ffmpeg-add-svt-vp9-g3b9a3fa.patch
- 031-ffmpeg-add-svt-vp9.patch
- 040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch
- 050-ffmpeg-fix-segfault-with-avisynthplus.patch
- git+https://git.ffmpeg.org/ffmpeg.git
- LICENSE
Insprill commented on 2024-08-24 15:40 (UTC) (edited on 2024-08-24 15:41 (UTC) by Insprill)
scjet commented on 2024-06-20 02:32 (UTC) (edited on 2024-06-20 02:41 (UTC) by scjet)
Grabbed the latest ffmpeg-snapshot.tar.bz2 and dependencies -(some from arch official and some from AUR) and compiled the main encoders/decoders from ffmpeg's compilation web guide. So now I have a working ffmpeg7 in Arch.
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --pkg-config-flags="--static" --extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib" --extra-libs="-lpthread -lm" --ld="g++" --bindir="$HOME/bin" --enable-gpl --enable-openssl --enable-libaom --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libdav1d --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree --enable-libpulse --enable-chromaprint --enable-frei0r --enable-libbluray --enable-libbs2b --enable-libcdio --enable-librubberband --enable-libspeex --enable-libtheora --enable-libfontconfig --enable-libfribidi --enable-libxml2 --enable-libxvid --enable-version3 --enable-libvidstab --enable-libcaca --enable-libopenmpt --enable-libgme --enable-opengl --enable-librav1e --enable-libsvtav1 --enable-libsnappy --enable-libshine --enable-libtwolame --enable-libvo-amrwbenc --enable-libsoxr --enable-ladspa --enable-libvmaf && PATH="$HOME/bin:$PATH" make -j$(nproc) && make install && hash -r
./ffmpeg -version
ffmpeg version N-115881-g0ae157b360 [2024-06-19] [7.0.git] Copyright (c) 2000-2024 the FFmpeg developers
built with gcc 14.1.1 (GCC) 20240522
configuration: --prefix=/home/duh/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/duh/ffmpeg_build/include --extra-ldflags=-L/home/duh/ffmpeg_build/lib --extra-libs='-lpthread -lm' --ld=g++ --bindir=/home/duh/bin --enable-gpl --enable-openssl --enable-libaom --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libdav1d --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree --enable-libpulse --enable-chromaprint --enable-frei0r --enable-libbluray --enable-libbs2b --enable-libcdio --enable-librubberband --enable-libspeex --enable-libtheora --enable-libfontconfig --enable-libfribidi --enable-libxml2 --enable-libxvid --enable-version3 --enable-libvidstab --enable-libcaca --enable-libopenmpt --enable-libgme --enable-opengl --enable-librav1e --enable-libsvtav1 --enable-libsnappy --enable-libshine --enable-libtwolame --enable-libvo-amrwbenc --enable-libsoxr --enable-ladspa --enable-libvmaf
libavutil 59. 24.100 / 59. 24.100
libavcodec 61. 8.100 / 61. 8.100
libavformat 61. 3.104 / 61. 3.104
libavdevice 61. 2.100 / 61. 2.100
libavfilter 10. 2.102 / 10. 2.102
libswscale 8. 2.100 / 8. 2.100
libswresample 5. 2.100 / 5. 2.100
libpostproc 58. 2.100 / 58. 2.100
./x265 --version
x265 [info]: HEVC encoder version 3.6+27-8787e8702
x265 [info]: build info [Linux][GCC 14.1.1][64 bit] 8bit+10bit+12bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
...
scjet commented on 2024-06-19 07:24 (UTC) (edited on 2024-06-19 08:30 (UTC) by scjet)
- I installed the quirc-git, and vulkan-headers as dependencies, but it still failed:
AUR Explicit (1): ffmpeg-amd-full-git-7.1.r115820.g959cb2e2e3-1
:: PKGBUILD up to date, skipping download: ffmpeg-amd-full-git
1 ffmpeg-amd-full-git (Build Files Exist)
==> Packages to cleanBuild?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==>
1 ffmpeg-amd-full-git (Build Files Exist)
==> Diffs to show?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==>
==> Making package: ffmpeg-amd-full-git 7.1.r115820.g959cb2e2e3-1 (Wed 19 Jun 2024 03:02:14 AM EDT)
==> Retrieving sources...
-> Updating ffmpeg git repo...
-> Found 010-ffmpeg-add-svt-hevc-ged80959.patch
-> Found 020-ffmpeg-add-svt-hevc-docs-ged80959.patch
-> Found 030-ffmpeg-add-svt-vp9-g3b9a3fa.patch
-> Found 040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch
-> Found 050-ffmpeg-fix-segfault-with-avisynthplus.patch
-> Found LICENSE
==> WARNING: Skipping verification of source file PGP signatures.
==> Validating source files with sha256sums...
ffmpeg ... Skipped
010-ffmpeg-add-svt-hevc-ged80959.patch ... Passed
020-ffmpeg-add-svt-hevc-docs-ged80959.patch ... Passed
030-ffmpeg-add-svt-vp9-g3b9a3fa.patch ... Passed
040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch ... Passed
050-ffmpeg-fix-segfault-with-avisynthplus.patch ... Passed
LICENSE ... Passed
:: (1/1) Parsing SRCINFO: ffmpeg-amd-full-git
==> Making package: ffmpeg-amd-full-git 7.1.r115820.g959cb2e2e3-1 (Wed 19 Jun 2024 03:02:15 AM EDT)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Updating ffmpeg git repo...
-> Found 010-ffmpeg-add-svt-hevc-ged80959.patch
-> Found 020-ffmpeg-add-svt-hevc-docs-ged80959.patch
-> Found 030-ffmpeg-add-svt-vp9-g3b9a3fa.patch
-> Found 040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch
-> Found 050-ffmpeg-fix-segfault-with-avisynthplus.patch
-> Found LICENSE
==> Validating source files with sha256sums...
ffmpeg ... Skipped
010-ffmpeg-add-svt-hevc-ged80959.patch ... Passed
020-ffmpeg-add-svt-hevc-docs-ged80959.patch ... Passed
030-ffmpeg-add-svt-vp9-g3b9a3fa.patch ... Passed
040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch ... Passed
050-ffmpeg-fix-segfault-with-avisynthplus.patch ... Passed
LICENSE ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
-> Creating working copy of ffmpeg git repo...
Cloning into 'ffmpeg'...
done.
==> Starting prepare()...
patching file configure
Hunk #1 succeeded at 336 (offset 3 lines).
Hunk #2 succeeded at 1958 (offset 4 lines).
Hunk #3 succeeded at 3578 (offset 24 lines).
Hunk #4 succeeded at 6955 (offset 1 line).
patching file libavcodec/Makefile
Hunk #1 succeeded at 1156 (offset 2 lines).
patching file libavcodec/allcodecs.c
Hunk #1 succeeded at 814 (offset -6 lines).
patching file libavcodec/libsvt_hevc.c
patching file doc/encoders.texi
Hunk #1 succeeded at 2035 (offset 151 lines).
patching file doc/general_contents.texi
Hunk #1 succeeded at 282 (offset 15 lines).
patching file configure
Hunk #1 FAILED at 292.
Hunk #2 succeeded at 1952 (offset 4 lines).
Hunk #3 FAILED at 3538.
Hunk #4 FAILED at 6996.
3 out of 4 hunks FAILED -- saving rejects to file configure.rej
patching file libavcodec/Makefile
Hunk #1 FAILED at 1149.
1 out of 1 hunk FAILED -- saving rejects to file libavcodec/Makefile.rej
patching file libavcodec/allcodecs.c
Hunk #1 FAILED at 799.
1 out of 1 hunk FAILED -- saving rejects to file libavcodec/allcodecs.c.rej
patching file libavcodec/libsvt_vp9.c
==> ERROR: A failure occurred in prepare().
Aborting...
-> error making: ffmpeg-amd-full-git-exit status 4
-> Failed to install the following packages. Manual intervention is required:
ffmpeg-amd-full-git - exit status 4
OzzyHelix commented on 2024-06-12 22:19 (UTC)
I fail to build this I get
error: libquirc not found
xz-dev commented on 2024-04-10 02:11 (UTC)
vulkan-headers's bug also see: https://forums.gentoo.org/viewtopic-p-8822966.html?sid=9a4311a8107289fafa28eaf0cebff8b1 and https://bugs.gentoo.org/928593
veganvelociraptr commented on 2024-03-02 10:38 (UTC)
I found the culprit, it's because I had (perhaps an older) vulkan-headers-git package installed, instead of vulkan-headers.
veganvelociraptr commented on 2024-02-14 19:54 (UTC)
This occurs on both packages ffmpeg-amd-full and ffmpeg-amd-full-git:
In file included from libavcodec/vulkan_decode.c:21:
libavcodec/vulkan_decode.h:31:5: error: unknown type name 'VkVideoDecodeAV1ProfileInfoMESA'
31 | VkVideoDecodeAV1ProfileInfoMESA av1_profile;
| ^
CC libavcodec/vvc/vvc_filter.o
libavcodec/vulkan_decode.c: In function 'get_video_profile':
libavcodec/vulkan_decode.c:53:40: error: 'VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_MESA' undeclared (first use in this function); did you mean 'VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_KHR'?
53 | codec_id == AV_CODEC_ID_AV1 ? VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_MESA :
| ^~
| VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_KHR
libavcodec/vulkan_decode.c:53:40: note: each undeclared identifier is reported only once for each function it appears in
In file included from libavcodec/vulkan_av1.c:21:
libavcodec/vulkan_decode.h:31:5: error: unknown type name 'VkVideoDecodeAV1ProfileInfoMESA'
31 | VkVideoDecodeAV1ProfileInfoMESA av1_profile;
| ^
libavcodec/vulkan_av1.c:38:5: error: unknown type name 'StdVideoAV1MESATile'
38 | StdVideoAV1MESATile tiles[MAX_TILES];
| ^
libavcodec/vulkan_av1.c:39:5: error: unknown type name 'StdVideoAV1MESATileList'
39 | StdVideoAV1MESATileList tile_list;
| ^
libavcodec/vulkan_av1.c:43:5: error: unknown type name 'VkVideoDecodeAV1DpbSlotInfoMESA'
43 | VkVideoDecodeAV1DpbSlotInfoMESA vkav1_ref;
| ^
libavcodec/vulkan_av1.c:44:5: error: unknown type name 'StdVideoAV1MESAFrameHeader'
44 | StdVideoAV1MESAFrameHeader av1_frame_header;
| ^~
libavcodec/vulkan_av1.c:45:5: error: unknown type name 'VkVideoDecodeAV1PictureInfoMESA'
45 | VkVideoDecodeAV1PictureInfoMESA av1_pic_info;
| ^
libavcodec/vulkan_av1.c:49:5: error: unknown type name 'VkVideoDecodeAV1DpbSlotInfoMESA'
49 | VkVideoDecodeAV1DpbSlotInfoMESA vkav1_refs[AV1_NUM_REF_FRAMES];
| ^
In file included from libavcodec/vulkan_hevc.c:23:
libavcodec/vulkan_decode.h:31:5: error: unknown type name 'VkVideoDecodeAV1ProfileInfoMESA'
31 | VkVideoDecodeAV1ProfileInfoMESA av1_profile;
| ^
libavcodec/vulkan_decode.c: At top level:
libavcodec/vulkan_decode.c:666:38: error: unknown type name 'VkVideoDecodeAV1CapabilitiesMESA'; did you mean 'VkVideoDecodeAV1CapabilitiesKHR'?
666 | VkVideoDecodeAV1CapabilitiesMESA av1_caps,
| ^~
| VkVideoDecodeAV1CapabilitiesKHR
In file included from libavcodec/vulkan_h264.c:22:
libavcodec/vulkan_decode.h:31:5: error: unknown type name 'VkVideoDecodeAV1ProfileInfoMESA'
31 | VkVideoDecodeAV1ProfileInfoMESA av1_profile;
| ^
libavcodec/vulkan_av1.c:58:29: error: unknown type name 'VkVideoDecodeAV1DpbSlotInfoMESA'; did you mean 'VkVideoDecodeAV1DpbSlotInfoKHR'?
58 | VkVideoDecodeAV1DpbSlotInfoMESA vkav1_ref, / Goes in ^ /
| ^
| VkVideoDecodeAV1DpbSlotInfoKHR
make: *** [ffbuild/common.mak:81: libavcodec/vulkan_hevc.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** [ffbuild/common.mak:81: libavcodec/vulkan_h264.o] Error 1
libavcodec/vulkan_decode.c: In function 'vulkan_decode_get_profile':
libavcodec/vulkan_decode.c:761:5: error: unknown type name 'VkVideoDecodeAV1CapabilitiesMESA'; did you mean 'VkVideoDecodeAV1CapabilitiesKHR'?
761 | VkVideoDecodeAV1CapabilitiesMESA av1_caps = {
| ^~
| VkVideoDecodeAV1CapabilitiesKHR
libavcodec/vulkan_decode.c:762:9: error: field name not in record or union initializer
762 | .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_MESA,
| ^
libavcodec/vulkan_decode.c:762:9: note: (near initialization for 'av1_caps')
libavcodec/vulkan_av1.c: In function 'vk_av1_create_params':
libavcodec/vulkan_av1.c:113:5: error: unknown type name 'StdVideoAV1MESASequenceHeader'; did you mean 'StdVideoAV1SequenceHeader'?
113 | StdVideoAV1MESASequenceHeader av1_sequence_header;
| ^
| StdVideoAV1SequenceHeader
libavcodec/vulkan_av1.c:114:5: error: unknown type name 'VkVideoDecodeAV1SessionParametersAddInfoMESA'; did you mean 'VkVideoDecodeH265SessionParametersAddInfoKHR'?
114 | VkVideoDecodeAV1SessionParametersAddInfoMESA av1_params_info;
| ^~
| VkVideoDecodeH265SessionParametersAddInfoKHR
libavcodec/vulkan_av1.c:115:5: error: unknown type name 'VkVideoDecodeAV1SessionParametersCreateInfoMESA'; didyou mean 'VkVideoDecodeAV1SessionParametersCreateInfoKHR'?
115 | VkVideoDecodeAV1SessionParametersCreateInfoMESA av1_params;
| ^
| VkVideoDecodeAV1SessionParametersCreateInfoKHR
libavcodec/vulkan_decode.c:762:18: error: 'VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_MESA' undeclared (first use in this function); did you mean 'VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_KHR'?
762 | .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_MESA,
| ^~
| VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_KHR
libavcodec/vulkan_av1.c:120:28: error: 'StdVideoAV1MESASequenceHeader' undeclared (first use in this function); did you mean 'StdVideoAV1SequenceHeader'?
120 | av1_sequence_header = (StdVideoAV1MESASequenceHeader) {
| ^
| StdVideoAV1SequenceHeader
libavcodec/vulkan_av1.c:120:28: note: each undeclared identifier is reported only once for each function it appears in
libavcodec/vulkan_av1.c:120:58: error: expected ';' before '{' token
120 | av1_sequence_header = (StdVideoAV1MESASequenceHeader) {
| ^~
| ;
libavcodec/vulkan_decode.c:785:58: error: 'STD_VIDEO_AV1_MESA_PROFILE_MAIN' undeclared (first use in this function); did you mean 'STD_VIDEO_AV1_PROFILE_MAIN'?
785 | avctx->codec_id == AV_CODEC_ID_AV1 ? STD_VIDEO_AV1_MESA_PROFILE_MAIN :
| ^
| STD_VIDEO_AV1_PROFILE_MAIN
libavcodec/vulkan_decode.c:833:63: error: request for member 'maxLevelIdc' in something not a structure or union
833 | avctx->codec_id == AV_CODEC_ID_AV1 ? av1_caps.maxLevelIdc :
| ^
libavcodec/vulkan_decode.c:914:32: error: request for member 'flags' in something not a structure or union
914 | dec->external_fg = av1_caps.flags & VK_VIDEO_DECODE_AV1_CAPABILITY_EXTERNAL_FILM_GRAIN_MESA;
| ^
libavcodec/vulkan_av1.c:171:24: error: 'VkVideoDecodeAV1SessionParametersAddInfoMESA' undeclared (first use inthis function); did you mean 'VkVideoDecodeH265SessionParametersAddInfoKHR'?
171 | av1_params_info = (VkVideoDecodeAV1SessionParametersAddInfoMESA) {
| ^~
| VkVideoDecodeH265SessionParametersAddInfoKHR
libavcodec/vulkan_av1.c:171:69: error: expected ';' before '{' token
171 | av1_params_info = (VkVideoDecodeAV1SessionParametersAddInfoMESA) {
| ^~
| ;
libavcodec/vulkan_av1.c:175:19: error: 'VkVideoDecodeAV1SessionParametersCreateInfoMESA' undeclared (first usein this function); did you mean 'VkVideoDecodeAV1SessionParametersCreateInfoKHR'?
175 | av1_params = (VkVideoDecodeAV1SessionParametersCreateInfoMESA) {
| ^
| VkVideoDecodeAV1SessionParametersCreateInfoKHR
libavcodec/vulkan_av1.c:175:67: error: expected ';' before '{' token
175 | av1_params = (VkVideoDecodeAV1SessionParametersCreateInfoMESA) {
| ^~
| ;
libavcodec/vulkan_av1.c: In function 'vk_av1_start_frame':
libavcodec/vulkan_av1.c:252:18: error: request for member 'nb_tiles' in something not a structure or union
252 | ap->tile_list.nb_tiles = 0;
| ^
libavcodec/vulkan_av1.c:253:18: error: request for member 'tile_list' in something not a structure or union
253 | ap->tile_list.tile_list = ap->tiles;
| ^
libavcodec/vulkan_av1.c:255:25: error: 'VkVideoDecodeAV1PictureInfoMESA' undeclared (first use in this function); did you mean 'VkVideoDecodeAV1PictureInfoKHR'?
255 | ap->av1_pic_info = (VkVideoDecodeAV1PictureInfoMESA) {
| ^
| VkVideoDecodeAV1PictureInfoKHR
libavcodec/vulkan_av1.c:255:57: error: expected ';' before '{' token
255 | ap->av1_pic_info = (VkVideoDecodeAV1PictureInfoMESA) {
| ^~
| ;
libavcodec/vulkan_decode.c:914:41: error: 'VK_VIDEO_DECODE_AV1_CAPABILITY_EXTERNAL_FILM_GRAIN_MESA' undeclared(first use in this function)
914 | dec->external_fg = av1_caps.flags & VK_VIDEO_DECODE_AV1_CAPABILITY_EXTERNAL_FILM_GRAIN_MESA;
| ^
libavcodec/vulkan_decode.c: In function 'ff_vk_decode_init':
libavcodec/vulkan_decode.c:1121:5: error: unknown type name 'VkVideoDecodeAV1SessionParametersCreateInfoMESA';did you mean 'VkVideoDecodeAV1SessionParametersCreateInfoKHR'?
1121 | VkVideoDecodeAV1SessionParametersCreateInfoMESA av1_params = {
| ^
| VkVideoDecodeAV1SessionParametersCreateInfoKHR
libavcodec/vulkan_decode.c:1122:9: error: field name not in record or union initializer
1122 | .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_MESA,
| ^
libavcodec/vulkan_decode.c:1122:9: note: (near initialization for 'av1_params')
libavcodec/vulkan_av1.c:278:29: error: 'StdVideoAV1MESAFrameHeader' undeclared (first use in this function); did you mean 'StdVideoAV1SequenceHeader'?
278 | ap->av1_frame_header = (StdVideoAV1MESAFrameHeader) {
| ^~
| StdVideoAV1SequenceHeader
libavcodec/vulkan_av1.c:278:56: error: expected ';' before '{' token
278 | ap->av1_frame_header = (StdVideoAV1MESAFrameHeader) {
| ^~
| ;
libavcodec/vulkan_av1.c:402:29: error: request for member 'tiling' in something not a structure or union
402 | ap->av1_frame_header.tiling.width_in_sbs_minus_1[i] = frame_header->width_in_sbs_minus_1[i];
| ^
libavcodec/vulkan_av1.c:403:29: error: request for member 'tiling' in something not a structure or union
403 | ap->av1_frame_header.tiling.height_in_sbs_minus_1[i] = frame_header->height_in_sbs_minus_1[i];
| ^
libavcodec/vulkan_av1.c:404:29: error: request for member 'tiling' in something not a structure or union
404 | ap->av1_frame_header.tiling.tile_start_col_sb[i] = frame_header->tile_start_col_sb[i];
| ^
libavcodec/vulkan_av1.c:405:29: error: request for member 'tiling' in something not a structure or union
405 | ap->av1_frame_header.tiling.tile_start_row_sb[i] = frame_header->tile_start_row_sb[i];
| ^
libavcodec/vulkan_av1.c:409:29: error: request for member 'segmentation' in something not a structure or union
409 | ap->av1_frame_header.segmentation.feature_enabled_bits[i] = 0;
| ^
libavcodec/vulkan_av1.c:411:33: error: request for member 'segmentation' in something not a structure or union
411 | ap->av1_frame_header.segmentation.feature_enabled_bits[i] |= (frame_header->feature_enabled[i][j] << j);
| ^
libavcodec/vulkan_av1.c:412:33: error: request for member 'segmentation' in something not a structure or union
412 | ap->av1_frame_header.segmentation.feature_data[i][j] = frame_header->feature_value[i][j];
| ^
libavcodec/vulkan_av1.c:415:29: error: request for member 'loop_filter' in something not a structure or union
415 | ap->av1_frame_header.loop_filter.ref_deltas[i] = frame_header->loop_filter_ref_deltas[i];
| ^
libavcodec/vulkan_av1.c:417:29: error: request for member 'cdef' in something not a structure or union
417 | ap->av1_frame_header.cdef.y_pri_strength[i] = frame_header->cdef_y_pri_strength[i];
| ^
libavcodec/vulkan_av1.c:418:29: error: request for member 'cdef' in something not a structure or union
418 | ap->av1_frame_header.cdef.y_sec_strength[i] = frame_header->cdef_y_sec_strength[i];
| ^
libavcodec/vulkan_av1.c:419:29: error: request for member 'cdef' in something not a structure or union
419 | ap->av1_frame_header.cdef.uv_pri_strength[i] = frame_header->cdef_uv_pri_strength[i];
| ^
libavcodec/vulkan_av1.c:420:29: error: request for member 'cdef' in something not a structure or union
420 | ap->av1_frame_header.cdef.uv_sec_strength[i] = frame_header->cdef_uv_sec_strength[i];
| ^
libavcodec/vulkan_av1.c:422:29: error: request for member 'ref_order_hint' in something not a structure or union
422 | ap->av1_frame_header.ref_order_hint[i] = frame_header->ref_order_hint[i];
| ^
libavcodec/vulkan_av1.c:423:29: error: request for member 'global_motion' in something not a structure or union
423 | ap->av1_frame_header.global_motion[i] = (StdVideoAV1MESAGlobalMotion) {
| ^
libavcodec/vulkan_av1.c:423:50: error: 'StdVideoAV1MESAGlobalMotion' undeclared (first use in this function); did you mean 'StdVideoAV1GlobalMotion'?
423 | ap->av1_frame_header.global_motion[i] = (StdVideoAV1MESAGlobalMotion) {
| ^
| StdVideoAV1GlobalMotion
libavcodec/vulkan_av1.c:423:78: error: expected ';' before '{' token
423 | ap->av1_frame_header.global_motion[i] = (StdVideoAV1MESAGlobalMotion) {
| ^~
| ;
libavcodec/vulkan_av1.c:437:29: error: request for member 'ref_frame_idx' in something not a structure or union
437 | ap->av1_frame_header.ref_frame_idx[i] = frame_header->ref_frame_idx[i];
| ^
libavcodec/vulkan_av1.c:438:29: error: request for member 'delta_frame_id_minus1' in something not a structureor union
438 | ap->av1_frame_header.delta_frame_id_minus1[i] = frame_header->delta_frame_id_minus1[i];
| ^
libavcodec/vulkan_av1.c:441:21: error: request for member 'skip_mode_frame_idx' in something not a structure or union
441 | ap->av1_pic_info.skip_mode_frame_idx[0] = s->cur_frame.skip_mode_frame_idx[0];
| ^
libavcodec/vulkan_av1.c:442:21: error: request for member 'skip_mode_frame_idx' in something not a structure or union
442 | ap->av1_pic_info.skip_mode_frame_idx[1] = s->cur_frame.skip_mode_frame_idx[1];
| ^
libavcodec/vulkan_av1.c:446:33: error: request for member 'film_grain' in something not a structure or union
446 | ap->av1_frame_header.film_grain.point_y_value[i] = film_grain->point_y_value[i];
| ^
libavcodec/vulkan_av1.c:447:33: error: request for member 'film_grain' in something not a structure or union
447 | ap->av1_frame_header.film_grain.point_y_scaling[i] = film_grain->point_y_scaling[i];
| ^
libavcodec/vulkan_av1.c:451:33: error: request for member 'film_grain' in something not a structure or union
451 | ap->av1_frame_header.film_grain.point_cb_value[i] = film_grain->point_cb_value[i];
| ^
libavcodec/vulkan_av1.c:452:33: error: request for member 'film_grain' in something not a structure or union
452 | ap->av1_frame_header.film_grain.point_cb_scaling[i] = film_grain->point_cb_scaling[i];
| ^
libavcodec/vulkan_av1.c:453:33: error: request for member 'film_grain' in something not a structure or union
453 | ap->av1_frame_header.film_grain.point_cr_value[i] = film_grain->point_cr_value[i];
| ^
libavcodec/vulkan_av1.c:454:33: error: request for member 'film_grain' in something not a structure or union
454 | ap->av1_frame_header.film_grain.point_cr_scaling[i] = film_grain->point_cr_scaling[i];
| ^
libavcodec/vulkan_av1.c:458:33: error: request for member 'film_grain' in something not a structure or union
458 | ap->av1_frame_header.film_grain.ar_coeffs_y_plus_128[i] = film_grain->ar_coeffs_y_plus_128[i];
| ^
libavcodec/vulkan_av1.c:459:33: error: request for member 'film_grain' in something not a structure or union
459 | ap->av1_frame_header.film_grain.ar_coeffs_cb_plus_128[i] = film_grain->ar_coeffs_cb_plus_128[i];
| ^
libavcodec/vulkan_av1.c:460:33: error: request for member 'film_grain' in something not a structure or union
460 | ap->av1_frame_header.film_grain.ar_coeffs_cr_plus_128[i] = film_grain->ar_coeffs_cr_plus_128[i];
| ^
libavcodec/vulkan_av1.c:463:29: error: request for member 'film_grain' in something not a structure or union
463 | ap->av1_frame_header.film_grain.ar_coeffs_cb_plus_128[24] = film_grain->ar_coeffs_cb_plus_128[24];
| ^
libavcodec/vulkan_av1.c:464:29: error: request for member 'film_grain' in something not a structure or union
464 | ap->av1_frame_header.film_grain.ar_coeffs_cr_plus_128[24] = film_grain->ar_coeffs_cr_plus_128[24];
| ^
libavcodec/vulkan_av1.c: In function 'vk_av1_decode_slice':
libavcodec/vulkan_av1.c:483:32: error: request for member 'nb_tiles' in something not a structure or union
483 | ap->tiles[ap->tile_list.nb_tiles] = (StdVideoAV1MESATile) {
| ^
libavcodec/vulkan_av1.c:483:46: error: 'StdVideoAV1MESATile' undeclared (first use in this function); did you mean 'StdVideoAV1Profile'?
483 | ap->tiles[ap->tile_list.nb_tiles] = (StdVideoAV1MESATile) {
| ^
| StdVideoAV1Profile
libavcodec/vulkan_av1.c:483:66: error: expected ';' before '{' token
483 | ap->tiles[ap->tile_list.nb_tiles] = (StdVideoAV1MESATile) {
| ^~
| ;
libavcodec/vulkan_av1.c:495:52: error: request for member 'nb_tiles' in something not a structure or union
495 | &ap->tile_list.nb_tiles,
| ^
libavcodec/vulkan_av1.c:500:32: error: request for member 'nb_tiles' in something not a structure or union
500 | ap->tiles[ap->tile_list.nb_tiles - 1].offset = ap->tile_offsets[ap->tile_list.nb_tiles - 1];
| ^
libavcodec/vulkan_av1.c:500:86: error: request for member 'nb_tiles' in something not a structure or union
500 | ap->tiles[ap->tile_list.nb_tiles - 1].offset = ap->tile_offsets[ap->tile_list.nb_tiles - 1];
| ^
libavcodec/vulkan_av1.c: In function 'vk_av1_end_frame':
libavcodec/vulkan_av1.c:516:23: error: request for member 'nb_tiles' in something not a structure or union
516 | if (!ap->tile_list.nb_tiles)
| ^
libavcodec/vulkan_av1.c:534:42: error: request for member 'nb_tiles' in something not a structure or union
534 | vp->slices_size, ap->tile_list.nb_tiles);
| ^
make: *** [ffbuild/common.mak:81: libavcodec/vulkan_av1.o] Error 1
libavcodec/vulkan_decode.c:1122:18: error: 'VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_MESA' undeclared (first use in this function); did you mean 'VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR'?
1122 | .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_MESA,
| ^~
| VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR
make: *** [ffbuild/common.mak:81: libavcodec/vulkan_decode.o] Error 1
==> ERROR: A failure occurred in build().
Aborting...
nathanielcwm commented on 2023-10-29 12:25 (UTC)
Looks like the upstream package (ffmpeg-full-git) has disabled documentation building in the meantime.
fbrennan commented on 2023-10-28 00:05 (UTC)
I recommend the application of the following patch to fix the broken build due to ffmpeg's build scripts calling non-existent function Texinfo::Config::get_conf
:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
- From 344a2818f437ddecbf0a1bef6301ff9af8e41cf6 Mon Sep 17 00:00:00 2001
From: Fredrick Brennan <copypaste@kittens.ph>
Date: Fri, 27 Oct 2023 20:02:46 -0400
Subject: [PATCH] Force build even with ffmpeg's broken texinfo
- ---
.SRCINFO | 2 +
070-texinfo-fix.patch | 354 ++++++++++++++++++++++++++++++++++++++++++
PKGBUILD | 5 +
3 files changed, 361 insertions(+)
create mode 100644 070-texinfo-fix.patch
diff --git a/.SRCINFO b/.SRCINFO
index 182b080..0251237 100644
- --- a/.SRCINFO
+++ b/.SRCINFO
@@ -135,6 +135,7 @@ pkgbase = ffmpeg-amd-full-git
source = 030-ffmpeg-add-svt-vp9-g43ef8e5.patch::https://raw.githubusercontent.com/OpenVisualCloud/SVT-VP9/43ef8e5e96932421858762392adbbab57c84aebf/ffmpeg_plugin/master-0001-Add-ability-for-ffmpeg-to-run-svt-vp9.patch
source = 040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch
source = 060-ffmpeg-fix-segfault-with-avisynthplus.patch
+ source = 070-texinfo-fix.patch
source = LICENSE
sha256sums = SKIP
sha256sums = e8fdc940474f3819b9a8d30cab8164774584c051322acb6194bcb03d56e8175a
@@ -142,6 +143,7 @@ pkgbase = ffmpeg-amd-full-git
sha256sums = 0433016c8523c7ce159523946a76c8fa06a926f33f94b70e8de7c2082d14178c
sha256sums = 9b94b90a33dc8ac9693d72c825e9c444df914428fce7cca61117146ee8f8c07b
sha256sums = 0e277c0d5e33612ca7a11025958133b17bfbe23168b0aee5bd07f674f6fd7440
+ sha256sums = 89472def37356326ebf1fd957a56804366f1604c5654e4b00152a48b30460995
sha256sums = 04a7176400907fd7db0d69116b99de49e582a6e176b3bfb36a03e50a4cb26a36
pkgname = ffmpeg-amd-full-git
diff --git a/070-texinfo-fix.patch b/070-texinfo-fix.patch
new file mode 100644
index 0000000..9828047
- --- /dev/null
+++ b/070-texinfo-fix.patch
@@ -0,0 +1,354 @@
+diff --git a/doc/t2h.pm b/doc/t2h.pm
+index d07d974286..be3a9cc932 100644
+--- a/doc/t2h.pm
++++ b/doc/t2h.pm
+@@ -20,340 +20,18 @@
+ # License along with FFmpeg; if not, write to the Free Software
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+-# no navigation elements
+-set_from_init_file('HEADERS', 0);
+-
+-sub ffmpeg_heading_command($$$$$)
++sub set_from_init_file($$)
+ {
+- my $self = shift;
+- my $cmdname = shift;
+- my $command = shift;
+- my $args = shift;
+- my $content = shift;
+-
+- my $result = '';
+-
+- # not clear that it may really happen
+- if ($self->in_string) {
+- $result .= $self->command_string($command) ."\n" if ($cmdname ne 'node');
+- $result .= $content if (defined($content));
+- return $result;
+- }
+-
+- my $element_id = $self->command_id($command);
+- $result .= "<a name=\"$element_id\"></a>\n"
+- if (defined($element_id) and $element_id ne '');
+-
+- print STDERR "Process $command "
+- .Texinfo::Structuring::_print_root_command_texi($command)."\n"
+- if ($self->get_conf('DEBUG'));
+- my $element;
+- if ($Texinfo::Common::root_commands{$command->{'cmdname'}}
+- and $command->{'parent'}
+- and $command->{'parent'}->{'type'}
+- and $command->{'parent'}->{'type'} eq 'element') {
+- $element = $command->{'parent'};
+- }
+- if ($element) {
+- $result .= &{$self->{'format_element_header'}}($self, $cmdname,
+- $command, $element);
+- }
+-
+- my $heading_level;
+- # node is used as heading if there is nothing else.
+- if ($cmdname eq 'node') {
+- if (!$element or (!$element->{'extra'}->{'section'}
+- and $element->{'extra'}->{'node'}
+- and $element->{'extra'}->{'node'} eq $command
+- # bogus node may not have been normalized
+- and defined($command->{'extra'}->{'normalized'}))) {
+- if ($command->{'extra'}->{'normalized'} eq 'Top') {
+- $heading_level = 0;
+- } else {
+- $heading_level = 3;
+- }
+- }
+- } else {
+- $heading_level = $command->{'level'};
+- }
+-
+- my $heading = $self->command_text($command);
+- # $heading not defined may happen if the command is a @node, for example
+- # if there is an error in the node.
+- if (defined($heading) and $heading ne '' and defined($heading_level)) {
+-
+- if ($Texinfo::Common::root_commands{$cmdname}
+- and $Texinfo::Common::sectioning_commands{$cmdname}) {
+- my $content_href = $self->command_contents_href($command, 'contents',
+- $self->{'current_filename'});
+- if ($content_href) {
+- my $this_href = $content_href =~ s/^\#toc-/\#/r;
+- $heading .= '<span class="pull-right">'.
+- '<a class="anchor hidden-xs" '.
+- "href=\"$this_href\" aria-hidden=\"true\">".
+- ($ENV{"FA_ICONS"} ? '<i class="fa fa-link"></i>'
+- : '#').
+- '</a> '.
+- '<a class="anchor hidden-xs"'.
+- "href=\"$content_href\" aria-hidden=\"true\">".
+- ($ENV{"FA_ICONS"} ? '<i class="fa fa-navicon"></i>'
+- : 'TOC').
+- '</a>'.
+- '</span>';
+- }
+- }
+-
+- if ($self->in_preformatted()) {
+- $result .= $heading."\n";
+- } else {
+- # if the level was changed, set the command name right
+- if ($cmdname ne 'node'
+- and $heading_level ne $Texinfo::Common::command_structuring_level{$cmdname}) {
+- $cmdname
+- = $Texinfo::Common::level_to_structuring_command{$cmdname}->[$heading_level];
+- }
+- $result .= &{$self->{'format_heading_text'}}(
+- $self, $cmdname, $heading,
+- $heading_level +
+- $self->get_conf('CHAPTER_HEADER_LEVEL') - 1, $command);
+- }
+- }
+- $result .= $content if (defined($content));
+- return $result;
+-}
+-
+-foreach my $command (keys(%Texinfo::Common::sectioning_commands), 'node') {
+- texinfo_register_command_formatting($command, \&ffmpeg_heading_command);
++ my $key = shift;
++ my $value = shift;
++ texinfo_set_from_init_file($key, $value);
+ }
+
+-# determine if texinfo is at least version 6.8
+-my $program_version_num = version->declare(get_conf('PACKAGE_VERSION'))->numify;
+-my $program_version_6_8 = $program_version_num >= 6.008000;
+-
+-# print the TOC where @contents is used
+-if ($program_version_6_8) {
+- set_from_init_file('CONTENTS_OUTPUT_LOCATION', 'inline');
+-} else {
+- set_from_init_file('INLINE_CONTENTS', 1);
+-}
+-
+-# make chapters <h2>
+-set_from_init_file('CHAPTER_HEADER_LEVEL', 2);
+-
+-# Do not add <hr>
+-set_from_init_file('DEFAULT_RULE', '');
+-set_from_init_file('BIG_RULE', '');
+-
+-# Customized file beginning
+-sub ffmpeg_begin_file($$$)
++sub get_conf($)
+ {
+- my $self = shift;
+- my $filename = shift;
+- my $element = shift;
+-
+- my $command;
+- if ($element and $self->get_conf('SPLIT')) {
+- $command = $self->element_command($element);
+- }
+-
+- my ($title, $description, $encoding, $date, $css_lines,
+- $doctype, $bodytext, $copying_comment, $after_body_open,
+- $extra_head, $program_and_version, $program_homepage,
+- $program, $generator) = $self->_file_header_informations($command);
+-
+- my $links = $self->_get_links ($filename, $element);
+-
+- my $head1 = $ENV{"FFMPEG_HEADER1"} || <<EOT;
+-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+-<html>
+-<!-- Created by $program_and_version, $program_homepage -->
+- <head>
+- <meta charset="utf-8">
+- <title>
+-EOT
+- my $head_title = <<EOT;
+- $title
+-EOT
+-
+- my $head2 = $ENV{"FFMPEG_HEADER2"} || <<EOT;
+- </title>
+- <meta name="viewport" content="width=device-width,initial-scale=1.0">
+- <link rel="stylesheet" type="text/css" href="bootstrap.min.css">
+- <link rel="stylesheet" type="text/css" href="style.min.css">
+- </head>
+- <body>
+- <div class="container">
+- <h1>
+-EOT
+-
+- my $head3 = $ENV{"FFMPEG_HEADER3"} || <<EOT;
+- </h1>
+-EOT
+-
+- return $head1 . $head_title . $head2 . $head_title . $head3;
+-}
+-if ($program_version_6_8) {
+- texinfo_register_formatting_function('format_begin_file', \&ffmpeg_begin_file);
+-} else {
+- texinfo_register_formatting_function('begin_file', \&ffmpeg_begin_file);
+-}
+-
+-sub ffmpeg_program_string($)
+-{
+- my $self = shift;
+- if (defined($self->get_conf('PROGRAM'))
+- and $self->get_conf('PROGRAM') ne ''
+- and defined($self->get_conf('PACKAGE_URL'))) {
+- return $self->convert_tree(
+- $self->gdt('This document was generated using @uref{{program_homepage}, @emph{{program}}}.',
+- { 'program_homepage' => $self->get_conf('PACKAGE_URL'),
+- 'program' => $self->get_conf('PROGRAM') }));
+- } else {
+- return $self->convert_tree(
+- $self->gdt('This document was generated automatically.'));
+- }
+-}
+-if ($program_version_6_8) {
+- texinfo_register_formatting_function('format_program_string', \&ffmpeg_program_string);
+-} else {
+- texinfo_register_formatting_function('program_string', \&ffmpeg_program_string);
+-}
+-
+-# Customized file ending
+-sub ffmpeg_end_file($)
+-{
+- my $self = shift;
+- my $program_string = &{$self->{'format_program_string'}}($self);
+- my $program_text = <<EOT;
+- <p style="font-size: small;">
+- $program_string
+- </p>
+-EOT
+- my $footer = $ENV{FFMPEG_FOOTER} || <<EOT;
+- </div>
+- </body>
+-</html>
+-EOT
+- return $program_text . $footer;
+-}
+-if ($program_version_6_8) {
+- texinfo_register_formatting_function('format_end_file', \&ffmpeg_end_file);
+-} else {
+- texinfo_register_formatting_function('end_file', \&ffmpeg_end_file);
+-}
+-
+-# Dummy title command
+-# Ignore title. Title is handled through ffmpeg_begin_file().
+-set_from_init_file('USE_TITLEPAGE_FOR_TITLE', 1);
+-sub ffmpeg_title($$$$)
+-{
+- return '';
++ my $key = shift;
++ return texinfo_get_conf($key);
+ }
+
+-texinfo_register_command_formatting('titlefont',
+- \&ffmpeg_title);
+-
+-# Customized float command. Part of code borrowed from GNU Texinfo.
+-sub ffmpeg_float($$$$$)
+-{
+- my $self = shift;
+- my $cmdname = shift;
+- my $command = shift;
+- my $args = shift;
+- my $content = shift;
+-
+- my ($caption, $prepended) = Texinfo::Common::float_name_caption($self,
+- $command);
+- my $caption_text = '';
+- my $prepended_text;
+- my $prepended_save = '';
+-
+- if ($self->in_string()) {
+- if ($prepended) {
+- $prepended_text = $self->convert_tree_new_formatting_context(
+- $prepended, 'float prepended');
+- } else {
+- $prepended_text = '';
+- }
+- if ($caption) {
+- $caption_text = $self->convert_tree_new_formatting_context(
+- {'contents' => $caption->{'args'}->[0]->{'contents'}},
+- 'float caption');
+- }
+- return $prepended.$content.$caption_text;
+- }
+-
+- my $id = $self->command_id($command);
+- my $label;
+- if (defined($id) and $id ne '') {
+- $label = "<a name=\"$id\"></a>";
+- } else {
+- $label = '';
+- }
+-
+- if ($prepended) {
+- if ($caption) {
+- # prepend the prepended tree to the first paragraph
+- my @caption_original_contents = @{$caption->{'args'}->[0]->{'contents'}};
+- my @caption_contents;
+- my $new_paragraph;
+- while (@caption_original_contents) {
+- my $content = shift @caption_original_contents;
+- if ($content->{'type'} and $content->{'type'} eq 'paragraph') {
+- %{$new_paragraph} = %{$content};
+- $new_paragraph->{'contents'} = [@{$content->{'contents'}}];
+- unshift (@{$new_paragraph->{'contents'}}, {'cmdname' => 'strong',
+- 'args' => [{'type' => 'brace_command_arg',
+- 'contents' => [$prepended]}]});
+- push @caption_contents, $new_paragraph;
+- last;
+- } else {
+- push @caption_contents, $content;
+- }
+- }
+- push @caption_contents, @caption_original_contents;
+- if ($new_paragraph) {
+- $caption_text = $self->convert_tree_new_formatting_context(
+- {'contents' => \@caption_contents}, 'float caption');
+- $prepended_text = '';
+- }
+- }
+- if ($caption_text eq '') {
+- $prepended_text = $self->convert_tree_new_formatting_context(
+- $prepended, 'float prepended');
+- if ($prepended_text ne '') {
+- $prepended_save = $prepended_text;
+- $prepended_text = '<p><strong>'.$prepended_text.'</strong></p>';
+- }
+- }
+- } else {
+- $prepended_text = '';
+- }
+-
+- if ($caption and $caption_text eq '') {
+- $caption_text = $self->convert_tree_new_formatting_context(
+- $caption->{'args'}->[0], 'float caption');
+- }
+- if ($prepended_text.$caption_text ne '') {
+- $prepended_text = $self->_attribute_class('div','float-caption'). '>'
+- . $prepended_text;
+- $caption_text .= '</div>';
+- }
+- my $html_class = '';
+- if ($prepended_save =~ /NOTE/) {
+- $html_class = 'info';
+- $prepended_text = '';
+- $caption_text = '';
+- } elsif ($prepended_save =~ /IMPORTANT/) {
+- $html_class = 'warning';
+- $prepended_text = '';
+- $caption_text = '';
+- }
+- return $self->_attribute_class('div', $html_class). '>' . "\n" .
+- $prepended_text . $caption_text . $content . '</div>';
+-}
+-
+-texinfo_register_command_formatting('float',
+- \&ffmpeg_float);
+-
+-1;
++# no navigation elements
++set_from_init_file('HEADERS', 0);
diff --git a/PKGBUILD b/PKGBUILD
index 7a0c708..f9f224c 100644
- --- a/PKGBUILD
+++ b/PKGBUILD
@@ -40,6 +40,7 @@ source=('git+https://git.ffmpeg.org/ffmpeg.git'
"030-ffmpeg-add-svt-vp9-g${_svt_vp9_ver:0:7}.patch"::"https://raw.githubusercontent.com/OpenVisualCloud/SVT-VP9/${_svt_vp9_ver}/ffmpeg_plugin/master-0001-Add-ability-for-ffmpeg-to-run-svt-vp9.patch"
'040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch'
'060-ffmpeg-fix-segfault-with-avisynthplus.patch'
+ '070-texinfo-fix.patch'
'LICENSE')
sha256sums=('SKIP'
'e8fdc940474f3819b9a8d30cab8164774584c051322acb6194bcb03d56e8175a'
@@ -47,6 +48,7 @@ sha256sums=('SKIP'
'0433016c8523c7ce159523946a76c8fa06a926f33f94b70e8de7c2082d14178c'
'9b94b90a33dc8ac9693d72c825e9c444df914428fce7cca61117146ee8f8c07b'
'0e277c0d5e33612ca7a11025958133b17bfbe23168b0aee5bd07f674f6fd7440'
+ '89472def37356326ebf1fd957a56804366f1604c5654e4b00152a48b30460995'
'04a7176400907fd7db0d69116b99de49e582a6e176b3bfb36a03e50a4cb26a36')
prepare() {
@@ -56,6 +58,7 @@ prepare() {
patch -d ffmpeg -Np1 -i "${srcdir}/030-ffmpeg-add-svt-vp9-g${_svt_vp9_ver:0:7}.patch"
patch -d ffmpeg -Np1 -i "${srcdir}/040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch"
patch -d ffmpeg -Np1 -i "${srcdir}/060-ffmpeg-fix-segfault-with-avisynthplus.patch"
+ patch -d ffmpeg -Np1 -i "${srcdir}/070-texinfo-fix.patch"
}
pkgver() {
@@ -68,6 +71,8 @@ build() {
cd "$_srcname"
printf '%s\n' ' -> Running ffmpeg configure script...'
+
+ export PATH="/usr/share/texinfo:$PATH"
./configure \
--prefix='/usr' \
- --
2.42.0
-----BEGIN PGP SIGNATURE-----
iHUEARYIAB0WIQS1rLeeEfG/f0nzK7hYUwVpYvFOWAUCZTxQTQAKCRBYUwVpYvFO
WKnVAP9r3iso+yWJOr4a+c1LUA6TaPChSl9HDPwNak4SwWjvNAEAx0C5d37Ct8qJ
vrnRfWiOEBjVjsBGmCiqmM+JRBedEQI=
=+MU2
-----END PGP SIGNATURE-----
Pinned Comments
saburouta commented on 2023-04-26 18:45 (UTC)
I adopted this package to keep it from falling off, but I haven't had the chance to update it yet.
I think only patches 40 and 60 still work. I'm not sure the other even need to be updated. I've been building with just 40 and 60.