From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- media-video/ffmpeg/files/chromium.patch | 36 +++++++ media-video/ffmpeg/files/ffmpeg32-openjpeg22.patch | 106 ++++++++++++++++++++ media-video/ffmpeg/files/openjpeg22.patch | 106 ++++++++++++++++++++ media-video/ffmpeg/files/openjpeg23.patch | 109 +++++++++++++++++++++ 4 files changed, 357 insertions(+) create mode 100644 media-video/ffmpeg/files/chromium.patch create mode 100644 media-video/ffmpeg/files/ffmpeg32-openjpeg22.patch create mode 100644 media-video/ffmpeg/files/openjpeg22.patch create mode 100644 media-video/ffmpeg/files/openjpeg23.patch (limited to 'media-video/ffmpeg/files') diff --git a/media-video/ffmpeg/files/chromium.patch b/media-video/ffmpeg/files/chromium.patch new file mode 100644 index 000000000000..60a3e5d6cb99 --- /dev/null +++ b/media-video/ffmpeg/files/chromium.patch @@ -0,0 +1,36 @@ +Allow libffmpeg to be built for Chromium-based browsers +https://patchwork.ffmpeg.org/patch/4500/ + +NOTE: This patch lacks the Makefile include line. We append it +manually instead to make patching across different versions easier. + +diff --git a/ffbuild/libffmpeg.mak b/ffbuild/libffmpeg.mak +new file mode 100644 +index 0000000..992cf3c +--- /dev/null ++++ b/ffbuild/libffmpeg.mak +@@ -0,0 +1,21 @@ ++LIBFFMPEG = $(SLIBPREF)ffmpeg$(SLIBSUF) ++LIBFFMPEG_LINK = $(LD) -shared -Wl,-soname,$(LIBFFMPEG) -Wl,-Bsymbolic -Wl,-z,now -Wl,-z,relro -Wl,-z,defs -Wl,--gc-sections $(LDFLAGS) $(LDLIBFLAGS) -o $(LIBFFMPEG) ++ ++libffmpeg-: libavcodec/$(LIBPREF)avcodec$(LIBSUF) libavformat/$(LIBPREF)avformat$(LIBSUF) libavutil/$(LIBPREF)avutil$(LIBSUF) libswresample/$(LIBPREF)swresample$(LIBSUF) ++ $(LIBFFMPEG_LINK) -Wl,--whole-archive $^ -Wl,--no-whole-archive $(FFEXTRALIBS) ++ ++libffmpeg-yes: libavcodec/$(SLIBPREF)avcodec$(SLIBSUF) libavformat/$(SLIBPREF)avformat$(SLIBSUF) libavutil/$(SLIBPREF)avutil$(SLIBSUF) ++ $(LIBFFMPEG_LINK) -Wl,--no-as-needed -lavcodec -lavformat -lavutil ++ ++$(LIBFFMPEG): libffmpeg-$(CONFIG_SHARED) ++libffmpeg: $(LIBFFMPEG) ++ ++install-libffmpeg: $(LIBFFMPEG) ++ $(Q)mkdir -p "$(SHLIBDIR)/chromium" ++ $(INSTALL) -m 755 $< "$(SHLIBDIR)/chromium/$<" ++ $(STRIP) "$(SHLIBDIR)/chromium/$<" ++ ++uninstall-libffmpeg: ++ $(RM) "$(SHLIBDIR)/chromium/$(LIBFFMPEG)" ++ ++.PHONY: libffmpeg libffmpeg-* install-libffmpeg +-- +2.13.1 + diff --git a/media-video/ffmpeg/files/ffmpeg32-openjpeg22.patch b/media-video/ffmpeg/files/ffmpeg32-openjpeg22.patch new file mode 100644 index 000000000000..0ee648641be4 --- /dev/null +++ b/media-video/ffmpeg/files/ffmpeg32-openjpeg22.patch @@ -0,0 +1,106 @@ +commit 078322f33ced4b2db6ac3e5002f98233d6fbf643 +Author: Reino17 +Date: Fri Jun 23 23:49:31 2017 +0200 + + Add support for LibOpenJPEG v2.2/git + + Signed-off-by: Michael Bradshaw + +Index: ffmpeg-3.2.7/configure +=================================================================== +--- ffmpeg-3.2.7.orig/configure ++++ ffmpeg-3.2.7/configure +@@ -1831,6 +1831,7 @@ HEADERS_LIST=" + machine_ioctl_meteor_h + malloc_h + opencv2_core_core_c_h ++ openjpeg_2_2_openjpeg_h + openjpeg_2_1_openjpeg_h + openjpeg_2_0_openjpeg_h + openjpeg_1_5_openjpeg_h +@@ -5721,7 +5722,9 @@ enabled libopencv && { check_hea + require opencv opencv2/core/core_c.h cvCreateImageHeader -lopencv_core -lopencv_imgproc; } || + require_pkg_config opencv opencv/cxcore.h cvCreateImageHeader; } + enabled libopenh264 && require_pkg_config openh264 wels/codec_api.h WelsGetCodecVersion +-enabled libopenjpeg && { { check_lib2 openjpeg-2.1/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || ++enabled libopenjpeg && { { check_lib2 openjpeg-2.2/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || ++ check_lib2 openjpeg-2.2/openjpeg.h opj_version -lopenjp2 || ++ { check_lib2 openjpeg-2.1/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || + check_lib2 openjpeg-2.1/openjpeg.h opj_version -lopenjp2 || + { check_lib2 openjpeg-2.0/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || + { check_lib2 openjpeg-1.5/openjpeg.h opj_version -lopenjpeg -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || +Index: ffmpeg-3.2.7/libavcodec/libopenjpegdec.c +=================================================================== +--- ffmpeg-3.2.7.orig/libavcodec/libopenjpegdec.c ++++ ffmpeg-3.2.7/libavcodec/libopenjpegdec.c +@@ -34,7 +34,9 @@ + #include "internal.h" + #include "thread.h" + +-#if HAVE_OPENJPEG_2_1_OPENJPEG_H ++#if HAVE_OPENJPEG_2_2_OPENJPEG_H ++# include ++#elif HAVE_OPENJPEG_2_1_OPENJPEG_H + # include + #elif HAVE_OPENJPEG_2_0_OPENJPEG_H + # include +@@ -44,7 +46,7 @@ + # include + #endif + +-#if HAVE_OPENJPEG_2_1_OPENJPEG_H || HAVE_OPENJPEG_2_0_OPENJPEG_H ++#if HAVE_OPENJPEG_2_2_OPENJPEG_H || HAVE_OPENJPEG_2_1_OPENJPEG_H || HAVE_OPENJPEG_2_0_OPENJPEG_H + # define OPENJPEG_MAJOR_VERSION 2 + # define OPJ(x) OPJ_##x + #else +@@ -429,7 +431,7 @@ static int libopenjpeg_decode_frame(AVCo + opj_stream_set_read_function(stream, stream_read); + opj_stream_set_skip_function(stream, stream_skip); + opj_stream_set_seek_function(stream, stream_seek); +-#if HAVE_OPENJPEG_2_1_OPENJPEG_H ++#if HAVE_OPENJPEG_2_2_OPENJPEG_H || HAVE_OPENJPEG_2_1_OPENJPEG_H + opj_stream_set_user_data(stream, &reader, NULL); + #elif HAVE_OPENJPEG_2_0_OPENJPEG_H + opj_stream_set_user_data(stream, &reader); +Index: ffmpeg-3.2.7/libavcodec/libopenjpegenc.c +=================================================================== +--- ffmpeg-3.2.7.orig/libavcodec/libopenjpegenc.c ++++ ffmpeg-3.2.7/libavcodec/libopenjpegenc.c +@@ -32,7 +32,9 @@ + #include "avcodec.h" + #include "internal.h" + +-#if HAVE_OPENJPEG_2_1_OPENJPEG_H ++#if HAVE_OPENJPEG_2_2_OPENJPEG_H ++# include ++#elif HAVE_OPENJPEG_2_1_OPENJPEG_H + # include + #elif HAVE_OPENJPEG_2_0_OPENJPEG_H + # include +@@ -42,7 +44,7 @@ + # include + #endif + +-#if HAVE_OPENJPEG_2_1_OPENJPEG_H || HAVE_OPENJPEG_2_0_OPENJPEG_H ++#if HAVE_OPENJPEG_2_2_OPENJPEG_H || HAVE_OPENJPEG_2_1_OPENJPEG_H || HAVE_OPENJPEG_2_0_OPENJPEG_H + # define OPENJPEG_MAJOR_VERSION 2 + # define OPJ(x) OPJ_##x + #else +@@ -306,7 +308,7 @@ static av_cold int libopenjpeg_encode_in + + opj_set_default_encoder_parameters(&ctx->enc_params); + +-#if HAVE_OPENJPEG_2_1_OPENJPEG_H ++#if HAVE_OPENJPEG_2_2_OPENJPEG_H || HAVE_OPENJPEG_2_1_OPENJPEG_H + switch (ctx->cinema_mode) { + case OPJ_CINEMA2K_24: + ctx->enc_params.rsiz = OPJ_PROFILE_CINEMA_2K; +@@ -771,7 +773,7 @@ static int libopenjpeg_encode_frame(AVCo + opj_stream_set_write_function(stream, stream_write); + opj_stream_set_skip_function(stream, stream_skip); + opj_stream_set_seek_function(stream, stream_seek); +-#if HAVE_OPENJPEG_2_1_OPENJPEG_H ++#if HAVE_OPENJPEG_2_2_OPENJPEG_H || HAVE_OPENJPEG_2_1_OPENJPEG_H + opj_stream_set_user_data(stream, &writer, NULL); + #elif HAVE_OPENJPEG_2_0_OPENJPEG_H + opj_stream_set_user_data(stream, &writer); diff --git a/media-video/ffmpeg/files/openjpeg22.patch b/media-video/ffmpeg/files/openjpeg22.patch new file mode 100644 index 000000000000..a458c15208a9 --- /dev/null +++ b/media-video/ffmpeg/files/openjpeg22.patch @@ -0,0 +1,106 @@ +commit 078322f33ced4b2db6ac3e5002f98233d6fbf643 +Author: Reino17 +Date: Fri Jun 23 23:49:31 2017 +0200 + + Add support for LibOpenJPEG v2.2/git + + Signed-off-by: Michael Bradshaw + +Index: ffmpeg-3.3.3/configure +=================================================================== +--- ffmpeg-3.3.3.orig/configure ++++ ffmpeg-3.3.3/configure +@@ -1875,6 +1875,7 @@ HEADERS_LIST=" + machine_ioctl_meteor_h + malloc_h + opencv2_core_core_c_h ++ openjpeg_2_2_openjpeg_h + openjpeg_2_1_openjpeg_h + openjpeg_2_0_openjpeg_h + openjpeg_1_5_openjpeg_h +@@ -5805,7 +5806,9 @@ enabled libopencv && { check_hea + require opencv opencv2/core/core_c.h cvCreateImageHeader -lopencv_core -lopencv_imgproc; } || + require_pkg_config opencv opencv/cxcore.h cvCreateImageHeader; } + enabled libopenh264 && require_pkg_config openh264 wels/codec_api.h WelsGetCodecVersion +-enabled libopenjpeg && { { check_lib openjpeg-2.1/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || ++enabled libopenjpeg && { { check_lib openjpeg-2.2/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || ++ check_lib openjpeg-2.2/openjpeg.h opj_version -lopenjp2 || ++ { check_lib openjpeg-2.1/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || + check_lib openjpeg-2.1/openjpeg.h opj_version -lopenjp2 || + { check_lib openjpeg-2.0/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || + { check_lib openjpeg-1.5/openjpeg.h opj_version -lopenjpeg -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || +Index: ffmpeg-3.3.3/libavcodec/libopenjpegdec.c +=================================================================== +--- ffmpeg-3.3.3.orig/libavcodec/libopenjpegdec.c ++++ ffmpeg-3.3.3/libavcodec/libopenjpegdec.c +@@ -34,7 +34,9 @@ + #include "internal.h" + #include "thread.h" + +-#if HAVE_OPENJPEG_2_1_OPENJPEG_H ++#if HAVE_OPENJPEG_2_2_OPENJPEG_H ++# include ++#elif HAVE_OPENJPEG_2_1_OPENJPEG_H + # include + #elif HAVE_OPENJPEG_2_0_OPENJPEG_H + # include +@@ -44,7 +46,7 @@ + # include + #endif + +-#if HAVE_OPENJPEG_2_1_OPENJPEG_H || HAVE_OPENJPEG_2_0_OPENJPEG_H ++#if HAVE_OPENJPEG_2_2_OPENJPEG_H || HAVE_OPENJPEG_2_1_OPENJPEG_H || HAVE_OPENJPEG_2_0_OPENJPEG_H + # define OPENJPEG_MAJOR_VERSION 2 + # define OPJ(x) OPJ_##x + #else +@@ -429,7 +431,7 @@ static int libopenjpeg_decode_frame(AVCo + opj_stream_set_read_function(stream, stream_read); + opj_stream_set_skip_function(stream, stream_skip); + opj_stream_set_seek_function(stream, stream_seek); +-#if HAVE_OPENJPEG_2_1_OPENJPEG_H ++#if HAVE_OPENJPEG_2_2_OPENJPEG_H || HAVE_OPENJPEG_2_1_OPENJPEG_H + opj_stream_set_user_data(stream, &reader, NULL); + #elif HAVE_OPENJPEG_2_0_OPENJPEG_H + opj_stream_set_user_data(stream, &reader); +Index: ffmpeg-3.3.3/libavcodec/libopenjpegenc.c +=================================================================== +--- ffmpeg-3.3.3.orig/libavcodec/libopenjpegenc.c ++++ ffmpeg-3.3.3/libavcodec/libopenjpegenc.c +@@ -32,7 +32,9 @@ + #include "avcodec.h" + #include "internal.h" + +-#if HAVE_OPENJPEG_2_1_OPENJPEG_H ++#if HAVE_OPENJPEG_2_2_OPENJPEG_H ++# include ++#elif HAVE_OPENJPEG_2_1_OPENJPEG_H + # include + #elif HAVE_OPENJPEG_2_0_OPENJPEG_H + # include +@@ -42,7 +44,7 @@ + # include + #endif + +-#if HAVE_OPENJPEG_2_1_OPENJPEG_H || HAVE_OPENJPEG_2_0_OPENJPEG_H ++#if HAVE_OPENJPEG_2_2_OPENJPEG_H || HAVE_OPENJPEG_2_1_OPENJPEG_H || HAVE_OPENJPEG_2_0_OPENJPEG_H + # define OPENJPEG_MAJOR_VERSION 2 + # define OPJ(x) OPJ_##x + #else +@@ -305,7 +307,7 @@ static av_cold int libopenjpeg_encode_in + + opj_set_default_encoder_parameters(&ctx->enc_params); + +-#if HAVE_OPENJPEG_2_1_OPENJPEG_H ++#if HAVE_OPENJPEG_2_2_OPENJPEG_H || HAVE_OPENJPEG_2_1_OPENJPEG_H + switch (ctx->cinema_mode) { + case OPJ_CINEMA2K_24: + ctx->enc_params.rsiz = OPJ_PROFILE_CINEMA_2K; +@@ -769,7 +771,7 @@ static int libopenjpeg_encode_frame(AVCo + opj_stream_set_write_function(stream, stream_write); + opj_stream_set_skip_function(stream, stream_skip); + opj_stream_set_seek_function(stream, stream_seek); +-#if HAVE_OPENJPEG_2_1_OPENJPEG_H ++#if HAVE_OPENJPEG_2_2_OPENJPEG_H || HAVE_OPENJPEG_2_1_OPENJPEG_H + opj_stream_set_user_data(stream, &writer, NULL); + #elif HAVE_OPENJPEG_2_0_OPENJPEG_H + opj_stream_set_user_data(stream, &writer); diff --git a/media-video/ffmpeg/files/openjpeg23.patch b/media-video/ffmpeg/files/openjpeg23.patch new file mode 100644 index 000000000000..4398769a22ca --- /dev/null +++ b/media-video/ffmpeg/files/openjpeg23.patch @@ -0,0 +1,109 @@ +From: Michael Bradshaw + +Signed-off-by: Michael Bradshaw +--- + configure | 5 ++++- + libavcodec/libopenjpegdec.c | 8 +++++--- + libavcodec/libopenjpegenc.c | 10 ++++++---- + 3 files changed, 15 insertions(+), 8 deletions(-) + +diff --git a/configure b/configure +index 391c141e7a..77c9a18c3c 100755 +--- a/configure ++++ b/configure +@@ -1930,6 +1930,7 @@ HEADERS_LIST=" + machine_ioctl_meteor_h + malloc_h + opencv2_core_core_c_h ++ openjpeg_2_3_openjpeg_h + openjpeg_2_2_openjpeg_h + openjpeg_2_1_openjpeg_h + openjpeg_2_0_openjpeg_h +@@ -5950,7 +5951,9 @@ enabled libopencv && { check_header opencv2/core/core_c.h && + require opencv opencv2/core/core_c.h cvCreateImageHeader -lopencv_core -lopencv_imgproc; } || + require_pkg_config opencv opencv/cxcore.h cvCreateImageHeader; } + enabled libopenh264 && require_pkg_config openh264 wels/codec_api.h WelsGetCodecVersion +-enabled libopenjpeg && { { check_lib openjpeg-2.2/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || ++enabled libopenjpeg && { { check_lib openjpeg-2.3/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || ++ check_lib openjpeg-2.3/openjpeg.h opj_version -lopenjp2 || ++ { check_lib openjpeg-2.2/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || + check_lib openjpeg-2.2/openjpeg.h opj_version -lopenjp2 || + { check_lib openjpeg-2.1/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || + check_lib openjpeg-2.1/openjpeg.h opj_version -lopenjp2 || +diff --git a/libavcodec/libopenjpegdec.c b/libavcodec/libopenjpegdec.c +index 1210123265..67d47bd6a0 100644 +--- a/libavcodec/libopenjpegdec.c ++++ b/libavcodec/libopenjpegdec.c +@@ -34,7 +34,9 @@ + #include "internal.h" + #include "thread.h" + +-#if HAVE_OPENJPEG_2_2_OPENJPEG_H ++#if HAVE_OPENJPEG_2_3_OPENJPEG_H ++# include ++#elif HAVE_OPENJPEG_2_2_OPENJPEG_H + # include + #elif HAVE_OPENJPEG_2_1_OPENJPEG_H + # include +@@ -46,7 +48,7 @@ + # include + #endif + +-#if HAVE_OPENJPEG_2_2_OPENJPEG_H || HAVE_OPENJPEG_2_1_OPENJPEG_H || HAVE_OPENJPEG_2_0_OPENJPEG_H ++#if HAVE_OPENJPEG_2_3_OPENJPEG_H || HAVE_OPENJPEG_2_2_OPENJPEG_H || HAVE_OPENJPEG_2_1_OPENJPEG_H || HAVE_OPENJPEG_2_0_OPENJPEG_H + # define OPENJPEG_MAJOR_VERSION 2 + # define OPJ(x) OPJ_##x + #else +@@ -431,7 +433,7 @@ static int libopenjpeg_decode_frame(AVCodecContext *avctx, + opj_stream_set_read_function(stream, stream_read); + opj_stream_set_skip_function(stream, stream_skip); + opj_stream_set_seek_function(stream, stream_seek); +-#if HAVE_OPENJPEG_2_2_OPENJPEG_H || HAVE_OPENJPEG_2_1_OPENJPEG_H ++#if HAVE_OPENJPEG_2_3_OPENJPEG_H || HAVE_OPENJPEG_2_2_OPENJPEG_H || HAVE_OPENJPEG_2_1_OPENJPEG_H + opj_stream_set_user_data(stream, &reader, NULL); + #elif HAVE_OPENJPEG_2_0_OPENJPEG_H + opj_stream_set_user_data(stream, &reader); +diff --git a/libavcodec/libopenjpegenc.c b/libavcodec/libopenjpegenc.c +index b67e533d1d..92b4433b04 100644 +--- a/libavcodec/libopenjpegenc.c ++++ b/libavcodec/libopenjpegenc.c +@@ -32,7 +32,9 @@ + #include "avcodec.h" + #include "internal.h" + +-#if HAVE_OPENJPEG_2_2_OPENJPEG_H ++#if HAVE_OPENJPEG_2_3_OPENJPEG_H ++# include ++#elif HAVE_OPENJPEG_2_2_OPENJPEG_H + # include + #elif HAVE_OPENJPEG_2_1_OPENJPEG_H + # include +@@ -44,7 +46,7 @@ + # include + #endif + +-#if HAVE_OPENJPEG_2_2_OPENJPEG_H || HAVE_OPENJPEG_2_1_OPENJPEG_H || HAVE_OPENJPEG_2_0_OPENJPEG_H ++#if HAVE_OPENJPEG_2_3_OPENJPEG_H || HAVE_OPENJPEG_2_2_OPENJPEG_H || HAVE_OPENJPEG_2_1_OPENJPEG_H || HAVE_OPENJPEG_2_0_OPENJPEG_H + # define OPENJPEG_MAJOR_VERSION 2 + # define OPJ(x) OPJ_##x + #else +@@ -307,7 +309,7 @@ static av_cold int libopenjpeg_encode_init(AVCodecContext *avctx) + + opj_set_default_encoder_parameters(&ctx->enc_params); + +-#if HAVE_OPENJPEG_2_2_OPENJPEG_H || HAVE_OPENJPEG_2_1_OPENJPEG_H ++#if HAVE_OPENJPEG_2_3_OPENJPEG_H || HAVE_OPENJPEG_2_2_OPENJPEG_H || HAVE_OPENJPEG_2_1_OPENJPEG_H + switch (ctx->cinema_mode) { + case OPJ_CINEMA2K_24: + ctx->enc_params.rsiz = OPJ_PROFILE_CINEMA_2K; +@@ -771,7 +773,7 @@ static int libopenjpeg_encode_frame(AVCodecContext *avctx, AVPacket *pkt, + opj_stream_set_write_function(stream, stream_write); + opj_stream_set_skip_function(stream, stream_skip); + opj_stream_set_seek_function(stream, stream_seek); +-#if HAVE_OPENJPEG_2_2_OPENJPEG_H || HAVE_OPENJPEG_2_1_OPENJPEG_H ++#if HAVE_OPENJPEG_2_3_OPENJPEG_H || HAVE_OPENJPEG_2_2_OPENJPEG_H || HAVE_OPENJPEG_2_1_OPENJPEG_H + opj_stream_set_user_data(stream, &writer, NULL); + #elif HAVE_OPENJPEG_2_0_OPENJPEG_H + opj_stream_set_user_data(stream, &writer); +-- +2.13.5 (Apple Git-94) -- cgit v1.2.3