summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Wagie2022-02-17 11:48:22 -0700
committerMark Wagie2022-02-17 11:48:22 -0700
commit0768e914a59e5dac214c0d17199292b315d1b5fa (patch)
tree5861d57e7e6ff49816e1b4c63150dc2157aaf47d
parent7f40164dc218f96038e3b8ce5a337c509ef6d8cf (diff)
downloadaur-0768e914a59e5dac214c0d17199292b315d1b5fa.tar.gz
5.0
-rw-r--r--.SRCINFO8
-rw-r--r--.gitignore1
-rw-r--r--PKGBUILD17
-rw-r--r--add-av_stream_get_first_dts-for-chromium.patch44
4 files changed, 61 insertions, 9 deletions
diff --git a/.SRCINFO b/.SRCINFO
index bc7cd6d50faa..a699e7344aa8 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = ffmpeg-cuda
pkgdesc = Complete solution to record, convert and stream audio and video. Includes cuda support.
- pkgver = 4.4.1
- pkgrel = 3
+ pkgver = 5.0
+ pkgrel = 1
epoch = 1
url = https://ffmpeg.org/
arch = x86_64
@@ -81,9 +81,11 @@ pkgbase = ffmpeg-cuda
provides = libswscale.so
provides = ffmpeg
conflicts = ffmpeg
- source = git+https://git.ffmpeg.org/ffmpeg.git#tag=7e0d640edf6c3eee1816b105c2f7498c4f948e74
+ source = git+https://git.ffmpeg.org/ffmpeg.git#tag=390d6853d0ef408007feb39c0040682c81c02751
source = vmaf-model-path.patch
+ source = add-av_stream_get_first_dts-for-chromium.patch
sha256sums = SKIP
sha256sums = 8dff51f84a5f7460f8893f0514812f5d2bd668c3276ef7ab7713c99b71d7bd8d
+ sha256sums = 91973c465f01446a999f278f0c2a3763304994dba1ac35de0e4c72f12f39409e
pkgname = ffmpeg-cuda
diff --git a/.gitignore b/.gitignore
index a9483747f996..ea68fd586d6d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,4 @@
!PKGBUILD
!.SRCINFO
!vmaf-model-path.patch
+!add-av_stream_get_first_dts-for-chromium.patch
diff --git a/PKGBUILD b/PKGBUILD
index 1b6c30e321a2..b0af303a4e6f 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -10,8 +10,8 @@
# https://docs.nvidia.com/video-technologies/video-codec-sdk/ffmpeg-with-nvidia-gpu/
pkgname=ffmpeg-cuda
-pkgver=4.4.1
-pkgrel=3
+pkgver=5.0
+pkgrel=1
epoch=1
pkgdesc='Complete solution to record, convert and stream audio and video. Includes cuda support.'
arch=(x86_64)
@@ -100,13 +100,15 @@ provides=(
ffmpeg
)
conflicts=('ffmpeg')
-_tag=7e0d640edf6c3eee1816b105c2f7498c4f948e74
+_tag=390d6853d0ef408007feb39c0040682c81c02751
source=(
- git+https://git.ffmpeg.org/ffmpeg.git#tag=${_tag}
- vmaf-model-path.patch
+ "git+https://git.ffmpeg.org/ffmpeg.git#tag=${_tag}"
+ 'vmaf-model-path.patch'
+ 'add-av_stream_get_first_dts-for-chromium.patch'
)
sha256sums=('SKIP'
- '8dff51f84a5f7460f8893f0514812f5d2bd668c3276ef7ab7713c99b71d7bd8d')
+ '8dff51f84a5f7460f8893f0514812f5d2bd668c3276ef7ab7713c99b71d7bd8d'
+ '91973c465f01446a999f278f0c2a3763304994dba1ac35de0e4c72f12f39409e')
pkgver() {
cd ffmpeg
@@ -118,6 +120,9 @@ prepare() {
cd ffmpeg
git cherry-pick -n 988f2e9eb063db7c1a678729f58aab6eba59a55b # fix nvenc on older gpus
patch -Np1 -i "${srcdir}"/vmaf-model-path.patch
+
+ # https://crbug.com/1251779
+ patch -Np1 -i "${srcdir}/add-av_stream_get_first_dts-for-chromium.patch"
}
build() {
diff --git a/add-av_stream_get_first_dts-for-chromium.patch b/add-av_stream_get_first_dts-for-chromium.patch
new file mode 100644
index 000000000000..fb5589800d3d
--- /dev/null
+++ b/add-av_stream_get_first_dts-for-chromium.patch
@@ -0,0 +1,44 @@
+From 95aab0fd83619408995720ce53d7a74790580220 Mon Sep 17 00:00:00 2001
+From: "liberato@chromium.org" <liberato@chromium.org>
+Date: Wed, 7 Jul 2021 19:01:22 -0700
+Subject: [PATCH] Add av_stream_get_first_dts for Chromium
+
+[foutrelis: adjust for new FFStream struct replacing AVStreamInternal]
+---
+ libavformat/avformat.h | 4 ++++
+ libavformat/utils.c | 7 +++++++
+ 2 files changed, 11 insertions(+)
+
+diff --git a/libavformat/avformat.h b/libavformat/avformat.h
+index cd7b0d941c..b4a6dce885 100644
+--- a/libavformat/avformat.h
++++ b/libavformat/avformat.h
+@@ -1010,6 +1010,10 @@ struct AVCodecParserContext *av_stream_get_parser(const AVStream *s);
+ */
+ int64_t av_stream_get_end_pts(const AVStream *st);
+
++// Chromium: We use the internal field first_dts vvv
++int64_t av_stream_get_first_dts(const AVStream *st);
++// Chromium: We use the internal field first_dts ^^^
++
+ #define AV_PROGRAM_RUNNING 1
+
+ /**
+diff --git a/libavformat/utils.c b/libavformat/utils.c
+index de7580c32d..0ef0fe530e 100644
+--- a/libavformat/utils.c
++++ b/libavformat/utils.c
+@@ -121,6 +121,13 @@ int64_t av_stream_get_end_pts(const AVStream *st)
+ return AV_NOPTS_VALUE;
+ }
+
++// Chromium: We use the internal field first_dts vvv
++int64_t av_stream_get_first_dts(const AVStream *st)
++{
++ return cffstream(st)->first_dts;
++}
++// Chromium: We use the internal field first_dts ^^^
++
+ struct AVCodecParserContext *av_stream_get_parser(const AVStream *st)
+ {
+ return st->internal->parser;