Add experimental package ffmpeg-openipc (#403)

pull/415/head
Igor Zalatov 2022-08-26 22:52:11 +03:00 committed by GitHub
parent 8d06e76b16
commit c1e3205a48
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
28 changed files with 311 additions and 0 deletions

1
.github/CODEOWNERS vendored
View File

@ -10,3 +10,4 @@
* @cronyx
* @dimerr
* @widgetii
* @themactep

View File

@ -5,6 +5,7 @@ source "$BR2_EXTERNAL_FULLHAN_PATH/package/fullhan_patcher/Config.in"
source "$BR2_EXTERNAL_FULLHAN_PATH/package/aura-httpd/Config.in"
source "$BR2_EXTERNAL_FULLHAN_PATH/package/dropbear-openipc/Config.in"
source "$BR2_EXTERNAL_FULLHAN_PATH/package/fdk-aac-openipc/Config.in"
source "$BR2_EXTERNAL_FULLHAN_PATH/package/ffmpeg-openipc/Config.in"
source "$BR2_EXTERNAL_FULLHAN_PATH/package/fwprintenv-openipc/Config.in"
source "$BR2_EXTERNAL_FULLHAN_PATH/package/ipctool/Config.in"
source "$BR2_EXTERNAL_FULLHAN_PATH/package/json-c-openipc/Config.in"

View File

@ -5,6 +5,7 @@ include $(BR2_EXTERNAL_FULLHAN_PATH)/package/fullhan_patcher/fullhan_patcher.mk
include $(BR2_EXTERNAL_FULLHAN_PATH)/package/aura-httpd/aura-httpd.mk
include $(BR2_EXTERNAL_FULLHAN_PATH)/package/dropbear-openipc/dropbear-openipc.mk
include $(BR2_EXTERNAL_FULLHAN_PATH)/package/fdk-aac-openipc/fdk-aac-openipc.mk
include $(BR2_EXTERNAL_FULLHAN_PATH)/package/ffmpeg-openipc/ffmpeg-openipc.mk
include $(BR2_EXTERNAL_FULLHAN_PATH)/package/fwprintenv-openipc/fwprintenv-openipc.mk
include $(BR2_EXTERNAL_FULLHAN_PATH)/package/ipctool/ipctool.mk
include $(BR2_EXTERNAL_FULLHAN_PATH)/package/json-c-openipc/json-c-openipc.mk

View File

@ -0,0 +1 @@
../../general/package/ffmpeg-openipc

View File

@ -5,6 +5,7 @@ source "$BR2_EXTERNAL_GOKE_PATH/package/ax-agent/Config.in"
source "$BR2_EXTERNAL_GOKE_PATH/package/baresip-openipc/Config.in"
source "$BR2_EXTERNAL_GOKE_PATH/package/dropbear-openipc/Config.in"
source "$BR2_EXTERNAL_GOKE_PATH/package/fdk-aac-openipc/Config.in"
source "$BR2_EXTERNAL_GOKE_PATH/package/ffmpeg-openipc/Config.in"
source "$BR2_EXTERNAL_GOKE_PATH/package/fwprintenv-openipc/Config.in"
source "$BR2_EXTERNAL_GOKE_PATH/package/goke-osdrv-gk710x/Config.in"
source "$BR2_EXTERNAL_GOKE_PATH/package/goke-osdrv-gk7205v200/Config.in"

View File

@ -5,6 +5,7 @@ include $(BR2_EXTERNAL_GOKE_PATH)/package/ax-agent/ax-agent.mk
include $(BR2_EXTERNAL_GOKE_PATH)/package/baresip-openipc/baresip-openipc.mk
include $(BR2_EXTERNAL_GOKE_PATH)/package/dropbear-openipc/dropbear-openipc.mk
include $(BR2_EXTERNAL_GOKE_PATH)/package/fdk-aac-openipc/fdk-aac-openipc.mk
include $(BR2_EXTERNAL_GOKE_PATH)/package/ffmpeg-openipc/ffmpeg-openipc.mk
include $(BR2_EXTERNAL_GOKE_PATH)/package/fwprintenv-openipc/fwprintenv-openipc.mk
include $(BR2_EXTERNAL_GOKE_PATH)/package/goke-osdrv-gk710x/goke-osdrv-gk710x.mk
include $(BR2_EXTERNAL_GOKE_PATH)/package/goke-osdrv-gk7205v200/goke-osdrv-gk7205v200.mk

View File

@ -0,0 +1 @@
../../general/package/ffmpeg-openipc

View File

@ -4,6 +4,7 @@ source "$BR2_EXTERNAL_GRAINMEDIA_PATH/package/grainmedia_patcher/Config.in"
source "$BR2_EXTERNAL_GRAINMEDIA_PATH/package/aura-httpd/Config.in"
source "$BR2_EXTERNAL_GRAINMEDIA_PATH/package/dropbear-openipc/Config.in"
source "$BR2_EXTERNAL_GRAINMEDIA_PATH/package/fdk-aac-openipc/Config.in"
source "$BR2_EXTERNAL_GRAINMEDIA_PATH/package/ffmpeg-openipc/Config.in"
source "$BR2_EXTERNAL_GRAINMEDIA_PATH/package/fwprintenv-openipc/Config.in"
source "$BR2_EXTERNAL_GRAINMEDIA_PATH/package/ipctool/Config.in"
source "$BR2_EXTERNAL_GRAINMEDIA_PATH/package/json-c-openipc/Config.in"

View File

@ -4,6 +4,7 @@ include $(BR2_EXTERNAL_GRAINMEDIA_PATH)/package/grainmedia_patcher/grainmedia_pa
include $(BR2_EXTERNAL_GRAINMEDIA_PATH)/package/aura-httpd/aura-httpd.mk
include $(BR2_EXTERNAL_GRAINMEDIA_PATH)/package/dropbear-openipc/dropbear-openipc.mk
include $(BR2_EXTERNAL_GRAINMEDIA_PATH)/package/fdk-aac-openipc/fdk-aac-openipc.mk
include $(BR2_EXTERNAL_GRAINMEDIA_PATH)/package/ffmpeg-openipc/ffmpeg-openipc.mk
include $(BR2_EXTERNAL_GRAINMEDIA_PATH)/package/fwprintenv-openipc/fwprintenv-openipc.mk
include $(BR2_EXTERNAL_GRAINMEDIA_PATH)/package/ipctool/ipctool.mk
include $(BR2_EXTERNAL_GRAINMEDIA_PATH)/package/json-c-openipc/json-c-openipc.mk

View File

@ -0,0 +1 @@
../../general/package/ffmpeg-openipc

View File

@ -7,6 +7,7 @@ source "$BR2_EXTERNAL_HISILICON_PATH/package/baresip-openipc/Config.in"
source "$BR2_EXTERNAL_HISILICON_PATH/package/dropbear-openipc/Config.in"
source "$BR2_EXTERNAL_HISILICON_PATH/package/f2fs-tools-openipc/Config.in"
source "$BR2_EXTERNAL_HISILICON_PATH/package/fdk-aac-openipc/Config.in"
source "$BR2_EXTERNAL_HISILICON_PATH/package/ffmpeg-openipc/Config.in"
source "$BR2_EXTERNAL_HISILICON_PATH/package/fwprintenv-openipc/Config.in"
source "$BR2_EXTERNAL_HISILICON_PATH/package/gdbserver-lite/Config.in"
source "$BR2_EXTERNAL_HISILICON_PATH/package/hisi_gpio/Config.in"

View File

@ -7,6 +7,7 @@ include $(BR2_EXTERNAL_HISILICON_PATH)/package/baresip-openipc/baresip-openipc.m
include $(BR2_EXTERNAL_HISILICON_PATH)/package/dropbear-openipc/dropbear-openipc.mk
include $(BR2_EXTERNAL_HISILICON_PATH)/package/f2fs-tools-openipc/f2fs-tools-openipc.mk
include $(BR2_EXTERNAL_HISILICON_PATH)/package/fdk-aac-openipc/fdk-aac-openipc.mk
include $(BR2_EXTERNAL_HISILICON_PATH)/package/ffmpeg-openipc/ffmpeg-openipc.mk
include $(BR2_EXTERNAL_HISILICON_PATH)/package/fwprintenv-openipc/fwprintenv-openipc.mk
include $(BR2_EXTERNAL_HISILICON_PATH)/package/gdbserver-lite/gdbserver-lite.mk
include $(BR2_EXTERNAL_HISILICON_PATH)/package/hisi_gpio/hisi_gpio.mk

View File

@ -0,0 +1 @@
../../general/package/ffmpeg-openipc

View File

@ -7,6 +7,7 @@ source "$BR2_EXTERNAL_INGENIC_PATH/package/aura-httpd/Config.in"
source "$BR2_EXTERNAL_INGENIC_PATH/package/ax-agent/Config.in"
source "$BR2_EXTERNAL_INGENIC_PATH/package/dropbear-openipc/Config.in"
source "$BR2_EXTERNAL_INGENIC_PATH/package/fdk-aac-openipc/Config.in"
source "$BR2_EXTERNAL_INGENIC_PATH/package/ffmpeg-openipc/Config.in"
source "$BR2_EXTERNAL_INGENIC_PATH/package/fwprintenv-openipc/Config.in"
source "$BR2_EXTERNAL_INGENIC_PATH/package/i2c-telemetry/Config.in"
source "$BR2_EXTERNAL_INGENIC_PATH/package/ipctool/Config.in"

View File

@ -7,6 +7,7 @@ include $(BR2_EXTERNAL_INGENIC_PATH)/package/aura-httpd/aura-httpd.mk
include $(BR2_EXTERNAL_INGENIC_PATH)/package/ax-agent/ax-agent.mk
include $(BR2_EXTERNAL_INGENIC_PATH)/package/dropbear-openipc/dropbear-openipc.mk
include $(BR2_EXTERNAL_INGENIC_PATH)/package/fdk-aac-openipc/fdk-aac-openipc.mk
include $(BR2_EXTERNAL_INGENIC_PATH)/package/ffmpeg-openipc/ffmpeg-openipc.mk
include $(BR2_EXTERNAL_INGENIC_PATH)/package/fwprintenv-openipc/fwprintenv-openipc.mk
include $(BR2_EXTERNAL_INGENIC_PATH)/package/i2c-telemetry/i2c-telemetry.mk
include $(BR2_EXTERNAL_INGENIC_PATH)/package/ipctool/ipctool.mk

View File

@ -0,0 +1 @@
../../general/package/ffmpeg-openipc

View File

@ -4,6 +4,7 @@ source "$BR2_EXTERNAL_SIGMASTAR_PATH/package/aura-httpd/Config.in"
source "$BR2_EXTERNAL_SIGMASTAR_PATH/package/baresip-openipc/Config.in"
source "$BR2_EXTERNAL_SIGMASTAR_PATH/package/dropbear-openipc/Config.in"
source "$BR2_EXTERNAL_SIGMASTAR_PATH/package/fdk-aac-openipc/Config.in"
source "$BR2_EXTERNAL_SIGMASTAR_PATH/package/ffmpeg-openipc/Config.in"
source "$BR2_EXTERNAL_SIGMASTAR_PATH/package/fwprintenv-openipc/Config.in"
source "$BR2_EXTERNAL_SIGMASTAR_PATH/package/gdbserver-lite/Config.in"
source "$BR2_EXTERNAL_SIGMASTAR_PATH/package/ipctool/Config.in"

View File

@ -4,6 +4,7 @@ include $(BR2_EXTERNAL_SIGMASTAR_PATH)/package/aura-httpd/aura-httpd.mk
include $(BR2_EXTERNAL_SIGMASTAR_PATH)/package/baresip-openipc/baresip-openipc.mk
include $(BR2_EXTERNAL_SIGMASTAR_PATH)/package/dropbear-openipc/dropbear-openipc.mk
include $(BR2_EXTERNAL_SIGMASTAR_PATH)/package/fdk-aac-openipc/fdk-aac-openipc.mk
include $(BR2_EXTERNAL_SIGMASTAR_PATH)/package/ffmpeg-openipc/ffmpeg-openipc.mk
include $(BR2_EXTERNAL_SIGMASTAR_PATH)/package/fwprintenv-openipc/fwprintenv-openipc.mk
include $(BR2_EXTERNAL_SIGMASTAR_PATH)/package/gdbserver-lite/gdbserver-lite.mk
include $(BR2_EXTERNAL_SIGMASTAR_PATH)/package/ipctool/ipctool.mk

View File

@ -0,0 +1 @@
../../general/package/ffmpeg-openipc

View File

@ -3,6 +3,7 @@ source "$BR2_EXTERNAL_XIONGMAI_PATH/package/xiongmai_patcher/Config.in"
source "$BR2_EXTERNAL_XIONGMAI_PATH/package/aura-httpd/Config.in"
source "$BR2_EXTERNAL_XIONGMAI_PATH/package/dropbear-openipc/Config.in"
source "$BR2_EXTERNAL_XIONGMAI_PATH/package/fdk-aac-openipc/Config.in"
source "$BR2_EXTERNAL_XIONGMAI_PATH/package/ffmpeg-openipc/Config.in"
source "$BR2_EXTERNAL_XIONGMAI_PATH/package/fwprintenv-openipc/Config.in"
source "$BR2_EXTERNAL_XIONGMAI_PATH/package/ipctool/Config.in"
source "$BR2_EXTERNAL_XIONGMAI_PATH/package/json-c-openipc/Config.in"

View File

@ -3,6 +3,7 @@ include $(BR2_EXTERNAL_XIONGMAI_PATH)/package/xiongmai_patcher/xiongmai_patcher.
include $(BR2_EXTERNAL_XIONGMAI_PATH)/package/aura-httpd/aura-httpd.mk
include $(BR2_EXTERNAL_XIONGMAI_PATH)/package/dropbear-openipc/dropbear-openipc.mk
include $(BR2_EXTERNAL_XIONGMAI_PATH)/package/fdk-aac-openipc/fdk-aac-openipc.mk
include $(BR2_EXTERNAL_XIONGMAI_PATH)/package/ffmpeg-openipc/ffmpeg-openipc.mk
include $(BR2_EXTERNAL_XIONGMAI_PATH)/package/fwprintenv-openipc/fwprintenv-openipc.mk
include $(BR2_EXTERNAL_XIONGMAI_PATH)/package/ipctool/ipctool.mk
include $(BR2_EXTERNAL_XIONGMAI_PATH)/package/json-c-openipc/json-c-openipc.mk

View File

@ -0,0 +1 @@
../../general/package/ffmpeg-openipc

View File

@ -0,0 +1,43 @@
From bf8eae2d30a205bb76ac625e04c0351106981b9e Mon Sep 17 00:00:00 2001
From: Parker Ernest <@>
Date: Sun, 23 Feb 2020 13:22:42 +0100
Subject: [PATCH] swscale/x86/yuv2rgb: Fix build without SSSE3
commit fc6a5883d6af8cae0e96af84dda0ad74b360a084 breaks build on
x86_64 CPUs which do not have SSSE3, e.g. AMD Phenom-II
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
[bernd.kuhls@t-online.de:
- retrieved from upstream patchwork:
https://patchwork.ffmpeg.org/project/ffmpeg/patch/20200223122256.23402-1-michael@niedermayer.cc/
]
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[yann.morin.1998@free.fr: fix reference top patchwork and SoB order]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
---
libswscale/x86/yuv2rgb.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/libswscale/x86/yuv2rgb.c b/libswscale/x86/yuv2rgb.c
index c12e88cbb5..4791e5b93a 100644
--- a/libswscale/x86/yuv2rgb.c
+++ b/libswscale/x86/yuv2rgb.c
@@ -83,6 +83,7 @@ av_cold SwsFunc ff_yuv2rgb_init_x86(SwsContext *c)
#if HAVE_X86ASM
int cpu_flags = av_get_cpu_flags();
+#if HAVE_SSSE3
if (EXTERNAL_SSSE3(cpu_flags)) {
switch (c->dstFormat) {
case AV_PIX_FMT_RGB32:
@@ -111,6 +112,7 @@ av_cold SwsFunc ff_yuv2rgb_init_x86(SwsContext *c)
return yuv420_rgb15_ssse3;
}
}
+#endif
if (EXTERNAL_MMXEXT(cpu_flags)) {
switch (c->dstFormat) {
--
2.26.2

View File

@ -0,0 +1,36 @@
From 2c6b3f357331e203ad87214984661c40704aceb7 Mon Sep 17 00:00:00 2001
From: Rainer Hochecker <fernetmenta@online.de>
Date: Sat, 26 Jan 2019 19:48:35 +0100
Subject: [PATCH] avcodec/vaapi_h264: skip decode if pic has no slices
This fixes / workarounds https://bugs.freedesktop.org/show_bug.cgi?id=105368.
It was hit frequently when watching h264 channels received via DVB-X.
Corresponding kodi bug: https://github.com/xbmc/xbmc/issues/15704
Downloaded from Kodi ffmpeg repo:
https://github.com/xbmc/FFmpeg/commit/2c6b3f357331e203ad87214984661c40704aceb7
Patch was sent upstream:
http://ffmpeg.org/pipermail/ffmpeg-devel/2019-March/240863.html
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
libavcodec/vaapi_h264.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/libavcodec/vaapi_h264.c b/libavcodec/vaapi_h264.c
index dd2a6571604..e521a05c4ff 100644
--- a/libavcodec/vaapi_h264.c
+++ b/libavcodec/vaapi_h264.c
@@ -314,6 +314,11 @@ static int vaapi_h264_end_frame(AVCodecContext *avctx)
H264SliceContext *sl = &h->slice_ctx[0];
int ret;
+ if (pic->nb_slices == 0) {
+ ret = AVERROR_INVALIDDATA;
+ goto finish;
+ }
+
ret = ff_vaapi_decode_issue(avctx, pic);
if (ret < 0)
goto finish;

View File

@ -0,0 +1,72 @@
From 6e8daf0d502a2a822f1f08f42368d7d676dc1a9e Mon Sep 17 00:00:00 2001
From: Bernd Kuhls <bernd.kuhls@t-online.de>
Date: Sun, 6 Jun 2021 08:54:53 +0200
Subject: [PATCH] libavutil: Fix mips build
Check for sys/auxv.h because not all toolchains contain this header.
Fixes https://trac.ffmpeg.org/ticket/9138
Patch sent upstream:
http://ffmpeg.org/pipermail/ffmpeg-devel/2021-June/281272.html
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
configure | 2 ++
libavutil/mips/cpu.c | 6 +++---
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/configure b/configure
index 6bfd98b384..773a7d516c 100755
--- a/configure
+++ b/configure
@@ -2161,6 +2161,7 @@ HEADERS_LIST="
opencv2_core_core_c_h
OpenGL_gl3_h
poll_h
+ sys_auxv_h
sys_param_h
sys_resource_h
sys_select_h
@@ -6218,6 +6219,7 @@ check_func_headers VideoToolbox/VTCompressionSession.h VTCompressionSessionPrepa
check_headers windows.h
check_headers X11/extensions/XvMClib.h
check_headers asm/types.h
+check_headers sys/auxv.h
# it seems there are versions of clang in some distros that try to use the
# gcc headers, which explodes for stdatomic
diff --git a/libavutil/mips/cpu.c b/libavutil/mips/cpu.c
index 59619d54de..19196de50b 100644
--- a/libavutil/mips/cpu.c
+++ b/libavutil/mips/cpu.c
@@ -19,7 +19,7 @@
#include "libavutil/cpu.h"
#include "libavutil/cpu_internal.h"
#include "config.h"
-#if defined __linux__ || defined __ANDROID__
+#if (defined __linux__ || defined __ANDROID__) && HAVE_SYS_AUXV_H
#include <stdint.h>
#include <stdio.h>
#include <string.h>
@@ -28,7 +28,7 @@
#include "libavutil/avstring.h"
#endif
-#if defined __linux__ || defined __ANDROID__
+#if (defined __linux__ || defined __ANDROID__) && HAVE_SYS_AUXV_H
#define HWCAP_LOONGSON_CPUCFG (1 << 14)
@@ -105,7 +105,7 @@ static int cpu_flags_cpuinfo(void)
int ff_get_cpu_flags_mips(void)
{
-#if defined __linux__ || defined __ANDROID__
+#if (defined __linux__ || defined __ANDROID__) && HAVE_SYS_AUXV_H
if (cpucfg_available())
return cpu_flags_cpucfg();
else
--
2.29.2

View File

@ -0,0 +1,47 @@
From 0c288853630b7b4e004774c39945d4a804afcfa8 Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Fri, 6 Aug 2021 09:17:20 +0200
Subject: [PATCH] configure: add extralibs to extralibs_xxx
Add extralibs to extralibs_xxx (e.g. extralibs_avformat) to allow
applications such as motion to retrieve ffmpeg dependencies such as
-latomic through pkg-config
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Upstream status: not upstreamable]
---
configure | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/configure b/configure
index 0bb3a7cf2b..3bda99e415 100755
--- a/configure
+++ b/configure
@@ -7602,15 +7602,15 @@ rpath=$(enabled rpath && echo "-Wl,-rpath,\${libdir}")
source_path=${source_path}
LIBPREF=${LIBPREF}
LIBSUF=${LIBSUF}
-extralibs_avutil="$avutil_extralibs"
-extralibs_avcodec="$avcodec_extralibs"
-extralibs_avformat="$avformat_extralibs"
-extralibs_avdevice="$avdevice_extralibs"
-extralibs_avfilter="$avfilter_extralibs"
-extralibs_avresample="$avresample_extralibs"
-extralibs_postproc="$postproc_extralibs"
-extralibs_swscale="$swscale_extralibs"
-extralibs_swresample="$swresample_extralibs"
+extralibs_avutil="$avutil_extralibs $extralibs"
+extralibs_avcodec="$avcodec_extralibs $extralibs"
+extralibs_avformat="$avformat_extralibs $extralibs"
+extralibs_avdevice="$avdevice_extralibs $extralibs"
+extralibs_avfilter="$avfilter_extralibs $extralibs"
+extralibs_avresample="$avresample_extralibs $extralibs"
+extralibs_postproc="$postproc_extralibs $extralibs"
+extralibs_swscale="$swscale_extralibs $extralibs"
+extralibs_swresample="$swresample_extralibs $extralibs"
EOF
for lib in $LIBRARY_LIST; do
--
2.30.2

View File

@ -0,0 +1,8 @@
config BR2_PACKAGE_FFMPEG_OPENIPC
bool "ffmpeg-openipc"
default n
help
FFmpeg is a complete, cross-platform solution to record,
convert and stream audio and video.
http://www.ffmpeg.org

View File

@ -0,0 +1,83 @@
################################################################################
#
# ffmpeg-openipc | updated 2022.08.10
#
################################################################################
FFMPEG_OPENIPC_VERSION = 4.4.2
FFMPEG_OPENIPC_SOURCE = ffmpeg-$(FFMPEG_OPENIPC_VERSION).tar.xz
FFMPEG_OPENIPC_SITE = http://ffmpeg.org/releases
FFMPEG_OPENIPC_INSTALL_STAGING = NO
FFMPEG_OPENIPC_LICENSE = LGPL-2.1+, libjpeg license
FFMPEG_OPENIPC_LICENSE_FILES = LICENSE.md COPYING.LGPLv2.1
FFMPEG_OPENIPC_CONF_OPTS = \
--prefix=/usr \
--disable-everything \
--disable-x86asm --disable-w32threads --disable-os2threads --disable-alsa --disable-appkit \
--disable-avfoundation --disable-bzlib --disable-coreimage --disable-iconv --disable-libxcb \
--disable-libxcb-shm --disable-libxcb-xfixes --disable-libxcb-shape --disable-lzma \
--disable-asm --disable-sndio --disable-sdl2 --disable-xlib --disable-zlib --disable-amf \
--disable-audiotoolbox --disable-cuda --disable-cuvid --disable-d3d11va --disable-dxva2 \
--disable-nvdec --disable-nvenc --disable-v4l2-m2m --disable-vaapi --disable-vdpau --disable-videotoolbox \
--disable-avdevice --disable-swscale --disable-postproc --disable-doc --disable-runtime-cpudetect \
--disable-bsfs --disable-iconv --disable-ffprobe --enable-gpl --enable-version3 --enable-pthreads \
\
--disable-swresample \
--disable-avdevice \
--disable-filters \
--disable-encoders \
--disable-decoders --enable-decoder=h264,hevc \
--disable-muxers --enable-muxer=rtsp \
--disable-demuxers --enable-demuxer=rtsp \
--disable-parsers --enable-parser=h264,hevc \
--disable-protocols --enable-protocol=file,tcp \
--disable-programs --enable-ffmpeg --enable-small
FFMPEG_OPENIPC_DEPENDENCIES += host-pkgconf
# Default to --cpu=generic for MIPS architecture, in order to avoid a
# warning from ffmpeg's configure script.
ifeq ($(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el),y)
FFMPEG_OPENIPC_CONF_OPTS += --cpu=generic
else ifneq ($(GCC_TARGET_CPU),)
FFMPEG_OPENIPC_CONF_OPTS += --cpu="$(GCC_TARGET_CPU)"
else ifneq ($(GCC_TARGET_ARCH),)
FFMPEG_OPENIPC_CONF_OPTS += --cpu="$(GCC_TARGET_ARCH)"
endif
FFMPEG_OPENIPC_CFLAGS = $(TARGET_CFLAGS)
ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y)
FFMPEG_OPENIPC_CONF_OPTS += --disable-optimizations
FFMPEG_OPENIPC_CFLAGS += -O0
endif
FFMPEG_OPENIPC_CONF_ENV += CFLAGS="$(FFMPEG_OPENIPC_CFLAGS)"
# Override FFMPEG_OPENIPC_CONFIGURE_CMDS: FFmpeg does not support --target and others
define FFMPEG_OPENIPC_CONFIGURE_CMDS
(cd $(FFMPEG_OPENIPC_SRCDIR) && rm -rf config.cache && \
$(TARGET_CONFIGURE_OPTS) \
$(TARGET_CONFIGURE_ARGS) \
$(FFMPEG_OPENIPC_CONF_ENV) \
./configure \
--enable-cross-compile \
--cross-prefix=$(TARGET_CROSS) \
--sysroot=$(STAGING_DIR) \
--host-cc="$(HOSTCC)" \
--arch=$(BR2_ARCH) \
--target-os="linux" \
--pkg-config="$(PKG_CONFIG_HOST_BINARY)" \
$(FFMPEG_OPENIPC_CONF_OPTS) \
)
endef
define FFMPEG_OPENIPC_REMOVE_EXAMPLE_SRC_FILES
rm -rf $(TARGET_DIR)/usr/share/ffmpeg/examples
endef
FFMPEG_OPENIPC_POST_INSTALL_TARGET_HOOKS += FFMPEG_OPENIPC_REMOVE_EXAMPLE_SRC_FILES
$(eval $(autotools-package))