commit:     ca978a6c5eee01f7bab203df144003ec7ae8979c
Author:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Sun Oct  8 10:20:38 2017 +0000
Commit:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Sun Oct  8 10:20:38 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ca978a6c

media-video/ffmpeg: backport upstream patch to build with openjpeg 2.3; by 
Andreas Sturmlechner.

Close: https://bugs.gentoo.org/633576
Package-Manager: Portage-2.3.11, Repoman-2.3.3

 media-video/ffmpeg/ffmpeg-3.3.4.ebuild    |   1 +
 media-video/ffmpeg/files/openjpeg23.patch | 109 ++++++++++++++++++++++++++++++
 2 files changed, 110 insertions(+)

diff --git a/media-video/ffmpeg/ffmpeg-3.3.4.ebuild 
b/media-video/ffmpeg/ffmpeg-3.3.4.ebuild
index 9d94cd67b70..66159129457 100644
--- a/media-video/ffmpeg/ffmpeg-3.3.4.ebuild
+++ b/media-video/ffmpeg/ffmpeg-3.3.4.ebuild
@@ -309,6 +309,7 @@ MULTILIB_WRAPPED_HEADERS=(
 
 PATCHES=(
        "${FILESDIR}"/openjpeg22.patch
+       "${FILESDIR}"/openjpeg23.patch
        "${FILESDIR}"/chromium.patch
 )
 

diff --git a/media-video/ffmpeg/files/openjpeg23.patch 
b/media-video/ffmpeg/files/openjpeg23.patch
new file mode 100644
index 00000000000..4398769a22c
--- /dev/null
+++ b/media-video/ffmpeg/files/openjpeg23.patch
@@ -0,0 +1,109 @@
+From: Michael Bradshaw <mjbshaw at google.com>
+
+Signed-off-by: Michael Bradshaw <mjbshaw at google.com>
+---
+ 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 <openjpeg-2.3/openjpeg.h>
++#elif HAVE_OPENJPEG_2_2_OPENJPEG_H
+ #  include <openjpeg-2.2/openjpeg.h>
+ #elif HAVE_OPENJPEG_2_1_OPENJPEG_H
+ #  include <openjpeg-2.1/openjpeg.h>
+@@ -46,7 +48,7 @@
+ #  include <openjpeg.h>
+ #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 <openjpeg-2.3/openjpeg.h>
++#elif HAVE_OPENJPEG_2_2_OPENJPEG_H
+ #  include <openjpeg-2.2/openjpeg.h>
+ #elif HAVE_OPENJPEG_2_1_OPENJPEG_H
+ #  include <openjpeg-2.1/openjpeg.h>
+@@ -44,7 +46,7 @@
+ #  include <openjpeg.h>
+ #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)

Reply via email to