[FFmpeg-devel] [PATCH] Add support for libopenjpeg 2.3

Alexis Ballier aballier at gentoo.org
Sun Oct 8 15:34:32 EEST 2017


On Sun, 8 Oct 2017 13:43:45 +0200
Clément Bœsch <u at pkh.me> wrote:

> On Sun, Oct 08, 2017 at 04:51:49PM +0530, Gyan Doshi wrote:
> > OpenJPEG 2.3 was released a few days ago. Changelog reports "No
> > API/ABI break compared to v2.2.0 but additional symbols for subset
> > of components decoding"
> > 
> > This patch is adapted from an earlier patch which added support for
> > 2.2.
> > 
> > Applied and tested locally.  
> 
> > From c42f0c4290170cb49dc00f7898bee31d2e8ee814 Mon Sep 17 00:00:00
> > 2001 From: Gyan Doshi <gyandoshi at gmail.com>
> > Date: Sun, 8 Oct 2017 14:59:23 +0530
> > Subject: [PATCH] lavc: add support for openjpeg 2.3
> > 
> > Signed-off-by: Gyan Doshi <gyandoshi at gmail.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..3280e74f0f 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 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 ||  
> 
> I'm sorry but this needs to stop. Why the hell do we have to add a
> ton of garbage to the configure every time there is a new openjpeg
> release?
> 
> Why is it the only project that pollutes the configure like this at
> every release?


openjpeg provides a pkg-config file here; from the look of it, it only
needs to require a recent enough version (>=2.1 I'd guess), use the
pkg-config reported cflags and libs, and #include <openjpeg.h> instead
of <openjpeg-$version/openjpeg.h>


More information about the ffmpeg-devel mailing list