diff --git a/LibOpenJPEG-2.2.patch b/LibOpenJPEG-2.2.patch new file mode 100644 index 0000000..24aed38 --- /dev/null +++ b/LibOpenJPEG-2.2.patch @@ -0,0 +1,95 @@ +--- a/configure ++++ b/configure +@@ -1875,6 +1875,7 @@ + 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 @@ + 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; } || + +--- a/libavcodec/libopenjpegdec.c ++++ b/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(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_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); +diff --git a/libavcodec/libopenjpegenc.c b/libavcodec/libopenjpegenc.c +index 4a12729..b67e533 100644 +--- a/libavcodec/libopenjpegenc.c ++++ b/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_init(AVCodecContext *avctx) + + 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(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_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/ffmpeg.spec b/ffmpeg.spec index c1504e4..93cb957 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -71,7 +71,7 @@ Summary: Digital VCR and streaming server Name: ffmpeg%{?flavor} Version: 3.3.3 -Release: 3%{?date}%{?date:git}%{?rel}%{?dist} +Release: 4%{?date}%{?date:git}%{?rel}%{?dist} License: %{ffmpeg_license} URL: http://ffmpeg.org/ %if 0%{?date} @@ -79,6 +79,8 @@ Source0: ffmpeg-%{?branch}%{date}.tar.bz2 %else Source0: http://ffmpeg.org/releases/ffmpeg-%{version}.tar.xz %endif +# Patch based on https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/078322f33ced4b2db6ac3e5002f98233d6fbf643 +Patch0: LibOpenJPEG-2.2.patch Requires: %{name}-libs%{?_isa} = %{version}-%{release} %{?_with_cuda:BuildRequires: cuda-driver-dev-8-0 cuda-misc-headers-8-0 cuda-drivers-devel%{_isa}} %{?_with_libnpp:BuildRequires: cuda-cudart-dev-8-0 cuda-misc-headers-8-0 cuda-npp-dev-8-0} @@ -289,6 +291,7 @@ echo "git-snapshot-%{?branch}%{date}-RPMFusion" > VERSION %else %setup -q -n ffmpeg-%{version} %endif +%patch0 -p1 # fix -O3 -g in host_cflags sed -i "s|check_host_cflags -O3|check_host_cflags %{optflags}|" configure mkdir -p _doc/examples @@ -390,6 +393,9 @@ install -pm755 tools/qt-faststart %{buildroot}%{_bindir} %changelog +* Thu Aug 31 2017 Leigh Scott - 3.3.3-4 +- Add support for LibOpenJPEG v2.2 + * Thu Aug 31 2017 RPM Fusion Release Engineering - 3.3.3-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild