--- /dev/null
+From 47923096270ca79f362d3809f387463f6bdc1213 Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
+Date: Thu, 19 Oct 2017 16:36:17 +0200
+Subject: [PATCH] openjpeg: Support building with openjpeg 2.3, simpler
+
+OpenJPEG 2.3 installs its headers to /usr/include/openjpeg-2.3. However,
+since libopenjp2.pc seems to provide the right includedir CFLAGS at
+least since version 2.1, instead of adding yet another version check,
+just remove the subdir and the check for 2.2.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=788703
+
+Upstream: https://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=bff2d834a4a38f64e555cee3d0144fde6c515acd
+Signed-off-by: Peter Seiderer <ps.report@gmx.net>
+---
+ configure.ac | 5 -----
+ ext/openjpeg/gstopenjpeg.h | 9 ++++-----
+ ext/openjpeg/gstopenjpegdec.c | 4 ----
+ ext/openjpeg/gstopenjpegenc.c | 4 ----
+ ext/openjpeg/meson.build | 20 +++++++-------------
+ 5 files changed, 11 insertions(+), 31 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 7a8d752..f9727ac 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2815,11 +2815,6 @@ AG_GST_CHECK_FEATURE(OPENJPEG, [openjpeg library], openjpeg, [
+ AG_GST_PKG_CHECK_MODULES(OPENJPEG_2_1, libopenjp2 >= 2.1)
+ if test x"$HAVE_OPENJPEG_2_1" = x"yes"; then
+ AC_DEFINE([HAVE_OPENJPEG_2_1], 1, [Define if OpenJPEG 2.1 is used])
+- dnl include paths changed for v2.2
+- AG_GST_PKG_CHECK_MODULES(OPENJPEG_2_2, libopenjp2 >= 2.2)
+- if test x"$HAVE_OPENJPEG_2_2" = x"yes"; then
+- AC_DEFINE([HAVE_OPENJPEG_2_2], 1, [Define if OpenJPEG 2.2 is used])
+- fi
+ fi
+ else
+ # Fallback to v1.5
+diff --git a/ext/openjpeg/gstopenjpeg.h b/ext/openjpeg/gstopenjpeg.h
+index 52410a4..14e46d4 100644
+--- a/ext/openjpeg/gstopenjpeg.h
++++ b/ext/openjpeg/gstopenjpeg.h
+@@ -21,8 +21,9 @@
+ #ifndef __GST_OPENJPEG_H__
+ #define __GST_OPENJPEG_H__
+
+-#ifdef HAVE_OPENJPEG_1
+ #include <openjpeg.h>
++
++#ifdef HAVE_OPENJPEG_1
+ #define OPJ_CLRSPC_UNKNOWN CLRSPC_UNKNOWN
+ #define OPJ_CLRSPC_SRGB CLRSPC_SRGB
+ #define OPJ_CLRSPC_GRAY CLRSPC_GRAY
+@@ -38,10 +39,8 @@
+ #define OPJ_CPRL CPRL
+ #else
+ #include <stdio.h>
+-# if defined(HAVE_OPENJPEG_2_2)
+-# include <openjpeg-2.2/openjpeg.h>
+-# elif defined(HAVE_OPENJPEG_2_1)
+-# include <openjpeg-2.1/openjpeg.h>
++# if defined(HAVE_OPENJPEG_2_1)
++# include <openjpeg.h>
+ # else
+ # include <openjpeg-2.0/openjpeg.h>
+ # endif
+diff --git a/ext/openjpeg/gstopenjpegdec.c b/ext/openjpeg/gstopenjpegdec.c
+index 881769b..e387f19 100644
+--- a/ext/openjpeg/gstopenjpegdec.c
++++ b/ext/openjpeg/gstopenjpegdec.c
+@@ -1036,11 +1036,7 @@ gst_openjpeg_dec_handle_frame (GstVideoDecoder * decoder,
+ opj_stream_set_write_function (stream, write_fn);
+ opj_stream_set_skip_function (stream, skip_fn);
+ opj_stream_set_seek_function (stream, seek_fn);
+-#ifdef HAVE_OPENJPEG_2_1
+ opj_stream_set_user_data (stream, &mstream, NULL);
+-#else
+- opj_stream_set_user_data (stream, &mstream);
+-#endif
+ opj_stream_set_user_data_length (stream, mstream.size);
+
+ image = NULL;
+diff --git a/ext/openjpeg/gstopenjpegenc.c b/ext/openjpeg/gstopenjpegenc.c
+index 7514a35..1b0bdf8 100644
+--- a/ext/openjpeg/gstopenjpegenc.c
++++ b/ext/openjpeg/gstopenjpegenc.c
+@@ -958,11 +958,7 @@ gst_openjpeg_enc_handle_frame (GstVideoEncoder * encoder,
+ opj_stream_set_write_function (stream, write_fn);
+ opj_stream_set_skip_function (stream, skip_fn);
+ opj_stream_set_seek_function (stream, seek_fn);
+-#ifdef HAVE_OPENJPEG_2_1
+ opj_stream_set_user_data (stream, &mstream, NULL);
+-#else
+- opj_stream_set_user_data (stream, &mstream);
+-#endif
+ opj_stream_set_user_data_length (stream, mstream.size);
+
+ if (!opj_start_compress (enc, image, stream))
+diff --git a/ext/openjpeg/meson.build b/ext/openjpeg/meson.build
+index 0d97ebb..14b8583 100644
+--- a/ext/openjpeg/meson.build
++++ b/ext/openjpeg/meson.build
+@@ -6,21 +6,15 @@ openjpeg_sources = [
+
+ openjpeg_cargs = []
+
+-# Check for 2.2, 2.1, then 2.0
+-openjpeg_dep = dependency('libopenjp2', version : '>=2.2', required : false)
++# Check for 2.1, then 2.0, then 1.5
++openjpeg_dep = dependency('libopenjp2', version : '>=2.1', required : false)
+ if openjpeg_dep.found()
+- openjpeg_cargs += ['-DHAVE_OPENJPEG_2_2', '-DHAVE_OPENJPEG_2_1']
++ openjpeg_cargs += ['-DHAVE_OPENJPEG_2_1']
+ else
+- openjpeg_dep = dependency('libopenjp2', version : '>=2.1', required : false)
+- if openjpeg_dep.found()
+- openjpeg_cargs += ['-DHAVE_OPENJPEG_2_1']
+- else
+- openjpeg_dep = dependency('libopenjp2', required : false)
+- # Fallback to 1.5
+- if not openjpeg_dep.found()
+- openjpeg_dep = dependency('libopenjpeg1', required : false)
+- openjpeg_cargs += ['-DHAVE_OPENJPEG_1']
+- endif
++ openjpeg_dep = dependency('libopenjp2', required : false)
++ if not openjpeg_dep.found()
++ openjpeg_dep = dependency('libopenjpeg1', required : false)
++ openjpeg_cargs += ['-DHAVE_OPENJPEG_1']
+ endif
+ endif
+
+--
+2.14.2
+