diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 3df7fb5b..f81bfcd5 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -10,3 +10,4 @@ * @cronyx * @dimerr * @widgetii +* @themactep diff --git a/br-ext-chip-fullhan/Config.in b/br-ext-chip-fullhan/Config.in index e68fa036..6a22252b 100644 --- a/br-ext-chip-fullhan/Config.in +++ b/br-ext-chip-fullhan/Config.in @@ -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" diff --git a/br-ext-chip-fullhan/external.mk b/br-ext-chip-fullhan/external.mk index e959fc4a..badf7d1f 100644 --- a/br-ext-chip-fullhan/external.mk +++ b/br-ext-chip-fullhan/external.mk @@ -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 diff --git a/br-ext-chip-fullhan/package/ffmpeg-openipc b/br-ext-chip-fullhan/package/ffmpeg-openipc new file mode 120000 index 00000000..65b4b0b9 --- /dev/null +++ b/br-ext-chip-fullhan/package/ffmpeg-openipc @@ -0,0 +1 @@ +../../general/package/ffmpeg-openipc \ No newline at end of file diff --git a/br-ext-chip-goke/Config.in b/br-ext-chip-goke/Config.in index 105c556f..031f9635 100644 --- a/br-ext-chip-goke/Config.in +++ b/br-ext-chip-goke/Config.in @@ -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" diff --git a/br-ext-chip-goke/external.mk b/br-ext-chip-goke/external.mk index d39d2224..2465bb3b 100644 --- a/br-ext-chip-goke/external.mk +++ b/br-ext-chip-goke/external.mk @@ -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 diff --git a/br-ext-chip-goke/package/ffmpeg-openipc b/br-ext-chip-goke/package/ffmpeg-openipc new file mode 120000 index 00000000..65b4b0b9 --- /dev/null +++ b/br-ext-chip-goke/package/ffmpeg-openipc @@ -0,0 +1 @@ +../../general/package/ffmpeg-openipc \ No newline at end of file diff --git a/br-ext-chip-grainmedia/Config.in b/br-ext-chip-grainmedia/Config.in index dfabefbe..c6e69f4e 100644 --- a/br-ext-chip-grainmedia/Config.in +++ b/br-ext-chip-grainmedia/Config.in @@ -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" diff --git a/br-ext-chip-grainmedia/external.mk b/br-ext-chip-grainmedia/external.mk index 5889496b..a1754c5b 100644 --- a/br-ext-chip-grainmedia/external.mk +++ b/br-ext-chip-grainmedia/external.mk @@ -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 diff --git a/br-ext-chip-grainmedia/package/ffmpeg-openipc b/br-ext-chip-grainmedia/package/ffmpeg-openipc new file mode 120000 index 00000000..65b4b0b9 --- /dev/null +++ b/br-ext-chip-grainmedia/package/ffmpeg-openipc @@ -0,0 +1 @@ +../../general/package/ffmpeg-openipc \ No newline at end of file diff --git a/br-ext-chip-hisilicon/Config.in b/br-ext-chip-hisilicon/Config.in index a541fcda..d2fe948b 100644 --- a/br-ext-chip-hisilicon/Config.in +++ b/br-ext-chip-hisilicon/Config.in @@ -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" diff --git a/br-ext-chip-hisilicon/external.mk b/br-ext-chip-hisilicon/external.mk index 70180b37..037f826c 100644 --- a/br-ext-chip-hisilicon/external.mk +++ b/br-ext-chip-hisilicon/external.mk @@ -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 diff --git a/br-ext-chip-hisilicon/package/ffmpeg-openipc b/br-ext-chip-hisilicon/package/ffmpeg-openipc new file mode 120000 index 00000000..65b4b0b9 --- /dev/null +++ b/br-ext-chip-hisilicon/package/ffmpeg-openipc @@ -0,0 +1 @@ +../../general/package/ffmpeg-openipc \ No newline at end of file diff --git a/br-ext-chip-ingenic/Config.in b/br-ext-chip-ingenic/Config.in index d78de0f7..197551b0 100644 --- a/br-ext-chip-ingenic/Config.in +++ b/br-ext-chip-ingenic/Config.in @@ -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" diff --git a/br-ext-chip-ingenic/external.mk b/br-ext-chip-ingenic/external.mk index 89245106..bd4a6830 100644 --- a/br-ext-chip-ingenic/external.mk +++ b/br-ext-chip-ingenic/external.mk @@ -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 diff --git a/br-ext-chip-ingenic/package/ffmpeg-openipc b/br-ext-chip-ingenic/package/ffmpeg-openipc new file mode 120000 index 00000000..65b4b0b9 --- /dev/null +++ b/br-ext-chip-ingenic/package/ffmpeg-openipc @@ -0,0 +1 @@ +../../general/package/ffmpeg-openipc \ No newline at end of file diff --git a/br-ext-chip-sigmastar/Config.in b/br-ext-chip-sigmastar/Config.in index 42421d60..a2943395 100644 --- a/br-ext-chip-sigmastar/Config.in +++ b/br-ext-chip-sigmastar/Config.in @@ -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" diff --git a/br-ext-chip-sigmastar/external.mk b/br-ext-chip-sigmastar/external.mk index b71b2c83..c33fc459 100644 --- a/br-ext-chip-sigmastar/external.mk +++ b/br-ext-chip-sigmastar/external.mk @@ -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 diff --git a/br-ext-chip-sigmastar/package/ffmpeg-openipc b/br-ext-chip-sigmastar/package/ffmpeg-openipc new file mode 120000 index 00000000..65b4b0b9 --- /dev/null +++ b/br-ext-chip-sigmastar/package/ffmpeg-openipc @@ -0,0 +1 @@ +../../general/package/ffmpeg-openipc \ No newline at end of file diff --git a/br-ext-chip-xiongmai/Config.in b/br-ext-chip-xiongmai/Config.in index 042360fe..e14af9a8 100644 --- a/br-ext-chip-xiongmai/Config.in +++ b/br-ext-chip-xiongmai/Config.in @@ -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" diff --git a/br-ext-chip-xiongmai/external.mk b/br-ext-chip-xiongmai/external.mk index ed252c8e..13610fff 100644 --- a/br-ext-chip-xiongmai/external.mk +++ b/br-ext-chip-xiongmai/external.mk @@ -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 diff --git a/br-ext-chip-xiongmai/package/ffmpeg-openipc b/br-ext-chip-xiongmai/package/ffmpeg-openipc new file mode 120000 index 00000000..65b4b0b9 --- /dev/null +++ b/br-ext-chip-xiongmai/package/ffmpeg-openipc @@ -0,0 +1 @@ +../../general/package/ffmpeg-openipc \ No newline at end of file diff --git a/general/package/ffmpeg-openipc/0001-swscale-x86-yuv2rgb-Fix-build-without-SSSE3.patch b/general/package/ffmpeg-openipc/0001-swscale-x86-yuv2rgb-Fix-build-without-SSSE3.patch new file mode 100644 index 00000000..951ce418 --- /dev/null +++ b/general/package/ffmpeg-openipc/0001-swscale-x86-yuv2rgb-Fix-build-without-SSSE3.patch @@ -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 +[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 +[yann.morin.1998@free.fr: fix reference top patchwork and SoB order] +Signed-off-by: Yann E. MORIN +--- + 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 + diff --git a/general/package/ffmpeg-openipc/0002-avcodec-vaapi_h264-skip-decode-if-pic-has-no-slices.patch b/general/package/ffmpeg-openipc/0002-avcodec-vaapi_h264-skip-decode-if-pic-has-no-slices.patch new file mode 100644 index 00000000..2892df9d --- /dev/null +++ b/general/package/ffmpeg-openipc/0002-avcodec-vaapi_h264-skip-decode-if-pic-has-no-slices.patch @@ -0,0 +1,36 @@ +From 2c6b3f357331e203ad87214984661c40704aceb7 Mon Sep 17 00:00:00 2001 +From: Rainer Hochecker +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 +--- + 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; diff --git a/general/package/ffmpeg-openipc/0003-libavutil-Fix-mips-build.patch b/general/package/ffmpeg-openipc/0003-libavutil-Fix-mips-build.patch new file mode 100644 index 00000000..8b81e669 --- /dev/null +++ b/general/package/ffmpeg-openipc/0003-libavutil-Fix-mips-build.patch @@ -0,0 +1,72 @@ +From 6e8daf0d502a2a822f1f08f42368d7d676dc1a9e Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +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 +--- + 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 + #include + #include +@@ -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 + diff --git a/general/package/ffmpeg-openipc/0004-configure-add-extralibs-to-extralibs_xxx.patch b/general/package/ffmpeg-openipc/0004-configure-add-extralibs-to-extralibs_xxx.patch new file mode 100644 index 00000000..dbc19c1c --- /dev/null +++ b/general/package/ffmpeg-openipc/0004-configure-add-extralibs-to-extralibs_xxx.patch @@ -0,0 +1,47 @@ +From 0c288853630b7b4e004774c39945d4a804afcfa8 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +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 +[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 + diff --git a/general/package/ffmpeg-openipc/Config.in b/general/package/ffmpeg-openipc/Config.in new file mode 100644 index 00000000..56f795d1 --- /dev/null +++ b/general/package/ffmpeg-openipc/Config.in @@ -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 diff --git a/general/package/ffmpeg-openipc/ffmpeg-openipc.mk b/general/package/ffmpeg-openipc/ffmpeg-openipc.mk new file mode 100644 index 00000000..2f682869 --- /dev/null +++ b/general/package/ffmpeg-openipc/ffmpeg-openipc.mk @@ -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))