| Name |
libswscale7 |
| Description |
FFmpeg library for image scaling and various conversions - runtime files |
| Version |
7:6.1.1-3ubuntu5 |
| Package Base |
ffmpeg |
| Homepage |
https://ffmpeg.org/ |
| Maintainers |
['Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>'] |
| Contributors |
[' Reinhard Tartler <siretart@tauware.de>', 'Balint Reczey <balint@balintreczey.hu>', 'James Cowgill <jcowgill@debian.org>', 'Sebastian Ramacher <sramacher@debian.org>,'] |
| Distro-repo |
https://git.launchpad.net/ubuntu/+source/ffmpeg/tree/?h=ubuntu/noble |
| Sources |
['https://git.launchpad.net/ubuntu/+source/ffmpeg/plain/debian/patches/../?h=ubuntu/noble', 'https://git.launchpad.net/ubuntu/+source/ffmpeg/plain/debian/patches/0001-configure-fix-compilation-with-glslang-14.patch?h=ubuntu/noble', 'https://git.launchpad.net/ubuntu/+source/ffmpeg/plain/debian/patches/series?h=ubuntu/noble', 'https://git.launchpad.net/ubuntu/+source/libswscale7/plain/debian/watch?h=ubuntu/noble'] |
| Dependencies |
['libavutil58', 'libc6'] |
| Optional-Dependencies |
[] |
| Build-Dependencies |
['clang [amd64 arm64 i386 ppc64el]', 'debhelper-compat', 'glslang-dev', 'flite1-dev', 'frei0r-plugins-dev <!pkg.ffmpeg.stage1>', 'ladspa-sdk <!pkg.ffmpeg.stage1>', 'libaom-dev', 'libaribb24-dev <!pkg.ffmpeg.noextra>', 'libass-dev', 'libbluray-dev <!pkg.ffmpeg.stage1>', 'libbs2b-dev', 'libbz2-dev', 'libcaca-dev', 'libcdio-paranoia-dev', 'libchromaprint-dev <!pkg.ffmpeg.stage1>', 'libcodec2-dev', 'libdav1d-dev', 'libdc1394-dev [linux-any]', 'libdrm-dev [linux-any]', 'libffmpeg-nvenc-dev [amd64 arm64 i386]', 'libfontconfig-dev', 'libfreetype-dev', 'libfribidi-dev', 'libgl-dev', 'libgme-dev', 'libgnutls28-dev', 'libgsm1-dev', 'libharfbuzz-dev', 'libiec61883-dev [linux-any]', 'libavc1394-dev [linux-any]', 'libjack-jackd2-dev <!pkg.ffmpeg.stage1>', 'libjxl-dev [!alpha !i386] <!pkg.ffmpeg.stage1>', 'liblilv-dev <!pkg.ffmpeg.stage1>', 'liblzma-dev', 'libmp3lame-dev', 'libmysofa-dev', 'libopenal-dev', 'libopencore-amrnb-dev <!pkg.ffmpeg.noextra>', 'libopencore-amrwb-dev <!pkg.ffmpeg.noextra>', 'libopenjp2-7-dev', 'libopenmpt-dev', 'libopus-dev', 'libplacebo-dev', 'libpocketsphinx-dev', 'libpulse-dev <!pkg.ffmpeg.stage1>', 'librabbitmq-dev <!pkg.ffmpeg.stage1>', 'librav1e-dev [!alpha !hppa !hurd-i386 !i386 !ia64 !m68k !sh4 !sparc64 !x32] <!pkg.ffmpeg.stage1>', 'librist-dev <!pkg.ffmpeg.stage1>', 'librubberband-dev', 'librsvg2-dev [!alpha !hppa !hurd-i386 !ia64 !m68k !sh4 !x32] <!pkg.ffmpeg.stage1>', 'libsctp-dev [linux-any] <!pkg.ffmpeg.stage1>', 'libsdl2-dev <!pkg.ffmpeg.stage1>', 'libshine-dev', 'libsmbclient-dev', 'libsnappy-dev', 'libsoxr-dev', 'libspeex-dev', 'libsrt-gnutls-dev <!pkg.ffmpeg.stage1>', 'libssh-gcrypt-dev <!pkg.ffmpeg.stage1>', 'libsvtav1enc-dev <!pkg.ffmpeg.stage1>', 'libtesseract-dev <!pkg.ffmpeg.noextra>', 'libtheora-dev', 'libtwolame-dev', 'libva-dev', 'libvdpau-dev', 'libvidstab-dev', 'libvo-amrwbenc-dev <!pkg.ffmpeg.noextra>', 'libvorbis-dev', 'libvpl-dev [amd64]', 'libvpx-dev', 'libvulkan-dev [linux-any]', 'libwebp-dev', 'libx264-dev <!pkg.ffmpeg.stage1>', 'libx265-dev', 'libxcb-shape0-dev', 'libxcb-shm0-dev', 'libxcb-xfixes0-dev', 'libxml2-dev', 'libxv-dev', 'libxvidcore-dev', 'libzimg-dev', 'libzmq3-dev <!pkg.ffmpeg.stage1>', 'libzvbi-dev <!pkg.ffmpeg.stage1>', 'ocl-icd-opencl-dev | opencl-dev', 'pkgconf', 'texinfo', 'nasm', 'zlib1g-dev'] |
| Provides |
[] |
| Builddate |
|
| Architecture |
amd64 |
| Distro-Version |
noble |
| Licenses |
[] |
| Hash |
2c17ae58b35112aace5179d7deea51faa20e82e04847b257f339376b11744e22 |
#!/usr/bin/make -f
export V=1
# sets DEBIAN_VERSION variable
include /usr/share/dpkg/pkg-info.mk
# Get the Debian version revision:
DEB_REVISION := $(word 2, $(subst -, ,$(DEB_VERSION)))
# sets DEB_HOST_* variables
include /usr/share/dpkg/architecture.mk
# Ubuntu ld adds -Bsymbolic-functions by default, but that prevents FFmpeg from building.
export DEB_LDFLAGS_MAINT_STRIP=-Wl,-Bsymbolic-functions
# Package name for the extra flavor.
SHLIB_PKGS := $(shell sed -nr '/extra/! s/^Package:[[:space:]]*(lib.*[0-9]+)[[:space:]]*$$/\1/p' debian/control)
EXTRA_PKGS := $(shell sed -nr 's/^Package:[[:space:]]*(.*extra[0-9]+)[[:space:]]*$$/\1/p' debian/control)
FLAVORS = standard static
ifeq ($(filter pkg.ffmpeg.noextra,$(DEB_BUILD_PROFILES)),)
FLAVORS += extra
endif
# Most possible features, compatible with effective licensing of GPLv2+
CONFIG := --prefix=/usr \
--extra-version="$(DEB_REVISION)" \
--toolchain=hardened \
--libdir=/usr/lib/$(DEB_HOST_MULTIARCH) \
--incdir=/usr/include/$(DEB_HOST_MULTIARCH) \
--arch=$(DEB_HOST_ARCH_CPU) \
--enable-gpl \
--disable-stripping \
--disable-omx \
--enable-gnutls \
--enable-libaom \
--enable-libass \
--enable-libbs2b \
--enable-libcaca \
--enable-libcdio \
--enable-libcodec2 \
--enable-libdav1d \
--enable-libflite \
--enable-libfontconfig \
--enable-libfreetype \
--enable-libfribidi \
--enable-libglslang \
--enable-libgme \
--enable-libgsm \
--enable-libharfbuzz \
--enable-libmp3lame \
--enable-libmysofa \
--enable-libopenjpeg \
--enable-libopenmpt \
--enable-libopus \
--enable-librubberband \
--enable-libshine \
--enable-libsnappy \
--enable-libsoxr \
--enable-libspeex \
--enable-libtheora \
--enable-libtwolame \
--enable-libvidstab \
--enable-libvorbis \
--enable-libvpx \
--enable-libwebp \
--enable-libx265 \
--enable-libxml2 \
--enable-libxvid \
--enable-libzimg \
--enable-openal \
--enable-opencl \
--enable-opengl
# disable sndio, it's pulled in via libopenal-dev and autodetected
CONFIG += --disable-sndio
ifeq (amd64,$(DEB_HOST_ARCH))
CONFIG += --enable-libvpl \
--disable-libmfx
endif
# The standard configuration only uses the shared CONFIG.
CONFIG_standard = --enable-shared
# Additional features, compatible with effective licensing of GPLv3+
CONFIG_extra = --enable-shared \
--enable-version3 \
--disable-doc \
--disable-programs \
--disable-static \
--enable-libaribb24 \
--enable-libopencore_amrnb \
--enable-libopencore_amrwb \
--enable-libtesseract \
--enable-libvo_amrwbenc
# Do not enable libsmbclient support on hurd-i386
ifeq (,$(filter hurd-i386,$(DEB_HOST_ARCH)))
CONFIG_extra += --enable-libsmbclient
endif
# Disable optimizations if requested.
ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS)))
CONFIG += --disable-optimizations
endif
# Respect CC/CXX from the environment, if they differ from the default.
# Don't set them if they equal the default, because that disables autodetection needed for cross-building.
ifneq (cc,$(CC))
CONFIG += --cc=$(CC)
endif
ifneq (g++,$(CXX))
CONFIG += --cxx=$(CXX)
endif
# Some libraries are built only on linux.
ifeq (linux,$(DEB_HOST_ARCH_OS))
CONFIG += --enable-libdc1394 \
--enable-libdrm \
--enable-libiec61883
endif
# ffmpeg is involved in build-dependency cycles with x264 and chromaprint, so disable them in stage one.
# Also disable
# - frei0r, which build-depends on opencv.
# - rav1e and rsvg2 for bootstrap to avoid a complete rust toolchain.
# - network protocols srt, ssh, zmq, rabbitmq, rist, ...
# - device access bluray, jack, ...
# - optional features pocketsphix, zvbi, ladsap, lv2, sdl2, ...
ifneq (,$(filter pkg.ffmpeg.stage1,$(DEB_BUILD_PROFILES)))
CONFIG += \
--disable-chromaprint \
--disable-frei0r \
--disable-ladspa \
--disable-libbluray \
--disable-libjack \
--disable-libjxl \
--disable-libplacebo \
--disable-libpulse \
--disable-librabbitmq \
--disable-librav1e \
--disable-librist \
--disable-librsvg \
--disable-libsrt \
--disable-libssh \
--disable-libsvtav1 \
--disable-libx264 \
--disable-libzmq \
--disable-libzvbi \
--disable-lv2 \
--disable-pocketsphinx \
--disable-sdl2
else
CONFIG += \
--enable-chromaprint \
--enable-frei0r \
--enable-ladspa \
--enable-libbluray \
--enable-libjack \
--enable-libpulse \
--enable-librabbitmq \
--enable-librist \
--enable-libsrt \
--enable-libssh \
--enable-libsvtav1 \
--enable-libx264 \
--enable-libzmq \
--enable-libzvbi \
--enable-lv2 \
--enable-sdl2
# Some libraries are built only on linux.
ifeq (linux,$(DEB_HOST_ARCH_OS))
CONFIG += --enable-libplacebo
else
CONFIG += --disable-libplacebo
endif
# Rust is not available on most of ports.
ifeq (,$(filter alpha hppa hurd-i386 i386 ia64 m68k sh4 sparc64 x32,$(DEB_HOST_ARCH)))
CONFIG += --enable-librav1e
else
CONFIG += --disable-librav1e
endif
# avoid pocketsphinx on mips (bug#812335), alpha, i386, ia64 and big-endian (bug#968456)
ifeq (,$(filter mips% alpha i386 ia64,$(DEB_HOST_ARCH))$(filter big,$(DEB_HOST_ARCH_ENDIAN)))
CONFIG += --enable-pocketsphinx
else
CONFIG += --disable-pocketsphinx
endif
# avoid librsvg on almost all ports (bug#983344, bug#991556)
ifeq (,$(filter alpha hppa hurd-i386 ia64 m68k sh4 x32,$(DEB_HOST_ARCH)))
CONFIG += --enable-librsvg
else
CONFIG += --disable-librsvg
endif
# avoid libjxl on alpha and i386 for now
ifeq (,$(filter alpha i386,$(DEB_HOST_ARCH)))
CONFIG += --enable-libjxl
else
CONFIG += --disable-libjxl
endif
endif
# Disable altivec optimizations on powerpc, because they are not always available on this architecture.
ifeq (powerpc,$(DEB_HOST_ARCH))
CONFIG += --disable-altivec
# Build an altivec flavor of the libraries on powerpc.
# This works around the problem that runtime cpu detection on powerpc currently does not work,
# because, if altivec is enabled, all files are build with '-maltivec' so that the compiler inserts altivec instructions, wherever it likes.
CONFIG_altivec = --enable-shared \
--enable-altivec \
--disable-doc \
--disable-programs
CONFIG_altivec-extra = $(CONFIG_altivec) $(CONFIG_extra)
FLAVORS += altivec altivec-extra
endif
# Disable assembly optimizations on x32, because they don't work (yet).
ifneq (,$(filter x32,$(DEB_HOST_ARCH)))
CONFIG += --disable-asm
endif
ifneq (,$(filter mips%,$(DEB_HOST_ARCH)))
CONFIG += --disable-mipsdsp \
--disable-mipsdspr2 \
--disable-loongson2 \
--disable-loongson3 \
--disable-mmi \
--disable-mips32r5 \
$(MIPS_R2_R6_CONFIG) \
--disable-msa
endif
# Disable some tests which fail when FLT_EVAL_METHOD != 0 (found on i386, m68k and s390x)
ifneq (,$(filter i386 m68k s390x,$(DEB_HOST_ARCH_CPU)))
CONFIG += --ignore-tests=hapenc-hap-none,hapenc-hapa-none,hapenc-hapq-none
endif
# Disable new tests that were never successful on ppc64el
# (introduced in 5fdb5ed6132687219d0ef2127115ebaf95514058)
# https://trac.ffmpeg.org/ticket/9604
ifeq (ppc64el,$(DEB_HOST_ARCH))
CONFIG += --ignore-tests=checkasm-sw_scale,filter-scale2ref_keep_aspect
endif
# https://trac.ffmpeg.org/ticket/9855
ifneq (,$(filter hppa m68k powerpc sparc64 s390x,$(DEB_HOST_ARCH_CPU)))
CONFIG += --ignore-tests=filter-overlay_yuv420p10
endif
ifeq (ppc64,$(DEB_HOST_ARCH))
CONFIG += --ignore-tests=checkasm-sw_scale,filter-overlay_yuv420p10
endif
# Set cross-build prefix for compiler, pkg-config...
ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
CONFIG += --cross-prefix=$(DEB_HOST_GNU_TYPE)- \
--target-os=$(DEB_HOST_ARCH_OS)
endif
%:
dh $@
# Add configuration options:
override_dh_auto_configure: $(patsubst %,configure_%,$(FLAVORS))
configure_%:
$(info $() debian/rules $@)
mkdir -p debian/$*
cd debian/$* && ../../configure $(strip $(CONFIG) $(CONFIG_$*)) || (cat ffbuild/config.log && exit 1)
# Remove the subdirectories generated for the flavors.
override_dh_auto_clean:
rm -rf $(patsubst %,debian/%,$(FLAVORS))
# Create doxygen documentation:
override_dh_auto_build-indep:
dh_auto_build -i --sourcedirectory=debian/standard -- apidoc documentation
# Create the minified CSS files.
# Due to https://github.com/nodejs/node/issues/14752 where nodejs will
# leave set O_NONBLOCK on stderr, we pipe stderr through cat which will
# create a temporary pipe so this doesn't break the rest of the build.
# See: #895154
(lessc debian/missing-sources/ffmpeg-web/src/less/style.less | cleancss > debian/standard/doc/style.min.css) 2>&1 | cat >&2
override_dh_auto_build-arch: $(patsubst %,build_%,$(FLAVORS))
# noop fallback for below more specific targets
prebuild_%:
:
# Copy built object files to avoid building them again for the extra flavor.
$(patsubst %,prebuild_%,$(filter %extra,$(FLAVORS))): prebuild_%: build_standard
$(info $() debian/rules $@)
$(eval subdir = debian/$(subst extra,standard,$(subst -extra,,$*)))
cd $(subdir) && find libavcodec libavdevice libavfilter libavformat libavutil libpostproc libswscale libswresample \
-type f -name '*.o' \
-exec install -m 644 -D -T '{}' '../$*/{}' ';'
rm debian/$*/libavcodec/allcodecs.o
rm debian/$*/libavfilter/allfilters.o
# Build qt-faststart here, to make it possible to build with 'nocheck'.
prebuild_standard:
$(info $() debian/rules $@)
$(MAKE) -C debian/standard tools/qt-faststart
build_%: prebuild_%
$(info $() debian/rules $@)
dh_auto_build -a --sourcedirectory=debian/$* || (cat debian/$*/config.log && exit 1)
# Set the library path for the dynamic linker, because the tests otherwise don't find the libraries.
override_dh_auto_test-arch:
export LD_LIBRARY_PATH="libavcodec:libavdevice:libavfilter:libavformat:libavutil:libpostproc:libswresample:libswscale"; \
dh_auto_test -a --sourcedirectory=debian/standard -- -k
# No tests for indep build.
override_dh_auto_test-indep:
override_dh_auto_install-arch:
dh_auto_install -a --sourcedirectory=debian/standard
ifeq (powerpc,$(DEB_HOST_ARCH))
install -d debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/altivec
install -m 644 debian/altivec/*/*.so.* debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/altivec
endif
ifeq ($(filter pkg.ffmpeg.noextra,$(DEB_BUILD_PROFILES)),)
dh_auto_install -a --sourcedirectory=debian/extra --destdir=debian/tmp/extra
endif
ifeq (powerpc,$(DEB_HOST_ARCH))
install -d debian/tmp/extra/usr/lib/$(DEB_HOST_MULTIARCH)/altivec
install -m 644 debian/altivec-extra/*/*.so.* debian/tmp/extra/usr/lib/$(DEB_HOST_MULTIARCH)/altivec
endif
override_dh_auto_install-indep:
$(MAKE) -C debian/standard DESTDIR=$(CURDIR)/debian/tmp install-doc install-examples
# Create index.html page for the FFmpeg manual
cd debian/tmp/usr/share/doc/ffmpeg && tree -H '.' -L 1 -P '*.html' --noreport --charset utf-8 -T 'FFmpeg Manual Index' -o index.html
override_dh_install:
ifeq ($(filter pkg.ffmpeg.noextra,$(DEB_BUILD_PROFILES)),)
dh_install $(addprefix -p,$(EXTRA_PKGS)) --sourcedir=debian/tmp/extra
endif
dh_install --remaining-packages
debian/%.symbols: debian/%.symbols.in
sed 's/@DEB_VERSION@/${DEB_VERSION}/;s/@DEB_VERSION_EPOCH_UPSTREAM@/${DEB_VERSION_EPOCH_UPSTREAM}/' $< > $@
ifeq ($(filter pkg.ffmpeg.noextra,$(DEB_BUILD_PROFILES)),)
execute_before_dh_makeshlibs: $(patsubst %,debian/%.symbols,$(SHLIB_PKGS))
set -e && for pkg in $(EXTRA_PKGS); do \
mainpkg=`echo $$pkg | sed 's/-extra//'`; \
cp -f debian/$$mainpkg.symbols debian/$$pkg.symbols; \
done
endif
# avoid error: Unknown DWARF DW_OP_0
override_dh_dwz:
dh_dwz -Xlibavcodec -Xlibavfilter -Xlibavutil -Xlibswresample -Xlibswscale