parent
c065b25f64
commit
81a5e1f86a
|
@ -392,6 +392,14 @@ libid3tag.so.0 libid3tag-0.15.1b_1
|
|||
libgif.so.7 giflib-5.1.0_1
|
||||
libImlib2.so.1 imlib2-1.4.2_1
|
||||
libmp3lame.so.0 lame-3.98.2_1
|
||||
libavdevice.so.60 libavdevice6-6.0_1
|
||||
libavformat.so.60 libavformat6-6.0_1
|
||||
libswscale.so.7 libswscale6-6.0_1
|
||||
libswresample.so.4 libswresample6-6.0_1
|
||||
libpostproc.so.57 libpostproc6-6.0_1
|
||||
libavcodec.so.60 libavcodec6-6.0_1
|
||||
libavutil.so.58 libavutil6-6.0_1
|
||||
libavfilter.so.9 libavfilter6-6.0_1
|
||||
libavdevice.so.58 libavdevice-4.0_1
|
||||
libavformat.so.58 libavformat-4.0_1
|
||||
libswscale.so.5 libswscale-4.0_1
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
ffmpeg6
|
|
@ -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);
|
||||
|
|
@ -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)
|
||||
|
|
@ -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*"
|
||||
}
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
ffmpeg6
|
|
@ -0,0 +1 @@
|
|||
ffmpeg6
|
|
@ -0,0 +1 @@
|
|||
ffmpeg6
|
|
@ -0,0 +1 @@
|
|||
ffmpeg6
|
|
@ -0,0 +1 @@
|
|||
ffmpeg6
|
|
@ -0,0 +1 @@
|
|||
ffmpeg6
|
|
@ -0,0 +1 @@
|
|||
ffmpeg6
|
|
@ -0,0 +1 @@
|
|||
ffmpeg6
|
|
@ -0,0 +1 @@
|
|||
ffmpeg6
|
|
@ -0,0 +1 @@
|
|||
ffmpeg6
|
Loading…
Reference in New Issue