On Mon, Jun 12, 2017 at 4:36 PM, Reino Wijnsma <rwijn...@xs4all.nl> wrote:
> This patch adds support for LibOpenJPEG v2.2/git. At the moment v2.1 is > the highest version FFmpeg supports. I've successfully cross-compiled > FFmpeg this way. 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. > From df61d7a295bec74c85d37042051e9dc1ef5cdbce Mon Sep 17 00:00:00 2001 > From: Reino17 <rwijn...@xs4all.nl> > Date: Tue, 13 Jun 2017 01:01:07 +0200 > Subject: [PATCH] Add support for LibOpenJPEG v2.2/git > --- > configure | 3 ++- > libavcodec/libopenjpegdec.c | 10 +++++++--- > libavcodec/libopenjpegenc.c | 12 ++++++++---- > 3 files changed, 17 insertions(+), 8 deletions(-) > diff --git a/configure b/configure > index e3941f9..003d359 100755 > --- a/configure > +++ b/configure > @@ -5831,7 +5831,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); Please merge these two into just one #if branch. That is: #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 ... > #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); Please merge these two into just one #if branch. That is: #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 ... > #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