logo

oasis

Own branch of Oasis Linux (upstream: <https://git.sr.ht/~mcf/oasis/>) git clone https://anongit.hacktivis.me/git/oasis.git
commit: 9b4962ff1c89d5c3babd45e14542dba97d4ae74f
parent a91cb6432e5f24ba52c616846500fcea6ab2e8b6
Author: Michael Forney <mforney@mforney.org>
Date:   Tue,  7 Sep 2021 02:09:18 -0700

ffmpeg: Various portability fixes

Diffstat:

Apkg/ffmpeg/patch/0002-libavutil-Remove-last-use-of-long-double.patch27+++++++++++++++++++++++++++
Apkg/ffmpeg/patch/0003-libavcodec-Prevent-stray-semicolon-at-top-level.patch114+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Apkg/ffmpeg/patch/0004-libavformat-Use-C99-__func__-instead-of-non-standard.patch58++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Apkg/ffmpeg/patch/0005-libavcodec-Use-if-to-prevent-some-unintended-depende.patch65+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Apkg/ffmpeg/patch/0006-libavutil-Use-config-instead-of-compiler-to-determin.patch61+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Apkg/ffmpeg/patch/0007-HACK-Disable-__has_builtin-for-now.patch30++++++++++++++++++++++++++++++
Mpkg/ffmpeg/ver2+-
7 files changed, 356 insertions(+), 1 deletion(-)

diff --git a/pkg/ffmpeg/patch/0002-libavutil-Remove-last-use-of-long-double.patch b/pkg/ffmpeg/patch/0002-libavutil-Remove-last-use-of-long-double.patch @@ -0,0 +1,27 @@ +From ac61188ac8c177bceb48dd2b373caaf7a639f266 Mon Sep 17 00:00:00 2001 +From: Michael Forney <mforney@mforney.org> +Date: Tue, 7 Sep 2021 01:39:36 -0700 +Subject: [PATCH] libavutil: Remove last use of long double + +The commit that introduced this file mentioned converting all long +double to double, so presumably this one was just missed. +--- + libavutil/avsscanf.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libavutil/avsscanf.c b/libavutil/avsscanf.c +index b7f0f71c2d..31530dde67 100644 +--- a/libavutil/avsscanf.c ++++ b/libavutil/avsscanf.c +@@ -440,7 +440,7 @@ static double decfloat(FFFILE *f, int c, int bits, int emin, int sign, int pok) + /* Assemble desired bits into floating point variable */ + for (y=i=0; i<LD_B1B_DIG; i++) { + if ((a+i & MASK)==z) x[(z=(z+1 & MASK))-1] = 0; +- y = 1000000000.0L * y + x[a+i & MASK]; ++ y = 1000000000.0 * y + x[a+i & MASK]; + } + + y *= sign; +-- +2.32.0 + diff --git a/pkg/ffmpeg/patch/0003-libavcodec-Prevent-stray-semicolon-at-top-level.patch b/pkg/ffmpeg/patch/0003-libavcodec-Prevent-stray-semicolon-at-top-level.patch @@ -0,0 +1,114 @@ +From 0f75976c934056c63100b9c13abbf8ac3caa1007 Mon Sep 17 00:00:00 2001 +From: Michael Forney <mforney@mforney.org> +Date: Tue, 7 Sep 2021 01:41:48 -0700 +Subject: [PATCH] libavcodec: Prevent stray semicolon at top-level + +If any of these codecs are disabled, we end up with a stray semicolon, +which is not allowed in ISO C. + +Instead, move the semicolon to the macro definition, so that there +is no problem if it expands to an empty token sequence. +--- + libavcodec/pcm.c | 72 ++++++++++++++++++++++++------------------------ + 1 file changed, 36 insertions(+), 36 deletions(-) + +diff --git a/libavcodec/pcm.c b/libavcodec/pcm.c +index 19d04e9181..3ab2d4555c 100644 +--- a/libavcodec/pcm.c ++++ b/libavcodec/pcm.c +@@ -561,7 +561,7 @@ AVCodec ff_ ## name_ ## _encoder = { \ + .sample_fmts = (const enum AVSampleFormat[]){ sample_fmt_, \ + AV_SAMPLE_FMT_NONE }, \ + .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE, \ +-} ++}; + + #define PCM_ENCODER_2(cf, id, sample_fmt, name, long_name) \ + PCM_ENCODER_ ## cf(id, sample_fmt, name, long_name) +@@ -584,7 +584,7 @@ AVCodec ff_ ## name_ ## _decoder = { \ + .sample_fmts = (const enum AVSampleFormat[]){ sample_fmt_, \ + AV_SAMPLE_FMT_NONE }, \ + .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE, \ +-} ++}; + + #define PCM_DECODER_2(cf, id, sample_fmt, name, long_name) \ + PCM_DECODER_ ## cf(id, sample_fmt, name, long_name) +@@ -594,40 +594,40 @@ AVCodec ff_ ## name_ ## _decoder = { \ + PCM_DECODER_3(CONFIG_ ## id ## _DECODER, id, sample_fmt, name, long_name) + + #define PCM_CODEC(id, sample_fmt_, name, long_name_) \ +- PCM_ENCODER(id, sample_fmt_, name, long_name_); \ ++ PCM_ENCODER(id, sample_fmt_, name, long_name_) \ + PCM_DECODER(id, sample_fmt_, name, long_name_) + + /* Note: Do not forget to add new entries to the Makefile as well. */ +-PCM_CODEC (PCM_ALAW, AV_SAMPLE_FMT_S16, pcm_alaw, "PCM A-law / G.711 A-law"); +-PCM_DECODER(PCM_F16LE, AV_SAMPLE_FMT_FLT, pcm_f16le, "PCM 16.8 floating point little-endian"); +-PCM_DECODER(PCM_F24LE, AV_SAMPLE_FMT_FLT, pcm_f24le, "PCM 24.0 floating point little-endian"); +-PCM_CODEC (PCM_F32BE, AV_SAMPLE_FMT_FLT, pcm_f32be, "PCM 32-bit floating point big-endian"); +-PCM_CODEC (PCM_F32LE, AV_SAMPLE_FMT_FLT, pcm_f32le, "PCM 32-bit floating point little-endian"); +-PCM_CODEC (PCM_F64BE, AV_SAMPLE_FMT_DBL, pcm_f64be, "PCM 64-bit floating point big-endian"); +-PCM_CODEC (PCM_F64LE, AV_SAMPLE_FMT_DBL, pcm_f64le, "PCM 64-bit floating point little-endian"); +-PCM_DECODER(PCM_LXF, AV_SAMPLE_FMT_S32P,pcm_lxf, "PCM signed 20-bit little-endian planar"); +-PCM_CODEC (PCM_MULAW, AV_SAMPLE_FMT_S16, pcm_mulaw, "PCM mu-law / G.711 mu-law"); +-PCM_CODEC (PCM_S8, AV_SAMPLE_FMT_U8, pcm_s8, "PCM signed 8-bit"); +-PCM_CODEC (PCM_S8_PLANAR, AV_SAMPLE_FMT_U8P, pcm_s8_planar, "PCM signed 8-bit planar"); +-PCM_CODEC (PCM_S16BE, AV_SAMPLE_FMT_S16, pcm_s16be, "PCM signed 16-bit big-endian"); +-PCM_CODEC (PCM_S16BE_PLANAR, AV_SAMPLE_FMT_S16P,pcm_s16be_planar, "PCM signed 16-bit big-endian planar"); +-PCM_CODEC (PCM_S16LE, AV_SAMPLE_FMT_S16, pcm_s16le, "PCM signed 16-bit little-endian"); +-PCM_CODEC (PCM_S16LE_PLANAR, AV_SAMPLE_FMT_S16P,pcm_s16le_planar, "PCM signed 16-bit little-endian planar"); +-PCM_CODEC (PCM_S24BE, AV_SAMPLE_FMT_S32, pcm_s24be, "PCM signed 24-bit big-endian"); +-PCM_CODEC (PCM_S24DAUD, AV_SAMPLE_FMT_S16, pcm_s24daud, "PCM D-Cinema audio signed 24-bit"); +-PCM_CODEC (PCM_S24LE, AV_SAMPLE_FMT_S32, pcm_s24le, "PCM signed 24-bit little-endian"); +-PCM_CODEC (PCM_S24LE_PLANAR, AV_SAMPLE_FMT_S32P,pcm_s24le_planar, "PCM signed 24-bit little-endian planar"); +-PCM_CODEC (PCM_S32BE, AV_SAMPLE_FMT_S32, pcm_s32be, "PCM signed 32-bit big-endian"); +-PCM_CODEC (PCM_S32LE, AV_SAMPLE_FMT_S32, pcm_s32le, "PCM signed 32-bit little-endian"); +-PCM_CODEC (PCM_S32LE_PLANAR, AV_SAMPLE_FMT_S32P,pcm_s32le_planar, "PCM signed 32-bit little-endian planar"); +-PCM_CODEC (PCM_U8, AV_SAMPLE_FMT_U8, pcm_u8, "PCM unsigned 8-bit"); +-PCM_CODEC (PCM_U16BE, AV_SAMPLE_FMT_S16, pcm_u16be, "PCM unsigned 16-bit big-endian"); +-PCM_CODEC (PCM_U16LE, AV_SAMPLE_FMT_S16, pcm_u16le, "PCM unsigned 16-bit little-endian"); +-PCM_CODEC (PCM_U24BE, AV_SAMPLE_FMT_S32, pcm_u24be, "PCM unsigned 24-bit big-endian"); +-PCM_CODEC (PCM_U24LE, AV_SAMPLE_FMT_S32, pcm_u24le, "PCM unsigned 24-bit little-endian"); +-PCM_CODEC (PCM_U32BE, AV_SAMPLE_FMT_S32, pcm_u32be, "PCM unsigned 32-bit big-endian"); +-PCM_CODEC (PCM_U32LE, AV_SAMPLE_FMT_S32, pcm_u32le, "PCM unsigned 32-bit little-endian"); +-PCM_CODEC (PCM_S64BE, AV_SAMPLE_FMT_S64, pcm_s64be, "PCM signed 64-bit big-endian"); +-PCM_CODEC (PCM_S64LE, AV_SAMPLE_FMT_S64, pcm_s64le, "PCM signed 64-bit little-endian"); +-PCM_CODEC (PCM_VIDC, AV_SAMPLE_FMT_S16, pcm_vidc, "PCM Archimedes VIDC"); +-PCM_DECODER(PCM_SGA, AV_SAMPLE_FMT_U8, pcm_sga, "PCM SGA"); ++PCM_CODEC (PCM_ALAW, AV_SAMPLE_FMT_S16, pcm_alaw, "PCM A-law / G.711 A-law") ++PCM_DECODER(PCM_F16LE, AV_SAMPLE_FMT_FLT, pcm_f16le, "PCM 16.8 floating point little-endian") ++PCM_DECODER(PCM_F24LE, AV_SAMPLE_FMT_FLT, pcm_f24le, "PCM 24.0 floating point little-endian") ++PCM_CODEC (PCM_F32BE, AV_SAMPLE_FMT_FLT, pcm_f32be, "PCM 32-bit floating point big-endian") ++PCM_CODEC (PCM_F32LE, AV_SAMPLE_FMT_FLT, pcm_f32le, "PCM 32-bit floating point little-endian") ++PCM_CODEC (PCM_F64BE, AV_SAMPLE_FMT_DBL, pcm_f64be, "PCM 64-bit floating point big-endian") ++PCM_CODEC (PCM_F64LE, AV_SAMPLE_FMT_DBL, pcm_f64le, "PCM 64-bit floating point little-endian") ++PCM_DECODER(PCM_LXF, AV_SAMPLE_FMT_S32P,pcm_lxf, "PCM signed 20-bit little-endian planar") ++PCM_CODEC (PCM_MULAW, AV_SAMPLE_FMT_S16, pcm_mulaw, "PCM mu-law / G.711 mu-law") ++PCM_CODEC (PCM_S8, AV_SAMPLE_FMT_U8, pcm_s8, "PCM signed 8-bit") ++PCM_CODEC (PCM_S8_PLANAR, AV_SAMPLE_FMT_U8P, pcm_s8_planar, "PCM signed 8-bit planar") ++PCM_CODEC (PCM_S16BE, AV_SAMPLE_FMT_S16, pcm_s16be, "PCM signed 16-bit big-endian") ++PCM_CODEC (PCM_S16BE_PLANAR, AV_SAMPLE_FMT_S16P,pcm_s16be_planar, "PCM signed 16-bit big-endian planar") ++PCM_CODEC (PCM_S16LE, AV_SAMPLE_FMT_S16, pcm_s16le, "PCM signed 16-bit little-endian") ++PCM_CODEC (PCM_S16LE_PLANAR, AV_SAMPLE_FMT_S16P,pcm_s16le_planar, "PCM signed 16-bit little-endian planar") ++PCM_CODEC (PCM_S24BE, AV_SAMPLE_FMT_S32, pcm_s24be, "PCM signed 24-bit big-endian") ++PCM_CODEC (PCM_S24DAUD, AV_SAMPLE_FMT_S16, pcm_s24daud, "PCM D-Cinema audio signed 24-bit") ++PCM_CODEC (PCM_S24LE, AV_SAMPLE_FMT_S32, pcm_s24le, "PCM signed 24-bit little-endian") ++PCM_CODEC (PCM_S24LE_PLANAR, AV_SAMPLE_FMT_S32P,pcm_s24le_planar, "PCM signed 24-bit little-endian planar") ++PCM_CODEC (PCM_S32BE, AV_SAMPLE_FMT_S32, pcm_s32be, "PCM signed 32-bit big-endian") ++PCM_CODEC (PCM_S32LE, AV_SAMPLE_FMT_S32, pcm_s32le, "PCM signed 32-bit little-endian") ++PCM_CODEC (PCM_S32LE_PLANAR, AV_SAMPLE_FMT_S32P,pcm_s32le_planar, "PCM signed 32-bit little-endian planar") ++PCM_CODEC (PCM_U8, AV_SAMPLE_FMT_U8, pcm_u8, "PCM unsigned 8-bit") ++PCM_CODEC (PCM_U16BE, AV_SAMPLE_FMT_S16, pcm_u16be, "PCM unsigned 16-bit big-endian") ++PCM_CODEC (PCM_U16LE, AV_SAMPLE_FMT_S16, pcm_u16le, "PCM unsigned 16-bit little-endian") ++PCM_CODEC (PCM_U24BE, AV_SAMPLE_FMT_S32, pcm_u24be, "PCM unsigned 24-bit big-endian") ++PCM_CODEC (PCM_U24LE, AV_SAMPLE_FMT_S32, pcm_u24le, "PCM unsigned 24-bit little-endian") ++PCM_CODEC (PCM_U32BE, AV_SAMPLE_FMT_S32, pcm_u32be, "PCM unsigned 32-bit big-endian") ++PCM_CODEC (PCM_U32LE, AV_SAMPLE_FMT_S32, pcm_u32le, "PCM unsigned 32-bit little-endian") ++PCM_CODEC (PCM_S64BE, AV_SAMPLE_FMT_S64, pcm_s64be, "PCM signed 64-bit big-endian") ++PCM_CODEC (PCM_S64LE, AV_SAMPLE_FMT_S64, pcm_s64le, "PCM signed 64-bit little-endian") ++PCM_CODEC (PCM_VIDC, AV_SAMPLE_FMT_S16, pcm_vidc, "PCM Archimedes VIDC") ++PCM_DECODER(PCM_SGA, AV_SAMPLE_FMT_U8, pcm_sga, "PCM SGA") +-- +2.32.0 + diff --git a/pkg/ffmpeg/patch/0004-libavformat-Use-C99-__func__-instead-of-non-standard.patch b/pkg/ffmpeg/patch/0004-libavformat-Use-C99-__func__-instead-of-non-standard.patch @@ -0,0 +1,58 @@ +From f3b0469079853d304fe583f9849f3f75138ee980 Mon Sep 17 00:00:00 2001 +From: Michael Forney <mforney@mforney.org> +Date: Tue, 7 Sep 2021 01:43:25 -0700 +Subject: [PATCH] libavformat: Use C99 __func__ instead of non-standard + __FUNCTION__ + +--- + libavformat/mux.c | 2 +- + libavformat/utils.c | 6 +++--- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/libavformat/mux.c b/libavformat/mux.c +index 6a557d294e..23eda49eb6 100644 +--- a/libavformat/mux.c ++++ b/libavformat/mux.c +@@ -1135,7 +1135,7 @@ static int write_packet_common(AVFormatContext *s, AVStream *st, AVPacket *pkt, + int ret; + + if (s->debug & FF_FDEBUG_TS) +- av_log(s, AV_LOG_DEBUG, "%s size:%d dts:%s pts:%s\n", __FUNCTION__, ++ av_log(s, AV_LOG_DEBUG, "%s size:%d dts:%s pts:%s\n", __func__, + pkt->size, av_ts2str(pkt->dts), av_ts2str(pkt->pts)); + + guess_pkt_duration(s, st, pkt); +diff --git a/libavformat/utils.c b/libavformat/utils.c +index 1384b56771..05a3e0221f 100644 +--- a/libavformat/utils.c ++++ b/libavformat/utils.c +@@ -3702,7 +3702,7 @@ FF_ENABLE_DEPRECATION_WARNINGS + && codec && !avctx->codec) { + if (avcodec_open2(avctx, codec, options ? &options[i] : &thread_opt) < 0) + av_log(ic, AV_LOG_WARNING, +- "Failed to open codec in %s\n",__FUNCTION__); ++ "Failed to open codec in %s\n", __func__); + } + + // Try to just open decoders, in case this is enough to get parameters. +@@ -3710,7 +3710,7 @@ FF_ENABLE_DEPRECATION_WARNINGS + if (codec && !avctx->codec) + if (avcodec_open2(avctx, codec, options ? &options[i] : &thread_opt) < 0) + av_log(ic, AV_LOG_WARNING, +- "Failed to open codec in %s\n",__FUNCTION__); ++ "Failed to open codec in %s\n", __func__); + } + if (!options) + av_dict_free(&thread_opt); +@@ -3965,7 +3965,7 @@ FF_ENABLE_DEPRECATION_WARNINGS + av_dict_set(&opts, "codec_whitelist", ic->codec_whitelist, 0); + if (avcodec_open2(avctx, codec, (options && stream_index < orig_nb_streams) ? &options[stream_index] : &opts) < 0) + av_log(ic, AV_LOG_WARNING, +- "Failed to open codec in %s\n",__FUNCTION__); ++ "Failed to open codec in %s\n", __func__); + av_dict_free(&opts); + } + } +-- +2.32.0 + diff --git a/pkg/ffmpeg/patch/0005-libavcodec-Use-if-to-prevent-some-unintended-depende.patch b/pkg/ffmpeg/patch/0005-libavcodec-Use-if-to-prevent-some-unintended-depende.patch @@ -0,0 +1,65 @@ +From 0785a7f2102a9c8f50f19c7b4addbd849e071abc Mon Sep 17 00:00:00 2001 +From: Michael Forney <mforney@mforney.org> +Date: Tue, 7 Sep 2021 01:44:53 -0700 +Subject: [PATCH] libavcodec: Use #if to prevent some unintended dependencies + +--- + libavcodec/h263.h | 2 ++ + libavcodec/mpegvideo_motion.c | 10 ++++++---- + 2 files changed, 8 insertions(+), 4 deletions(-) + +diff --git a/libavcodec/h263.h b/libavcodec/h263.h +index 998f7d0d59..4d867d7bf2 100644 +--- a/libavcodec/h263.h ++++ b/libavcodec/h263.h +@@ -98,6 +98,7 @@ int ff_h263_resync(MpegEncContext *s); + void ff_h263_encode_motion(PutBitContext *pb, int val, int f_code); + + ++#if CONFIG_H263_ENCODER + static inline int h263_get_motion_length(int val, int f_code){ + int l, bit_size, code; + +@@ -182,5 +183,6 @@ static inline int get_p_cbp(MpegEncContext * s, + } + return cbp; + } ++#endif + + #endif /* AVCODEC_H263_H */ +diff --git a/libavcodec/mpegvideo_motion.c b/libavcodec/mpegvideo_motion.c +index 427bc96887..081c251d11 100644 +--- a/libavcodec/mpegvideo_motion.c ++++ b/libavcodec/mpegvideo_motion.c +@@ -359,10 +359,11 @@ void mpeg_motion_internal(MpegEncContext *s, + pix_op[s->chroma_x_shift][uvdxy] + (dest_cr, ptr_cr, uvlinesize, h >> s->chroma_y_shift); + } +- if (!is_mpeg12 && (CONFIG_H261_ENCODER || CONFIG_H261_DECODER) && +- s->out_format == FMT_H261) { ++#if CONFIG_H261_ENCODER || CONFIG_H261_DECODER ++ if (!is_mpeg12 && s->out_format == FMT_H261) { + ff_h261_loop_filter(s); + } ++#endif + } + /* apply one mpeg motion vector to the three components */ + static void mpeg_motion(MpegEncContext *s, +@@ -861,11 +862,12 @@ static av_always_inline void mpv_motion_internal(MpegEncContext *s, + 0, 0, 0, + ref_picture, pix_op, qpix_op, + s->mv[dir][0][0], s->mv[dir][0][1], 16); +- } else if (!is_mpeg12 && (CONFIG_WMV2_DECODER || CONFIG_WMV2_ENCODER) && +- s->mspel && s->codec_id == AV_CODEC_ID_WMV2) { ++#if CONFIG_WMV2_DECODER || CONFIG_WMV2_ENCODER ++ } else if (!is_mpeg12 && s->mspel && s->codec_id == AV_CODEC_ID_WMV2) { + ff_mspel_motion(s, dest_y, dest_cb, dest_cr, + ref_picture, pix_op, + s->mv[dir][0][0], s->mv[dir][0][1], 16); ++#endif + } else { + mpeg_motion(s, dest_y, dest_cb, dest_cr, 0, + ref_picture, pix_op, +-- +2.32.0 + diff --git a/pkg/ffmpeg/patch/0006-libavutil-Use-config-instead-of-compiler-to-determin.patch b/pkg/ffmpeg/patch/0006-libavutil-Use-config-instead-of-compiler-to-determin.patch @@ -0,0 +1,61 @@ +From 638e9a0d00cf2154224eb6f48e5c90a99ad4fdf1 Mon Sep 17 00:00:00 2001 +From: Michael Forney <mforney@mforney.org> +Date: Tue, 7 Sep 2021 01:46:57 -0700 +Subject: [PATCH] libavutil: Use config instead of compiler to determine + support for inline asm + +--- + libavutil/x86/intreadwrite.h | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/libavutil/x86/intreadwrite.h b/libavutil/x86/intreadwrite.h +index 4061d19231..b7d19ed8a3 100644 +--- a/libavutil/x86/intreadwrite.h ++++ b/libavutil/x86/intreadwrite.h +@@ -25,9 +25,9 @@ + #include "config.h" + #include "libavutil/attributes.h" + +-#if HAVE_MMX ++#if HAVE_MMX_INLINE + +-#if !HAVE_FAST_64BIT && defined(__MMX__) ++#if !HAVE_FAST_64BIT + + #define AV_COPY64 AV_COPY64 + static av_always_inline void AV_COPY64(void *d, const void *s) +@@ -59,9 +59,9 @@ static av_always_inline void AV_ZERO64(void *d) + :: "mm0"); + } + +-#endif /* !HAVE_FAST_64BIT && defined(__MMX__) */ ++#endif /* !HAVE_FAST_64BIT */ + +-#ifdef __SSE__ ++#if HAVE_SSE_INLINE + + #define AV_COPY128 AV_COPY128 + static av_always_inline void AV_COPY128(void *d, const void *s) +@@ -77,7 +77,7 @@ static av_always_inline void AV_COPY128(void *d, const void *s) + + #endif /* __SSE__ */ + +-#ifdef __SSE2__ ++#if HAVE_SSE2_INLINE + + #define AV_ZERO128 AV_ZERO128 + static av_always_inline void AV_ZERO128(void *d) +@@ -90,8 +90,8 @@ static av_always_inline void AV_ZERO128(void *d) + :: "xmm0"); + } + +-#endif /* __SSE2__ */ ++#endif /* HAVE_SSE2_INLINE */ + +-#endif /* HAVE_MMX */ ++#endif /* HAVE_MMX_INLINE */ + + #endif /* AVUTIL_X86_INTREADWRITE_H */ +-- +2.32.0 + diff --git a/pkg/ffmpeg/patch/0007-HACK-Disable-__has_builtin-for-now.patch b/pkg/ffmpeg/patch/0007-HACK-Disable-__has_builtin-for-now.patch @@ -0,0 +1,30 @@ +From 9caa1ecbdf94a9bd5bedc83c602b30821f7fdd23 Mon Sep 17 00:00:00 2001 +From: Michael Forney <mforney@mforney.org> +Date: Tue, 7 Sep 2021 02:01:31 -0700 +Subject: [PATCH] [HACK] Disable __has_builtin for now + +This is only used for detecting __builtin_add_overflow, but since +we use gcc as a preprocessor for cproc, we have no way to tell it +we don't support that feature. Since the built-in is used regardless +of __has_builtin on gcc 5.1 or newer, just disable it for now until +the cproc preprocessor is complete. +--- + libavutil/attributes.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libavutil/attributes.h b/libavutil/attributes.h +index 5cb9fe3452..d70d98abb1 100644 +--- a/libavutil/attributes.h ++++ b/libavutil/attributes.h +@@ -34,7 +34,7 @@ + # define AV_GCC_VERSION_AT_MOST(x,y) 0 + #endif + +-#ifdef __has_builtin ++#if 0 + # define AV_HAS_BUILTIN(x) __has_builtin(x) + #else + # define AV_HAS_BUILTIN(x) 0 +-- +2.32.0 + diff --git a/pkg/ffmpeg/ver b/pkg/ffmpeg/ver @@ -1 +1 @@ -4.4 r0 +4.4 r1