On 13-6-2017 05:58, Michael Bradshaw <mjbs...@gmail.com> wrote: > Are you sure you built ffmpeg using OpenJPEG v2.2? Because your patch is > missing the openjpeg_2_2_openjpeg_h entry in HEADERS_LIST in configure, so > you shouldn't be able to successfully build with OpenJPEG v2.2. Whoops! In my script I'm patching 'configure' with sed <https://github.com/Reino17/ffmpeg-windows-build-helpers/commit/5a54632b80e479a5ec03aa7ecbd92041420db96c>. While turning these changes into a patch I seem to have forgotten the HEADERS_LIST entry indeed. New patch attached.
From 70b53c1ea5a56a03cfef24d5b551b983ba2473b2 Mon Sep 17 00:00:00 2001 From: Reino17 <rwijn...@xs4all.nl> Date: Wed, 14 Jun 2017 00:19:12 +0200 Subject: [PATCH] Add support for LibOpenJPEG v2.2/git
--- configure | 4 +++- libavcodec/libopenjpegdec.c | 10 +++++++--- libavcodec/libopenjpegenc.c | 12 ++++++++---- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/configure b/configure index e3941f9..0190966 100755 --- a/configure +++ b/configure @@ -1868,6 +1868,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 @@ -5831,7 +5832,8 @@ 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 libopenjpeg openjpeg-2.1/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || +enabled libopenjpeg && { { check_lib libopenjpeg openjpeg-2.2/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || + { check_lib libopenjpeg openjpeg-2.1/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || check_lib libopenjpeg openjpeg-2.1/openjpeg.h opj_version -lopenjp2 || { check_lib libopenjpeg openjpeg-2.0/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || { check_lib libopenjpeg openjpeg-1.5/openjpeg.h opj_version -lopenjpeg -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || diff --git a/libavcodec/libopenjpegdec.c b/libavcodec/libopenjpegdec.c index ce4e2b0..5ed9ce1 100644 --- 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 <openjpeg-2.2/openjpeg.h> +#elif HAVE_OPENJPEG_2_1_OPENJPEG_H # include <openjpeg-2.1/openjpeg.h> #elif HAVE_OPENJPEG_2_0_OPENJPEG_H # include <openjpeg-2.0/openjpeg.h> @@ -44,7 +46,7 @@ # include <openjpeg.h> #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,9 @@ 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 + opj_stream_set_user_data(stream, &reader, NULL); +#elif 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..d3b9161 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 <openjpeg-2.2/openjpeg.h> +#elif HAVE_OPENJPEG_2_1_OPENJPEG_H # include <openjpeg-2.1/openjpeg.h> #elif HAVE_OPENJPEG_2_0_OPENJPEG_H # include <openjpeg-2.0/openjpeg.h> @@ -42,7 +44,7 @@ # include <openjpeg.h> #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,9 @@ 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 + opj_stream_set_user_data(stream, &writer, NULL); +#elif 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.8.3
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel