-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Showing
15 changed files
with
289 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
ffmpeg6 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c | ||
index da700f25e9..b501964089 100644 | ||
--- a/libavcodec/qsvdec.c | ||
+++ b/libavcodec/qsvdec.c | ||
@@ -1076,6 +1076,9 @@ static int qsv_decode_frame(AVCodecContext *avctx, AVFrame *frame, | ||
|
||
ret = qsv_process_data(avctx, &s->qsv, frame, got_frame, &s->buffer_pkt); | ||
if (ret < 0){ | ||
+ if (ret == AVERROR(EAGAIN)) | ||
+ ret = 0; | ||
+ | ||
/* Drop buffer_pkt when failed to decode the packet. Otherwise, | ||
the decoder will keep decoding the failure packet. */ | ||
av_packet_unref(&s->buffer_pkt); | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
https://aur.archlinux.org/cgit/aur.git/tree/040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch?h=ffmpeg-intel-full-git | ||
diff --git a/libavformat/avformat.h b/libavformat/avformat.h | ||
index cd7b0d941c..b4a6dce885 100644 | ||
--- a/libavformat/avformat.h | ||
+++ b/libavformat/avformat.h | ||
@@ -1025,6 +1025,10 @@ | ||
|
||
#define AV_PROGRAM_RUNNING 1 | ||
|
||
+// 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 ^^^ | ||
+ | ||
/** | ||
* New fields can be added to the end with minor version bumps. | ||
* Removal, reordering and changes to existing fields require a major | ||
|
||
diff --git a/libavformat/utils.c b/libavformat/utils.c | ||
index de7580c32d..0ef0fe530e 100644 | ||
--- a/libavformat/utils.c | ||
+++ b/libavformat/utils.c | ||
@@ -152,6 +152,13 @@ | ||
return AV_CODEC_ID_NONE; | ||
} | ||
|
||
+// 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 ^^^ | ||
+ | ||
enum AVCodecID ff_get_pcm_codec_id(int bps, int flt, int be, int sflags) | ||
{ | ||
if (bps <= 0 || bps > 64) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,219 @@ | ||
# Template file for 'ffmpeg6' | ||
# audacity also needs to be bumped when a new ffmpeg version bumps libavformat's soname! | ||
pkgname=ffmpeg6 | ||
version=6.0.1 | ||
revision=1 | ||
hostmakedepends="pkg-config perl" | ||
makedepends="zlib-devel bzip2-devel freetype-devel alsa-lib-devel libXfixes-devel | ||
libXext-devel libXvMC-devel libxcb-devel lame-devel libtheora-devel | ||
libvorbis-devel x264-devel xvidcore-devel jack-devel SDL2-devel | ||
libcdio-paranoia-devel librtmp-devel libmodplug-devel gnutls-devel | ||
speex-devel celt-devel harfbuzz-devel libass-devel opus-devel ocl-icd-devel | ||
libbs2b-devel libvidstab-devel vmaf-devel libbluray-devel pulseaudio-devel | ||
x265-devel v4l-utils-devel libvpx-devel libaom-devel libdav1d-devel | ||
libwebp-devel libdrm-devel srt-devel librist-devel vulkan-loader-devel | ||
zimg-devel libmysofa-devel | ||
$(vopt_if svtav1 libsvt-av1-devel) $(vopt_if vaapi libva-devel) | ||
$(vopt_if vdpau libvdpau-devel) $(vopt_if fdk_aac fdk-aac-devel) | ||
$(vopt_if onevpl oneVPL-devel) $(vopt_if nvcodec nv-codec-headers)" | ||
depends="ffplay6>=${version}_${revision}" | ||
short_desc="Decoding, encoding and streaming software" | ||
maintainer="Orphaned <orphan@voidlinux.org>" | ||
license="GPL-3.0-or-later" | ||
homepage="https://www.ffmpeg.org" | ||
changelog="https://raw.githubusercontent.com/FFmpeg/FFmpeg/master/Changelog" | ||
distfiles="https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.xz" | ||
checksum=9b16b8731d78e596b4be0d720428ca42df642bb2d78342881ff7f5bc29fc9623 | ||
|
||
build_options="vaapi vdpau fdk_aac nvcodec svtav1 onevpl" | ||
desc_option_sofa="Enable support for AES SOFA" | ||
|
||
case "$XBPS_TARGET_MACHINE" in | ||
i686*) | ||
build_options_default+=" vaapi vdpau nvcodec" | ||
hostmakedepends+=" nasm" | ||
;; | ||
x86_64*) | ||
hostmakedepends+=" nasm" | ||
build_options_default+=" vaapi vdpau nvcodec onevpl" | ||
;; | ||
ppc64*) build_options_default+=" vaapi vdpau";; | ||
mips*) CFLAGS="-mnan=legacy";; | ||
esac | ||
|
||
if [ "$XBPS_TARGET_WORDSIZE" != "32" ]; then | ||
build_options_default+=" svtav1" | ||
fi | ||
|
||
_apply_patch() { | ||
local args="$1" pname="$(basename $2)" | ||
|
||
if [ ! -f ".${pname}_done" ]; then | ||
patch -N $args -i $2 | ||
touch .${pname}_done | ||
fi | ||
} | ||
|
||
post_patch() { | ||
case "$XBPS_TARGET_MACHINE" in | ||
ppc64le*) ;; | ||
ppc*) _apply_patch -p1 ${FILESDIR}/altivec.patch ;; | ||
esac | ||
} | ||
|
||
do_configure() { | ||
# Fix gcc on x86_64-musl only | ||
if [ "$XBPS_TARGET_MACHINE" = "x86_64-musl" ]; then | ||
vsed -i configure -e "s;_cflags_speed='-O3';_cflags_speed='-O2';" | ||
fi | ||
|
||
if [ "$CROSS_BUILD" ]; then | ||
case "$XBPS_TARGET_MACHINE" in | ||
arm*) _arch="arm";; | ||
aarch64*) _arch="aarch64";; | ||
mips*) _arch="mips";; | ||
ppc64*) _arch="ppc64";; | ||
ppc*) _arch="ppc";; | ||
*) _arch="${XBPS_TARGET_MACHINE%%-musl}";; | ||
esac | ||
|
||
_args+=" --enable-cross-compile | ||
--sysroot=$XBPS_CROSS_BASE | ||
--cross-prefix=${XBPS_CROSS_TRIPLET}- | ||
--target-os=linux --arch=${_arch}" | ||
fi | ||
|
||
case "$XBPS_TARGET_MACHINE" in | ||
ppc|ppc-musl) _args+=" --disable-altivec";; | ||
esac | ||
|
||
./configure --prefix=/usr --disable-debug --enable-gpl --enable-gnutls \ | ||
--disable-stripping \ | ||
--enable-libcdio --enable-version3 --enable-runtime-cpudetect \ | ||
--enable-libmp3lame --enable-libvorbis --enable-libxvid \ | ||
--enable-libx264 --enable-libvpx --enable-libtheora \ | ||
--enable-shared --enable-static --enable-libxcb \ | ||
--enable-libpulse --enable-libfreetype --enable-libmodplug \ | ||
--enable-libspeex --enable-libcelt --enable-libass \ | ||
--enable-libopus --enable-librtmp --enable-libjack \ | ||
--disable-libopencore_amrnb --disable-libopencore_amrwb \ | ||
--disable-libopenjpeg --enable-libbluray \ | ||
--enable-postproc --enable-opencl --enable-libvmaf ${_args} \ | ||
--enable-libx265 --enable-libv4l2 --enable-libaom \ | ||
--enable-libbs2b --enable-libvidstab --enable-libdav1d \ | ||
--enable-libsrt --enable-librist --enable-libwebp \ | ||
--enable-vulkan --enable-libdrm \ | ||
$(vopt_if fdk_aac '--enable-nonfree --enable-libfdk-aac') \ | ||
$(vopt_enable vaapi) $(vopt_enable vdpau) \ | ||
$(vopt_enable zimg libzimg) \ | ||
$(vopt_enable sofa libmysofa) \ | ||
$(vopt_enable onevpl libvpl) \ | ||
$(vopt_enable svtav1 libsvtav1) \ | ||
$(vopt_enable nvcodec nvenc) \ | ||
$(vopt_enable nvcodec nvdec) | ||
} | ||
|
||
do_build() { | ||
make ${makejobs} | ||
make doc/ff{mpeg,play}.1 | ||
} | ||
|
||
do_install() { | ||
make DESTDIR=${DESTDIR} install install-man | ||
} | ||
|
||
libavcodec6_package() { | ||
short_desc="FFmpeg codec library" | ||
pkg_install() { | ||
vmove "usr/lib/libavcodec.so.*" | ||
} | ||
} | ||
|
||
libavdevice6_package() { | ||
short_desc="FFmpeg device handling library" | ||
pkg_install() { | ||
vmove "usr/lib/libavdevice.so.*" | ||
} | ||
} | ||
|
||
libavresample6_package() { | ||
short_desc="Package deprecated, removal needed" | ||
build_style=meta | ||
} | ||
|
||
libavformat6_package() { | ||
short_desc="FFmpeg file format library" | ||
pkg_install() { | ||
vmove "usr/lib/libavformat.so.*" | ||
} | ||
} | ||
|
||
libavutil6_package() { | ||
short_desc="FFmpeg utility library" | ||
pkg_install() { | ||
vmove "usr/lib/libavutil.so.*" | ||
} | ||
} | ||
|
||
libavfilter6_package() { | ||
short_desc="FFmpeg audio/video filter library" | ||
pkg_install() { | ||
vmove "usr/lib/libavfilter.so.*" | ||
} | ||
} | ||
|
||
libpostproc6_package() { | ||
short_desc="FFmpeg video postprocessing library" | ||
pkg_install() { | ||
vmove "usr/lib/libpostproc.so.*" | ||
} | ||
} | ||
|
||
libswscale6_package() { | ||
short_desc="FFmpeg video scaling library" | ||
pkg_install() { | ||
vmove "usr/lib/libswscale.so.*" | ||
} | ||
} | ||
|
||
libswresample6_package() { | ||
short_desc="FFmpeg video resampling library" | ||
pkg_install() { | ||
vmove "usr/lib/libswresample.so.*" | ||
} | ||
} | ||
|
||
ffmpeg6-devel_package() { | ||
depends=" | ||
libavcodec6>=${version}_${revision} | ||
libavdevice6>=${version}_${revision} | ||
libavformat6>=${version}_${revision} | ||
libavutil6>=${version}_${revision} | ||
libavfilter6>=${version}_${revision} | ||
libpostproc6>=${version}_${revision} | ||
libswscale6>=${version}_${revision} | ||
libswresample6>=${version}_${revision}" | ||
short_desc+=" - development files" | ||
conflicts="ffmpeg-devel" | ||
replaces="ffmpeg-devel>=0" | ||
if [ "$XBPS_TARGET_MACHINE" = "i686" ]; then | ||
# /usr/bin/strip: error: the input file '/destdir//ffmpeg-devel-4.4.4/usr/lib/libavfilter.a(vf_atadenoise.o)' has no sections | ||
nostrip_files="/usr/lib/libavfilter.a" | ||
fi | ||
pkg_install() { | ||
vmove usr/include | ||
vmove usr/lib/pkgconfig | ||
vmove "usr/lib/*.a" | ||
vmove "usr/lib/*.so" | ||
vmove usr/share/ffmpeg/examples | ||
vmove usr/share/man/man3 | ||
} | ||
} | ||
|
||
ffplay6_package() { | ||
short_desc="Simple video player using FFmpeg and SDL2" | ||
pkg_install() { | ||
vmove usr/bin/ffplay | ||
vmove "usr/share/man/man1/ffplay*" | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
ffmpeg6 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
ffmpeg6 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
ffmpeg6 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
ffmpeg6 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
ffmpeg6 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
ffmpeg6 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
ffmpeg6 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
ffmpeg6 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
ffmpeg6 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
ffmpeg6 |