From 9e0addc1cf71ebec277b59e38eb3fa30e650cf9f Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 6 Feb 2024 05:42:43 +0000 Subject: gentoo auto-resync : 06:02:2024 - 05:42:43 --- .../ffmpeg-4.4.4-opencl-parallel-gmake-fix.patch | 13 +++++ ...-Use-av_mallocz-to-avoid-invalid-free-uni.patch | 54 ------------------ ...coded-fft-Fix-memory-leak-if-ctx2-is-used.patch | 26 --------- ...ode-validate-hw_frames_ctx-when-AVHWAccel.patch | 64 ---------------------- ...enc-only-check-canvas-size-when-it-is-act.patch | 31 ----------- ...le-build-vulkan-decode-code-if-vulkan_av1.patch | 31 ----------- ...6-hwcontext_vulkan-guard-unistd.h-include.patch | 33 ----------- .../ffmpeg-6.1-opencl-parallel-gmake-fix.patch | 13 +++++ 8 files changed, 26 insertions(+), 239 deletions(-) create mode 100644 media-video/ffmpeg/files/ffmpeg-4.4.4-opencl-parallel-gmake-fix.patch delete mode 100644 media-video/ffmpeg/files/ffmpeg-6.1-0001-avcodec-fft-Use-av_mallocz-to-avoid-invalid-free-uni.patch delete mode 100644 media-video/ffmpeg/files/ffmpeg-6.1-0002-avcoded-fft-Fix-memory-leak-if-ctx2-is-used.patch delete mode 100644 media-video/ffmpeg/files/ffmpeg-6.1-0003-avcodec-decode-validate-hw_frames_ctx-when-AVHWAccel.patch delete mode 100644 media-video/ffmpeg/files/ffmpeg-6.1-0004-lavc-dvdsubenc-only-check-canvas-size-when-it-is-act.patch delete mode 100644 media-video/ffmpeg/files/ffmpeg-6.1-0005-lavc-Makefile-build-vulkan-decode-code-if-vulkan_av1.patch delete mode 100644 media-video/ffmpeg/files/ffmpeg-6.1-0006-hwcontext_vulkan-guard-unistd.h-include.patch create mode 100644 media-video/ffmpeg/files/ffmpeg-6.1-opencl-parallel-gmake-fix.patch (limited to 'media-video/ffmpeg/files') diff --git a/media-video/ffmpeg/files/ffmpeg-4.4.4-opencl-parallel-gmake-fix.patch b/media-video/ffmpeg/files/ffmpeg-4.4.4-opencl-parallel-gmake-fix.patch new file mode 100644 index 000000000000..c0b1b1b1ce76 --- /dev/null +++ b/media-video/ffmpeg/files/ffmpeg-4.4.4-opencl-parallel-gmake-fix.patch @@ -0,0 +1,13 @@ +Bug: https://bugs.gentoo.org/782553 + +--- a/libavfilter/Makefile ++++ b/libavfilter/Makefile +@@ -562,7 +562,7 @@ + clean:: + $(RM) $(CLEANSUFFIXES:%=libavfilter/dnn/%) $(CLEANSUFFIXES:%=libavfilter/opencl/%) + +-OPENCL = $(subst $(SRC_PATH)/,,$(wildcard $(SRC_PATH)/libavfilter/opencl/*.cl)) ++OPENCL = $(wildcard libavfilter/opencl/*.cl) + .SECONDARY: $(OPENCL:.cl=.c) + libavfilter/opencl/%.c: TAG = OPENCL + libavfilter/opencl/%.c: $(SRC_PATH)/libavfilter/opencl/%.cl diff --git a/media-video/ffmpeg/files/ffmpeg-6.1-0001-avcodec-fft-Use-av_mallocz-to-avoid-invalid-free-uni.patch b/media-video/ffmpeg/files/ffmpeg-6.1-0001-avcodec-fft-Use-av_mallocz-to-avoid-invalid-free-uni.patch deleted file mode 100644 index 8907cf15b00d..000000000000 --- a/media-video/ffmpeg/files/ffmpeg-6.1-0001-avcodec-fft-Use-av_mallocz-to-avoid-invalid-free-uni.patch +++ /dev/null @@ -1,54 +0,0 @@ -From af912d80d8880797bef9f2ba9809ecd84ed9acd9 Mon Sep 17 00:00:00 2001 -From: Sebastian Ramacher -Date: Sun, 12 Nov 2023 18:46:27 +0100 -Subject: [PATCH 1/6] avcodec/fft: Use av_mallocz to avoid invalid free/uninit - -Signed-off-by: James Almer -(cherry picked from commit a562cfee2e214252f8b3f516527272ae32ef9532) ---- - libavcodec/avfft.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/libavcodec/avfft.c b/libavcodec/avfft.c -index fb635abfff..3ef076d222 100644 ---- a/libavcodec/avfft.c -+++ b/libavcodec/avfft.c -@@ -46,7 +46,7 @@ FFTContext *av_fft_init(int nbits, int inverse) - { - int ret; - float scale = 1.0f; -- AVTXWrapper *s = av_malloc(sizeof(*s)); -+ AVTXWrapper *s = av_mallocz(sizeof(*s)); - if (!s) - return NULL; - -@@ -85,7 +85,7 @@ FFTContext *av_mdct_init(int nbits, int inverse, double scale) - { - int ret; - float scale_f = scale; -- AVTXWrapper *s = av_malloc(sizeof(*s)); -+ AVTXWrapper *s = av_mallocz(sizeof(*s)); - if (!s) - return NULL; - -@@ -146,7 +146,7 @@ RDFTContext *av_rdft_init(int nbits, enum RDFTransformType trans) - if (trans != IDFT_C2R && trans != DFT_R2C) - return NULL; - -- s = av_malloc(sizeof(*s)); -+ s = av_mallocz(sizeof(*s)); - if (!s) - return NULL; - -@@ -199,7 +199,7 @@ DCTContext *av_dct_init(int nbits, enum DCTTransformType inverse) - [DST_I] = AV_TX_FLOAT_DST_I, - }; - -- AVTXWrapper *s = av_malloc(sizeof(*s)); -+ AVTXWrapper *s = av_mallocz(sizeof(*s)); - if (!s) - return NULL; - --- -2.43.0 - diff --git a/media-video/ffmpeg/files/ffmpeg-6.1-0002-avcoded-fft-Fix-memory-leak-if-ctx2-is-used.patch b/media-video/ffmpeg/files/ffmpeg-6.1-0002-avcoded-fft-Fix-memory-leak-if-ctx2-is-used.patch deleted file mode 100644 index 3799a46d84a4..000000000000 --- a/media-video/ffmpeg/files/ffmpeg-6.1-0002-avcoded-fft-Fix-memory-leak-if-ctx2-is-used.patch +++ /dev/null @@ -1,26 +0,0 @@ -From c7fe7ee8d4dcae510453abedabae53e45135144a Mon Sep 17 00:00:00 2001 -From: Sebastian Ramacher -Date: Sun, 12 Nov 2023 18:46:28 +0100 -Subject: [PATCH 2/6] avcoded/fft: Fix memory leak if ctx2 is used - -Signed-off-by: James Almer -(cherry picked from commit 250471ea1745fc703eb346a2a662304536a311b1) ---- - libavcodec/avfft.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/libavcodec/avfft.c b/libavcodec/avfft.c -index 3ef076d222..999b5ed79a 100644 ---- a/libavcodec/avfft.c -+++ b/libavcodec/avfft.c -@@ -130,6 +130,7 @@ av_cold void av_mdct_end(FFTContext *s) - { - if (s) { - AVTXWrapper *w = (AVTXWrapper *)s; -+ av_tx_uninit(&w->ctx2); - av_tx_uninit(&w->ctx); - av_free(w); - } --- -2.43.0 - diff --git a/media-video/ffmpeg/files/ffmpeg-6.1-0003-avcodec-decode-validate-hw_frames_ctx-when-AVHWAccel.patch b/media-video/ffmpeg/files/ffmpeg-6.1-0003-avcodec-decode-validate-hw_frames_ctx-when-AVHWAccel.patch deleted file mode 100644 index 2e84b94b0475..000000000000 --- a/media-video/ffmpeg/files/ffmpeg-6.1-0003-avcodec-decode-validate-hw_frames_ctx-when-AVHWAccel.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 466799d4f570db5ed3e70239c12c96a2dc3bfc06 Mon Sep 17 00:00:00 2001 -From: Dmitry Rogozhkin -Date: Mon, 20 Nov 2023 21:57:32 -0800 -Subject: [PATCH 3/6] avcodec/decode: validate hw_frames_ctx when - AVHWAccel.free_frame_priv is used - -Validate that a hw_frames_ctx is available before using it for -the AVHWAccel.free_frame_priv callback, and don't require it to -be present when the callback is not in use by the HWAccel. - -v2: check for free_frame_priv (Hendrik) -v3: return EINVAL (Christoph Reiter) -v4: better commit message (Hendrik) -v5: fix typo with missed frames_ctx (Lynne) - -See[1]: https://github.com/msys2/MINGW-packages/pull/19050 -Fixes: be07145109 ("avcodec: add AVHWAccel.free_frame_priv callback") -CC: Lynne -CC: Christoph Reiter -Signed-off-by: Dmitry Rogozhkin -(cherry picked from commit e9c93009fc34ca9dfcf0c6f2ed90ef1df298abf7) ---- - libavcodec/decode.c | 19 ++++++++++++++----- - 1 file changed, 14 insertions(+), 5 deletions(-) - -diff --git a/libavcodec/decode.c b/libavcodec/decode.c -index ad39021354..2cfb3fcf97 100644 ---- a/libavcodec/decode.c -+++ b/libavcodec/decode.c -@@ -1838,17 +1838,26 @@ int ff_copy_palette(void *dst, const AVPacket *src, void *logctx) - int ff_hwaccel_frame_priv_alloc(AVCodecContext *avctx, void **hwaccel_picture_private) - { - const FFHWAccel *hwaccel = ffhwaccel(avctx->hwaccel); -- AVHWFramesContext *frames_ctx; - - if (!hwaccel || !hwaccel->frame_priv_data_size) - return 0; - - av_assert0(!*hwaccel_picture_private); - -- frames_ctx = (AVHWFramesContext *)avctx->hw_frames_ctx->data; -- *hwaccel_picture_private = ff_refstruct_alloc_ext(hwaccel->frame_priv_data_size, 0, -- frames_ctx->device_ctx, -- hwaccel->free_frame_priv); -+ if (hwaccel->free_frame_priv) { -+ AVHWFramesContext *frames_ctx; -+ -+ if (!avctx->hw_frames_ctx) -+ return AVERROR(EINVAL); -+ -+ frames_ctx = (AVHWFramesContext *) avctx->hw_frames_ctx->data; -+ *hwaccel_picture_private = ff_refstruct_alloc_ext(hwaccel->frame_priv_data_size, 0, -+ frames_ctx->device_ctx, -+ hwaccel->free_frame_priv); -+ } else { -+ *hwaccel_picture_private = ff_refstruct_allocz(hwaccel->frame_priv_data_size); -+ } -+ - if (!*hwaccel_picture_private) - return AVERROR(ENOMEM); - --- -2.43.0 - diff --git a/media-video/ffmpeg/files/ffmpeg-6.1-0004-lavc-dvdsubenc-only-check-canvas-size-when-it-is-act.patch b/media-video/ffmpeg/files/ffmpeg-6.1-0004-lavc-dvdsubenc-only-check-canvas-size-when-it-is-act.patch deleted file mode 100644 index 639d13320b39..000000000000 --- a/media-video/ffmpeg/files/ffmpeg-6.1-0004-lavc-dvdsubenc-only-check-canvas-size-when-it-is-act.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 111035ccae52b448ccee889546a54594cd3fca5e Mon Sep 17 00:00:00 2001 -From: Anton Khirnov -Date: Thu, 30 Nov 2023 11:21:24 +0100 -Subject: [PATCH 4/6] lavc/dvdsubenc: only check canvas size when it is - actually set - -Fixes #10650 - -(cherry picked from commit 5230257ea18e1d3761ee6b0549d56a3ca817f301) -Signed-off-by: Anton Khirnov ---- - libavcodec/dvdsubenc.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/libavcodec/dvdsubenc.c b/libavcodec/dvdsubenc.c -index d272b57675..06c2cf5e5a 100644 ---- a/libavcodec/dvdsubenc.c -+++ b/libavcodec/dvdsubenc.c -@@ -376,7 +376,8 @@ static int encode_dvd_subtitles(AVCodecContext *avctx, - x2 = vrect.x + vrect.w - 1; - y2 = vrect.y + vrect.h - 1; - -- if (x2 > avctx->width || y2 > avctx->height) { -+ if ((avctx->width > 0 && x2 > avctx->width) || -+ (avctx->height > 0 && y2 > avctx->height)) { - av_log(avctx, AV_LOG_ERROR, "canvas_size(%d:%d) is too small(%d:%d) for render\n", - avctx->width, avctx->height, x2, y2); - ret = AVERROR(EINVAL); --- -2.43.0 - diff --git a/media-video/ffmpeg/files/ffmpeg-6.1-0005-lavc-Makefile-build-vulkan-decode-code-if-vulkan_av1.patch b/media-video/ffmpeg/files/ffmpeg-6.1-0005-lavc-Makefile-build-vulkan-decode-code-if-vulkan_av1.patch deleted file mode 100644 index 002d609fdd3e..000000000000 --- a/media-video/ffmpeg/files/ffmpeg-6.1-0005-lavc-Makefile-build-vulkan-decode-code-if-vulkan_av1.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 2c87aa0b231954d32909c0df48cb27ff89fd4506 Mon Sep 17 00:00:00 2001 -From: Lynne -Date: Sun, 3 Dec 2023 21:02:13 +0100 -Subject: [PATCH 5/6] lavc/Makefile: build vulkan decode code if vulkan_av1 has - been enabled - -Forgotten. - -Reviewed-by: Neal Gompa -Tested-by: Neal Gompa -(cherry picked from commit 8c117b75afa3c6b824fab85ec6716dbe3ba975be) ---- - libavcodec/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libavcodec/Makefile b/libavcodec/Makefile -index 580a8d6b54..ec57e53e30 100644 ---- a/libavcodec/Makefile -+++ b/libavcodec/Makefile -@@ -993,7 +993,7 @@ OBJS-$(CONFIG_AV1_DXVA2_HWACCEL) += dxva2_av1.o - OBJS-$(CONFIG_AV1_NVDEC_HWACCEL) += nvdec_av1.o - OBJS-$(CONFIG_AV1_VAAPI_HWACCEL) += vaapi_av1.o - OBJS-$(CONFIG_AV1_VDPAU_HWACCEL) += vdpau_av1.o --OBJS-$(CONFIG_AV1_VULKAN_HWACCEL) += vulkan_av1.o -+OBJS-$(CONFIG_AV1_VULKAN_HWACCEL) += vulkan_decode.o vulkan_av1.o - OBJS-$(CONFIG_H263_VAAPI_HWACCEL) += vaapi_mpeg4.o - OBJS-$(CONFIG_H263_VIDEOTOOLBOX_HWACCEL) += videotoolbox.o - OBJS-$(CONFIG_H264_D3D11VA_HWACCEL) += dxva2_h264.o --- -2.43.0 - diff --git a/media-video/ffmpeg/files/ffmpeg-6.1-0006-hwcontext_vulkan-guard-unistd.h-include.patch b/media-video/ffmpeg/files/ffmpeg-6.1-0006-hwcontext_vulkan-guard-unistd.h-include.patch deleted file mode 100644 index a9d0bfa35abe..000000000000 --- a/media-video/ffmpeg/files/ffmpeg-6.1-0006-hwcontext_vulkan-guard-unistd.h-include.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 884a660cae23769d92d533cc1b6232d3cdfbae43 Mon Sep 17 00:00:00 2001 -From: Benjamin Cheng -Date: Fri, 22 Sep 2023 12:49:22 -0400 -Subject: [PATCH 6/6] hwcontext_vulkan: guard unistd.h include - -win32 typically doesn't have unistd.h, so always including it will break -MSVC builds. The usage of those POSIX functions are already guarded by -_WIN32, so use that to guard unistd.h include as well. - -(cherry picked from commit 185871fdd39762295973c1f3db1459e04121317c) ---- - libavutil/hwcontext_vulkan.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c -index 506a218a42..d288fb7ac7 100644 ---- a/libavutil/hwcontext_vulkan.c -+++ b/libavutil/hwcontext_vulkan.c -@@ -27,10 +27,10 @@ - #include "compat/w32dlfcn.h" - #else - #include -+#include - #endif - - #include "thread.h" --#include - - #include "config.h" - #include "pixdesc.h" --- -2.43.0 - diff --git a/media-video/ffmpeg/files/ffmpeg-6.1-opencl-parallel-gmake-fix.patch b/media-video/ffmpeg/files/ffmpeg-6.1-opencl-parallel-gmake-fix.patch new file mode 100644 index 000000000000..c7eef79f347a --- /dev/null +++ b/media-video/ffmpeg/files/ffmpeg-6.1-opencl-parallel-gmake-fix.patch @@ -0,0 +1,13 @@ +Bug: https://bugs.gentoo.org/782553 + +--- a/libavfilter/Makefile ++++ b/libavfilter/Makefile +@@ -663,7 +663,7 @@ clean:: + $(RM) $(CLEANSUFFIXES:%=libavfilter/dnn/%) $(CLEANSUFFIXES:%=libavfilter/opencl/%) \ + $(CLEANSUFFIXES:%=libavfilter/vulkan/%) + +-OPENCL = $(subst $(SRC_PATH)/,,$(wildcard $(SRC_PATH)/libavfilter/opencl/*.cl)) ++OPENCL = $(wildcard libavfilter/opencl/*.cl) + .SECONDARY: $(OPENCL:.cl=.c) + libavfilter/opencl/%.c: TAG = OPENCL + libavfilter/opencl/%.c: $(SRC_PATH)/libavfilter/opencl/%.cl -- cgit v1.2.3