multimedia/ffmpeg: replace MMX/SSE/VFP/NEON with ASM

MMX was too specific while SSE included AVX family. VFP became default
due to -mfloat-abi=hard. NEON can be toggled via CPUTYPE. Instead use
one option to disable all assembly which is enough for debugging.
This commit is contained in:
Jan Beich
2020-06-18 17:58:37 +00:00
parent c8a5475f55
commit 791d55b70a

View File

@@ -37,7 +37,7 @@ NOPRECIOUSMAKEVARS= yes # ARCH
PORTSCOUT= limit:^4\.
# Option CHROMAPRINT disabled, it cannot work and people are baffled.
OPTIONS_DEFINE= ALSA AMR_NB AMR_WB AOM ARIBB24 ASS BS2B CACA CDIO CELT \
OPTIONS_DEFINE= ALSA AMR_NB AMR_WB AOM ARIBB24 ASM ASS BS2B CACA CDIO CELT \
CODEC2 DAV1D DAVS2 DC1394 DEBUG DOCS DRM FDK_AAC FLITE \
FONTCONFIG FREETYPE FREI0R FRIBIDI GLSLANG GME GSM ICONV ILBC JACK \
KLVANC KVAZAAR LADSPA LAME LENSFUN LIBBLURAY LIBRSVG2 LIBXML2 \
@@ -48,7 +48,7 @@ OPTIONS_DEFINE= ALSA AMR_NB AMR_WB AOM ARIBB24 ASS BS2B CACA CDIO CELT \
VAAPI VAPOURSYNTH VDPAU VIDSTAB VMAF VO_AMRWBENC VORBIS VPX VULKAN \
WAVPACK WEBP X264 X265 XAVS2 XCB XVID XVIDEO ZIMG ZMQ ZVBI
OPTIONS_DEFAULT= AOM ASS DAV1D DRM FONTCONFIG FREETYPE FREI0R GMP GNUTLS ICONV \
OPTIONS_DEFAULT= AOM ASM ASS DAV1D DRM FONTCONFIG FREETYPE FREI0R GMP GNUTLS ICONV \
LIBXML2 OPENCV OPTIMIZED_CFLAGS OPUS RTCPU THEORA V4L VAAPI VDPAU \
VORBIS VPX X264 X265 XCB XVID
@@ -88,12 +88,6 @@ OPTIONS_RADIO_SSL= GNUTLS MBEDTLS OPENSSL
OPTIONS_GROUP= LICENSE
OPTIONS_GROUP_LICENSE= GPL3 NONFREE
OPTIONS_DEFINE_amd64= MMX SSE
OPTIONS_DEFINE_armv6= VFP NEON
OPTIONS_DEFINE_i386= MMX SSE
OPTIONS_DEFAULT_amd64= MMX SSE
OPTIONS_DEFAULT_i386= MMX SSE
ASS_DESC= Subtitles rendering via libass
AOM_DESC= AV1 video encoding/decoding via libaom
ARIBB24_DESC= ARIB text and caption decoding via libaribb24
@@ -117,7 +111,6 @@ LTO_DESC= Use Link-Time Optimization
LV2_DESC= LV2 audio filtering
MFX_DESC= Intel MediaSDK (aka Quick Sync Video)
MYSOFA_DESC= SOFAlizer binaural filter
NEON_DESC= Media Processing Engine instructions
NONFREE_DESC= Allow use of nonfree code
OPENMPT_DESC= Decoding tracked files via libopenmpt
OPENH264_DESC= H.264 video codec support via OpenH264
@@ -135,7 +128,6 @@ LIBRTMP_DESC= ${RTMP_DESC} via librtmp
TENSORFLOW_DESC=TensorFlow as a DNN module backend for DNN based filters like sr
TESSERACT_DESC= Optical Character Recognition via Tesseract
VAPOURSYNTH_DESC= VapourSynth demuxer
VFP_DESC= Vector Floating Point instructions
VIDSTAB_DESC= Video stabilization filter
VMAF_DESC= VMAF filter via libvmaf
VULKAN_DESC= Vulkan filters
@@ -169,6 +161,9 @@ AOM_CONFIGURE_ENABLE= libaom
ARIBB24_LIB_DEPENDS= libaribb24.so:multimedia/aribb24
ARIBB24_CONFIGURE_ENABLE= libaribb24
# asm support
ASM_CONFIGURE_ENABLE= asm
# ass
ASS_LIB_DEPENDS= libass.so:multimedia/libass
ASS_CONFIGURE_ENABLE= libass
@@ -346,9 +341,6 @@ MBEDTLS_CONFIGURE_ENABLE= mbedtls
MFX_LIB_DEPENDS= libmfx.so:multimedia/intel-media-sdk
MFX_CONFIGURE_ENABLE= libmfx
# mmx support
MMX_CONFIGURE_ENABLE= mmx
# modplug
MODPLUG_LIB_DEPENDS= libmodplug.so:audio/libmodplug
MODPLUG_CONFIGURE_ENABLE= libmodplug
@@ -453,10 +445,6 @@ SOXR_CONFIGURE_ENABLE= libsoxr
SPEEX_LIB_DEPENDS= libspeex.so:audio/speex
SPEEX_CONFIGURE_ENABLE= libspeex
# sse support
SSE_CONFIGURE_ENABLE= sse
SSE_IMPLIES= MMX
# ssh
SSH_LIB_DEPENDS= libssh.so:security/libssh
SSH_CONFIGURE_ENABLE= libssh
@@ -527,13 +515,6 @@ VDPAU_CONFIGURE_ENABLE= vdpau
VMAF_LIB_DEPENDS= libvmaf.so:multimedia/vmaf
VMAF_CONFIGURE_ENABLE= libvmaf
# armv6/armv7
VFP_CONFIGURE_ENABLE= vfp
NEON_CONFIGURE_ENABLE= neon
.if ! ${CFLAGS:M-march*}
NEON_CONFIGURE_ON= --cpu=armv7-a
.endif
# vo-amrwbenc
VO_AMRWBENC_LIB_DEPENDS= libvo-amrwbenc.so:audio/vo-amrwbenc
VO_AMRWBENC_CONFIGURE_ENABLE= libvo-amrwbenc