summaryrefslogtreecommitdiffstats
path: root/ffmpeg/PKGBUILD
blob: f59f78ed72b19e8c070133b21a239deef1369e76 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# Maintainer: Justin Gassner <justin.gassner@mailbox.org>

_pkgname=ffmpeg
pkgname=$_pkgname-jxir
_tag=3cdfac27d3ea06f8719faed48b4ae2e75e94a463 # 6.1
pkgver=6.1
pkgrel=4
pkgdesc='Complete solution to record, convert and stream audio and video'
arch=('x86_64')
url='https://ffmpeg.org/'
license=('GPL3')
depends=('libva')
makedepends=('git' 'nasm')
provides=('libavcodec.so' 'libavfilter.so' 'libavformat.so'
          'libavutil.so' 'libswresample.so' 'libswscale.so'
          'ffmpeg')
conflicts=('ffmpeg')
source=("git+https://git.ffmpeg.org/ffmpeg.git#tag=$_tag"
        'add-av_stream_get_first_dts-for-chromium.patch')
sha256sums=('SKIP'
            '57e26caced5a1382cb639235f9555fc50e45e7bf8333f7c9ae3d49b3241d3f77')

prepare() {
  cd "$srcdir/$_pkgname"
  # FS#79281: fix assembling with binutil as >= 2.41
  git cherry-pick -n effadce6c756247ea8bae32dc13bb3e6f464f0eb
  # FS#77813: fix playing ogg files with mplayer
  git cherry-pick -n cbcc817353a019da4332ad43deb7bbc4e695d02a
  patch -Np1 -i ../add-av_stream_get_first_dts-for-chromium.patch # https://crbug.com/1251779
  # use non-deprecated nvenc GUID for conftest
  git cherry-pick -n 03823ac0c6a38bd6ba972539e3203a592579792f
  git cherry-pick -n d2b46c1ef768bc31ba9180f6d469d5b8be677500
  # Fix VDPAU vo
  git cherry-pick -n e9c93009fc34ca9dfcf0c6f2ed90ef1df298abf7
  # Fix bug in av_fft_end
  git cherry-pick -n a562cfee2e214252f8b3f516527272ae32ef9532
  git cherry-pick -n 250471ea1745fc703eb346a2a662304536a311b1
}

build() {
  cd "$srcdir/$_pkgname"
  ./configure \
    --prefix='/usr' \
    --disable-debug \
    --enable-gpl \
    --enable-version3 \
    --disable-static \
    --enable-shared \
    --disable-runtime-cpudetect \
    --disable-swscale-alpha \
    --disable-ffplay \
    --disable-doc \
    --disable-avdevice \
    --disable-postproc \
    --enable-network \
    --disable-everything \
    --enable-decoder=aac,h264,opus \
    --enable-encoder=aac \
    --enable-hwaccel=h264_vaapi,vp9_vaapi \
    --enable-muxer=ffmetadata,mp4,matroska,webm \
    --enable-demuxer=aac,ass,ffmetadata,h264,mpegts,matroska,mov \
    --enable-parser=aac,h264,opus,vp9 \
    --enable-bsf=vp9_superframe \
    --enable-protocol=file \
    --enable-libass \
    --enable-libfontconfig \
    --enable-libfreetype
  make
}

package() {
  cd "$srcdir/$_pkgname"
  make DESTDIR="$pkgdir" install install-man
}