Opened 7 years ago
Closed 7 years ago
#6719 closed enhancement (fixed)
ffmpeg doesn't build with newest openjpeg dependency from its git now at v2.3.0
Reported by: | hydra3333 | Owned by: | |
---|---|---|---|
Priority: | wish | Component: | build system |
Version: | git-master | Keywords: | libopenjpeg |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Summary of the bug:
Openjpeg git at https://github.com/uclouvain/openjpeg is up from v2.2 to v2.3, which means that ffmpeg no longer builds with the openjpeg dependency as built from its git.
The attached .diff patches seem to fix ffmpeg so that it builds with openjpeg v2.3 as a dependency built from its git.
built on:
2017.10.05
Patches should be submitted to the ffmpeg-devel mailing list and not this bug tracker.
... except that I'm a newbie and don't know how and may be totally embarrassed by my lack of competence. Some kind reviewer may choose to consider reviewing the patches or equivalents and maybe submit them to update ffmpeg so that it then builds with openjpeg v2.3 ?
--- libopenjpegdec.c 2017-10-05 19:19:04.193903000 +1030 +++ libopenjpegdec.2.3.c 2017-10-05 19:19:04.193903000 +1030 @@ -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 @@ 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);
--- libopenjpegenc.c 2017-10-05 19:19:04.193903000 +1030 +++ libopenjpegenc.2.3.c 2017-10-05 19:19:04.193903000 +1030 @@ -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 @@ 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 @@ 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);
--- configure 2017-10-05 19:19:04.193903000 +1030 +++ configure.2.3.new 2017-10-05 19:19:04.193903000 +1030 @@ -1930,6 +1930,7 @@ 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 @@ require opencv opencv2/core/core_c.h cvCreateImageHeader -lopencv_core -lopencv_imgproc; } || require_pkg_config libopencv opencv opencv/cxcore.h cvCreateImageHeader; } enabled libopenh264 && require_pkg_config libopenh264 openh264 wels/codec_api.h WelsGetCodecVersion -enabled libopenjpeg && { { check_lib libopenjpeg openjpeg-2.2/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || +enabled libopenjpeg && { { check_lib libopenjpeg openjpeg-2.3/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || + check_lib libopenjpeg openjpeg-2.3/openjpeg.h opj_version -lopenjp2 || + { check_lib libopenjpeg openjpeg-2.2/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || check_lib libopenjpeg openjpeg-2.2/openjpeg.h opj_version -lopenjp2 || { 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 ||
Change History (5)
comment:1 by , 7 years ago
Keywords: | libopenjpeg added; openjpeg_v2.3.0 removed |
---|
comment:2 by , 7 years ago
Priority: | normal → wish |
---|---|
Type: | defect → enhancement |
comment:3 by , 7 years ago
OK, attempted to send a patch made with git format-patch to the FFmpeg development mailing list.
I suppose I track it by looking at threaded view for Oct 2017 here
http://ffmpeg.org/pipermail/ffmpeg-devel/
comment:4 by , 7 years ago
Ah I just noticed someone got in before me with the same patch.
http://ffmpeg.org/pipermail/ffmpeg-devel/2017-October/217389.html
I wonder how I cancel a patch sent to the list.
comment:5 by , 7 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Thank you for your report and your try to fix it!
Hopefully fixed by Michael Bradshaw in 41d6d627024393c142cf7cd93eff1d5a049105f5
Please send your patch made with
git format-patch
to the FFmpeg development mailing list.