JPEG encoding result differs between buiding version and deb version (Dcpomatic 2.12.4)

Anything and everything to do with DCP-o-matic.
dcpmaker
Posts: 32
Joined: Thu Apr 19, 2018 1:58 am

JPEG encoding result differs between buiding version and deb version (Dcpomatic 2.12.4)

Post by dcpmaker »

Hi.
I'm using DOM of version 2.12.4, buiding from source code and I've found the j2c encode result different with the deb version.
It's my comparing prcocess as follows:
--Make a dcp with dom of deb version, unwrap the j2c files (using "asdcp-unwrap" command). Let's say the output are J2Cs1.
--Make a dcp with dom of build version(new directory, same metadata.xml with the previous prject), unwrap the j2c files in the same way. Let's say the output are J2Cs2.

As the result, J2Cs1 differs from J2Cs2, and the difference is exactly the same as the other post (Carsten says: "It only detects two tiny differences between the two frames being encoded with 2.10.5. and 2.11.31. "). Sorry, I want to quote the picture but I don't know how.
( https://dcpomatic.com/forum/viewtopic.php?f=2&t=965 )
Image

My dependency list is as follows:
--locked_sstream 0.0.5devel
--libcxml 0.15.5
--libopenjp2 2.2.0
--libasdcp-cth 0.1.3
--libdcp 1.5.2
--libsub 1.3.1
--wxWidgets 3.0.2
--ffmpeg-cdist up-to-date with 'origin/carl-dcpomatic'

So is there anything wrong with my dependency version?
carl
Site Admin
Posts: 2550
Joined: Thu Nov 14, 2013 2:53 pm

Re: JPEG encoding result differs between buiding version and deb version (Dcpomatic 2.12.4)

Post by carl »

Your version of openipeg contains a patch which breaks playback on some cinema servers.

Either use the git HEAD from openjpeg or git://git.carlh.net/git/openjpeg2-cdist.git
dcpmaker
Posts: 32
Joined: Thu Apr 19, 2018 1:58 am

Re: JPEG encoding result differs between buiding version and deb version (Dcpomatic 2.12.4)

Post by dcpmaker »

I've just tried the two method, either re-git from git://git.carlh.net/git/openjpeg2-cdist.git or git from https://github.com/uclouvain/openjpeg.git, neither worked:(

That's how I did:
--git openjpeg, cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_PKGCONFIG_FILES=ON -DBUILD_SHARED_LIBS=OFF, make, make install
--cd dcpomatic, ./waf configure clean build, ./waf install

Is there anything wrong with my process?
carl
Site Admin
Posts: 2550
Joined: Thu Nov 14, 2013 2:53 pm

Re: JPEG encoding result differs between buiding version and deb version (Dcpomatic 2.12.4)

Post by carl »

Sounds about right... the output of

Code: Select all

ldd build/src/tools/dcpomatic2
might be interesting. Also, did you rebuild the test DCP from scratch (i.e. delete it and re-make)?
dcpmaker
Posts: 32
Joined: Thu Apr 19, 2018 1:58 am

Re: JPEG encoding result differs between buiding version and deb version (Dcpomatic 2.12.4)

Post by dcpmaker »

Yes, I delete all files except metadata.xml and rebuild the test DCP.

Here's the output:
linux-vdso.so.1 => (0x00007ffcd7d9a000)
libdcpomatic2-wx.so => /usr/local/lib/libdcpomatic2-wx.so (0x00007f254f0da000)
libdcpomatic2.so => /usr/local/lib/libdcpomatic2.so (0x00007f254ea48000)
libboost_system.so.1.58.0 => /usr/lib/x86_64-linux-gnu/libboost_system.so.1.58.0 (0x00007f254e844000)
libdcp-1.0.so => /usr/local/lib/libdcp-1.0.so (0x00007f254e4b7000)
libboost_filesystem.so.1.58.0 => /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.58.0 (0x00007f254e29f000)
libwx_gtk2u_core-3.0.so.0 => /usr/local/lib/libwx_gtk2u_core-3.0.so.0 (0x00007f254da08000)
libwx_baseu-3.0.so.0 => /usr/local/lib/libwx_baseu-3.0.so.0 (0x00007f254d568000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f254d1e6000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f254cfd0000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f254cdb3000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f254c9e9000)
libwx_gtk2u_richtext-3.0.so.0 => /usr/local/lib/libwx_gtk2u_richtext-3.0.so.0 (0x00007f254c629000)
libwx_gtk2u_adv-3.0.so.0 => /usr/local/lib/libwx_gtk2u_adv-3.0.so.0 (0x00007f254c240000)
libcxml.so.0 => /usr/local/lib/libcxml.so.0 (0x00007f254c037000)
libxml++-2.6.so.2 => /usr/lib/x86_64-linux-gnu/libxml++-2.6.so.2 (0x00007f254be05000)
libgobject-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007f254bbb2000)
librtaudio.so.5 => /usr/local/lib/librtaudio.so.5 (0x00007f254b998000)
libgtk-x11-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 (0x00007f254b34d000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f254b044000)
/lib64/ld-linux-x86-64.so.2 (0x00007f254f70a000)
libavcodec.so.56 => /usr/local/lib/libavcodec.so.56 (0x00007f2549cda000)
libavutil.so.54 => /usr/local/lib/libavutil.so.54 (0x00007f2549a6f000)
libavformat.so.56 => /usr/local/lib/libavformat.so.56 (0x00007f2549680000)
libavfilter.so.5 => /usr/local/lib/libavfilter.so.5 (0x00007f2549302000)
libswscale.so.3 => /usr/local/lib/libswscale.so.3 (0x00007f254907c000)
libboost_thread.so.1.58.0 => /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.58.0 (0x00007f2548e56000)
libboost_date_time.so.1.58.0 => /usr/lib/x86_64-linux-gnu/libboost_date_time.so.1.58.0 (0x00007f2548c45000)
libboost_regex.so.1.58.0 => /usr/lib/x86_64-linux-gnu/libboost_regex.so.1.58.0 (0x00007f254893d000)
libsamplerate.so.0 => /usr/lib/x86_64-linux-gnu/libsamplerate.so.0 (0x00007f25485d1000)
libMagick++-7.Q16HDRI.so.4 => /usr/local/lib/libMagick++-7.Q16HDRI.so.4 (0x00007f2548335000)
libssh.so.4 => /usr/lib/x86_64-linux-gnu/libssh.so.4 (0x00007f25480ea000)
libglibmm-2.4.so.1 => /usr/lib/x86_64-linux-gnu/libglibmm-2.4.so.1 (0x00007f2547e71000)
libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f2547b60000)
libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007f254771c000)
libasdcp-cth.so => /usr/local/lib/libasdcp-cth.so (0x00007f25473c6000)
libkumu-cth.so => /usr/local/lib/libkumu-cth.so (0x00007f2547196000)
libcurl.so.4 => /usr/lib/x86_64-linux-gnu/libcurl.so.4 (0x00007f2546f27000)
libzip.so.4 => /usr/lib/x86_64-linux-gnu/libzip.so.4 (0x00007f2546d14000)
libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007f2546ad1000)
libpangomm-1.4.so.1 => /usr/lib/x86_64-linux-gnu/libpangomm-1.4.so.1 (0x00007f25468a4000)
libcairomm-1.0.so.1 => /usr/lib/x86_64-linux-gnu/libcairomm-1.0.so.1 (0x00007f2546680000)
libsub-1.0.so => /usr/local/lib/libsub-1.0.so (0x00007f2546407000)
libicui18n.so.55 => /usr/lib/x86_64-linux-gnu/libicui18n.so.55 (0x00007f2545fa5000)
libicuuc.so.55 => /usr/lib/x86_64-linux-gnu/libicuuc.so.55 (0x00007f2545c11000)
libnettle.so.6 => /usr/lib/x86_64-linux-gnu/libnettle.so.6 (0x00007f25459db000)
libxml2.so.2 => /usr/lib/x86_64-linux-gnu/libxml2.so.2 (0x00007f2545620000)
libopenjp2.so.7 => /usr/local/lib/libopenjp2.so.7 (0x00007f25453c3000)
libxmlsec1-openssl.so.1 => /usr/lib/libxmlsec1-openssl.so.1 (0x00007f2545188000)
libxmlsec1.so.1 => /usr/lib/libxmlsec1.so.1 (0x00007f2544f2a000)
libgdk-x11-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0 (0x00007f2544c75000)
libpangocairo-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0 (0x00007f2544a68000)
libcairo.so.2 => /usr/lib/x86_64-linux-gnu/libcairo.so.2 (0x00007f2544754000)
libgdk_pixbuf-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0 (0x00007f2544532000)
libpango-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0 (0x00007f25442e6000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f2543fac000)
libXxf86vm.so.1 => /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1 (0x00007f2543da6000)
libSM.so.6 => /usr/lib/x86_64-linux-gnu/libSM.so.6 (0x00007f2543b9e000)
libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007f2543979000)
libjpeg.so.8 => /usr/lib/x86_64-linux-gnu/libjpeg.so.8 (0x00007f2543720000)
libtiff.so.5 => /usr/lib/x86_64-linux-gnu/libtiff.so.5 (0x00007f25434ac000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f2543292000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f254308e000)
libwx_gtk2u_html-3.0.so.0 => /usr/local/lib/libwx_gtk2u_html-3.0.so.0 (0x00007f2542dae000)
libwx_baseu_xml-3.0.so.0 => /usr/local/lib/libwx_baseu_xml-3.0.so.0 (0x00007f2542b9e000)
libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007f2542996000)
libpulse-simple.so.0 => /usr/lib/x86_64-linux-gnu/libpulse-simple.so.0 (0x00007f2542791000)
libasound.so.2 => /usr/lib/x86_64-linux-gnu/libasound.so.2 (0x00007f2542491000)
libgmodule-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0 (0x00007f254228d000)
libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007f2542087000)
libatk-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libatk-1.0.so.0 (0x00007f2541e62000)
libgio-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 (0x00007f2541ada000)
libpangoft2-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0 (0x00007f25418c4000)
libswresample.so.1 => /usr/local/lib/libswresample.so.1 (0x00007f25416aa000)
libx264.so.148 => /usr/lib/x86_64-linux-gnu/libx264.so.148 (0x00007f2541306000)
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f25410e4000)
libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007f2540ed4000)
libpostproc.so.53 => /usr/local/lib/libpostproc.so.53 (0x00007f2540cb9000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f2540ab1000)
libMagickWand-7.Q16HDRI.so.5 => /usr/local/lib/libMagickWand-7.Q16HDRI.so.5 (0x00007f254077a000)
libMagickCore-7.Q16HDRI.so.5 => /usr/local/lib/libMagickCore-7.Q16HDRI.so.5 (0x00007f254007e000)
libgssapi_krb5.so.2 => /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007f253fe34000)
libsigc-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libsigc-2.0.so.0 (0x00007f253fc2e000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f253f9be000)
libidn.so.11 => /usr/lib/x86_64-linux-gnu/libidn.so.11 (0x00007f253f78b000)
librtmp.so.1 => /usr/lib/x86_64-linux-gnu/librtmp.so.1 (0x00007f253f56f000)
libssl.so.1.0.0 => /lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007f253f306000)
liblber-2.4.so.2 => /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2 (0x00007f253f0f7000)
libldap_r-2.4.so.2 => /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2 (0x00007f253eea6000)
libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f253ebfc000)
libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f253e9d3000)
libicudata.so.55 => /usr/lib/x86_64-linux-gnu/libicudata.so.55 (0x00007f253cf1c000)
libxslt.so.1 => /usr/lib/x86_64-linux-gnu/libxslt.so.1 (0x00007f253ccdf000)
libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1 (0x00007f253cad5000)
libXinerama.so.1 => /usr/lib/x86_64-linux-gnu/libXinerama.so.1 (0x00007f253c8d2000)
libXi.so.6 => /usr/lib/x86_64-linux-gnu/libXi.so.6 (0x00007f253c6c2000)
libXrandr.so.2 => /usr/lib/x86_64-linux-gnu/libXrandr.so.2 (0x00007f253c4b7000)
libXcursor.so.1 => /usr/lib/x86_64-linux-gnu/libXcursor.so.1 (0x00007f253c2ad000)
libXcomposite.so.1 => /usr/lib/x86_64-linux-gnu/libXcomposite.so.1 (0x00007f253c0aa000)
libXdamage.so.1 => /usr/lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007f253bea7000)
libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f253bc95000)
libpixman-1.so.0 => /usr/lib/x86_64-linux-gnu/libpixman-1.so.0 (0x00007f253b9ed000)
libxcb-shm.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-shm.so.0 (0x00007f253b7e9000)
libxcb-render.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-render.so.0 (0x00007f253b5df000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f253b3bd000)
libthai.so.0 => /usr/lib/x86_64-linux-gnu/libthai.so.0 (0x00007f253b1b4000)
libICE.so.6 => /usr/lib/x86_64-linux-gnu/libICE.so.6 (0x00007f253af9a000)
libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f253ad95000)
libjbig.so.0 => /usr/lib/x86_64-linux-gnu/libjbig.so.0 (0x00007f253ab87000)
libpulse.so.0 => /usr/lib/x86_64-linux-gnu/libpulse.so.0 (0x00007f253a937000)
libpulsecommon-8.0.so => /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-8.0.so (0x00007f253a6bc000)
libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007f253a49a000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f253a27f000)
libharfbuzz.so.0 => /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0 (0x00007f253a021000)
libgomp.so.1 => /usr/lib/x86_64-linux-gnu/libgomp.so.1 (0x00007f2539dff000)
liblcms2.so.2 => /usr/lib/x86_64-linux-gnu/liblcms2.so.2 (0x00007f2539ba8000)
liblqr-1.so.0 => /usr/lib/x86_64-linux-gnu/liblqr-1.so.0 (0x00007f2539990000)
libdjvulibre.so.21 => /usr/lib/x86_64-linux-gnu/libdjvulibre.so.21 (0x00007f25395ec000)
libwmflite-0.2.so.7 => /usr/lib/x86_64-linux-gnu/libwmflite-0.2.so.7 (0x00007f25393cd000)
libIlmImf-2_2.so.22 => /usr/lib/x86_64-linux-gnu/libIlmImf-2_2.so.22 (0x00007f2538eff000)
libgvc.so.6 => /usr/lib/libgvc.so.6 (0x00007f2538c65000)
libcgraph.so.6 => /usr/lib/libcgraph.so.6 (0x00007f2538a50000)
libkrb5.so.3 => /usr/lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007f253877e000)
libk5crypto.so.3 => /usr/lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f253854f000)
libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f253834b000)
libkrb5support.so.0 => /usr/lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f2538140000)
libgnutls.so.30 => /usr/lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007f2537e10000)
libhogweed.so.4 => /usr/lib/x86_64-linux-gnu/libhogweed.so.4 (0x00007f2537bdd000)
libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f253795d000)
libsasl2.so.2 => /usr/lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007f2537742000)
libgssapi.so.3 => /usr/lib/x86_64-linux-gnu/libgssapi.so.3 (0x00007f2537501000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f25372fd000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f25370f7000)
libdatrie.so.1 => /usr/lib/x86_64-linux-gnu/libdatrie.so.1 (0x00007f2536eef000)
libjson-c.so.2 => /lib/x86_64-linux-gnu/libjson-c.so.2 (0x00007f2536ce4000)
libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007f2536a98000)
libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007f254f856000)
libwrap.so.0 => /lib/x86_64-linux-gnu/libwrap.so.0 (0x00007f253688e000)
libsndfile.so.1 => /usr/lib/x86_64-linux-gnu/libsndfile.so.1 (0x00007f2536625000)
libasyncns.so.0 => /usr/lib/x86_64-linux-gnu/libasyncns.so.0 (0x00007f253641f000)
libgraphite2.so.3 => /usr/lib/x86_64-linux-gnu/libgraphite2.so.3 (0x00007f25361f9000)
libHalf.so.12 => /usr/lib/x86_64-linux-gnu/libHalf.so.12 (0x00007f2535fb6000)
libIex-2_2.so.12 => /usr/lib/x86_64-linux-gnu/libIex-2_2.so.12 (0x00007f2535d98000)
libIlmThread-2_2.so.12 => /usr/lib/x86_64-linux-gnu/libIlmThread-2_2.so.12 (0x00007f2535b91000)
libltdl.so.7 => /usr/lib/x86_64-linux-gnu/libltdl.so.7 (0x00007f2535987000)
libcdt.so.5 => /usr/lib/libcdt.so.5 (0x00007f2535780000)
libpathplan.so.4 => /usr/lib/libpathplan.so.4 (0x00007f2535578000)
libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f2535374000)
libp11-kit.so.0 => /usr/lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007f2535110000)
libtasn1.so.6 => /usr/lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007f2534efd000)
libheimntlm.so.0 => /usr/lib/x86_64-linux-gnu/libheimntlm.so.0 (0x00007f2534cf4000)
libkrb5.so.26 => /usr/lib/x86_64-linux-gnu/libkrb5.so.26 (0x00007f2534a6a000)
libasn1.so.8 => /usr/lib/x86_64-linux-gnu/libasn1.so.8 (0x00007f25347c8000)
libhcrypto.so.4 => /usr/lib/x86_64-linux-gnu/libhcrypto.so.4 (0x00007f2534595000)
libroken.so.18 => /usr/lib/x86_64-linux-gnu/libroken.so.18 (0x00007f253437f000)
libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007f253409e000)
libnsl.so.1 => /lib/x86_64-linux-gnu/libnsl.so.1 (0x00007f2533e85000)
libFLAC.so.8 => /usr/lib/x86_64-linux-gnu/libFLAC.so.8 (0x00007f2533c10000)
libvorbisenc.so.2 => /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2 (0x00007f2533967000)
libwind.so.0 => /usr/lib/x86_64-linux-gnu/libwind.so.0 (0x00007f253373e000)
libheimbase.so.1 => /usr/lib/x86_64-linux-gnu/libheimbase.so.1 (0x00007f253352f000)
libhx509.so.5 => /usr/lib/x86_64-linux-gnu/libhx509.so.5 (0x00007f25332e4000)
libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007f253300f000)
libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f2532dd7000)
libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007f2532bc3000)
libogg.so.0 => /usr/lib/x86_64-linux-gnu/libogg.so.0 (0x00007f25329ba000)
libvorbis.so.0 => /usr/lib/x86_64-linux-gnu/libvorbis.so.0 (0x00007f253278f000)
carl
Site Admin
Posts: 2550
Joined: Thu Nov 14, 2013 2:53 pm

Re: JPEG encoding result differs between buiding version and deb version (Dcpomatic 2.12.4)

Post by carl »

libopenjp2.so.7 => /usr/local/lib/libopenjp2.so.7 (0x00007f25453c3000)
This means that your new dcpomatic2 binary is dynamically linked to that libopenjp2. Given that you built with with BUILD_SHARED_LIBS=OFF I think this is your old openjp2. I'd delete that (and its include files etc.) and try again.
dcpmaker
Posts: 32
Joined: Thu Apr 19, 2018 1:58 am

Re: JPEG encoding result differs between buiding version and deb version (Dcpomatic 2.12.4)

Post by dcpmaker »

Yes, I found that openjpeg2.2 is also in the /usr/local/lib path. So I remove all of them and reinstall the latest openjpeg (2.3).
But when I rebuild the libdcp some error occured:

Code: Select all

[186/199] Linking build/src/libdcp-1.0.so
/usr/bin/ld: /usr/local/lib/libopenjp2.a(cio.c.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libopenjp2.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status

Waf: Leaving directory `/home/oracle/dcpomatic_2.12.4/libdcp/build'
Build failed
 -> task in 'libdcp-1.0' failed (exit status 1): 
	{task 140008558988624: cxxshlib asset.cc.1.o,asset_writer.cc.1.o,atmos_asset.cc.1.o,atmos_asset_writer.cc.1.o,certificate_chain.cc.1.o,certificate.cc.1.o,chromaticity.cc.1.o,colour_conversion.c
c.1.o,cpl.cc.1.o,data.cc.1.o,dcp.cc.1.o,dcp_time.cc.1.o,decrypted_kdm.cc.1.o,decryption_context.cc.1.o,decrypted_kdm_key.cc.1.o,encrypted_kdm.cc.1.o,encryption_context.cc.1.o,exceptions.cc.1.o,file.cc.1.o,font_asset.cc.1.o,gamma_transfer_function.cc.1.o,identity_transfer_function.cc.1.o,interop_load_font_node.cc.1.o,interop_subtitle_asset.cc.1.o,j2k.cc.1.o,key.cc.1.o,local_time.cc.1.o,locale_convert.cc.1.o,metadata.cc.1.o,modified_gamma_transfer_function.cc.1.o,mono_picture_asset.cc.1.o,mono_picture_asset_writer.cc.1.o,mono_picture_frame.cc.1.o,mxf.cc.1.o,name_format.cc.1.o,object.cc.1.o,openjpeg_image.cc.1.o,picture_asset.cc.1.o,picture_asset_writer.cc.1.o,raw_convert.cc.1.o,reel.cc.1.o,reel_asset.cc.1.o,reel_atmos_asset.cc.1.o,reel_closed_caption_asset.cc.1.o,reel_mono_picture_asset.cc.1.o,reel_mxf.cc.1.o,reel_picture_asset.cc.1.o,reel_sound_asset.cc.1.o,reel_stereo_picture_asset.cc.1.o,reel_subtitle_asset.cc.1.o,ref.cc.1.o,rgb_xyz.cc.1.o,s_gamut3_transfer_function.cc.1.o,smpte_load_font_node.cc.1.o,smpte_subtitle_asset.cc.1.o,sound_asset.cc.1.o,sound_asset_writer.cc.1.o,sound_frame.cc.1.o,stereo_picture_asset.cc.1.o,stereo_picture_asset_writer.cc.1.o,stereo_picture_frame.cc.1.o,subtitle_asset.cc.1.o,subtitle_asset_internal.cc.1.o,subtitle_string.cc.1.o,transfer_function.cc.1.o,types.cc.1.o,util.cc.1.o,version.cc.1.o -> libdcp-1.0.so}['/usr/bin/g++', '-Lsrc', '-pthread', '-shared', '-std=c++11', '-std=c++11', 'src/asset.cc.1.o', 'src/asset_writer.cc.1.o', 'src/atmos_asset.cc.1.o', 'src/atmos_asset_writer.cc.1.o', 'src/certificate_c
hain.cc.1.o', 'src/certificate.cc.1.o', 'src/chromaticity.cc.1.o', 'src/colour_conversion.cc.1.o', 'src/cpl.cc.1.o', 'src/data.cc.1.o', 'src/dcp.cc.1.o', 'src/dcp_time.cc.1.o', 'src/decrypted_kdm.cc.1.o', 'src/decryption_context.cc.1.o', 'src/decrypted_kdm_key.cc.1.o', 'src/encrypted_kdm.cc.1.o', 'src/encryption_context.cc.1.o', 'src/exceptions.cc.1.o', 'src/file.cc.1.o', 'src/font_asset.cc.1.o', 'src/gamma_transfer_function.cc.1.o', 'src/identity_transfer_function.cc.1.o', 'src/interop_load_font_node.cc.1.o', 'src/interop_subtitle_asset.cc.1.o', 'src/j2k.cc.1.o', 'src/key.cc.1.o', 'src/local_time.cc.1.o', 'src/locale_convert.cc.1.o', 'src/metadata.cc.1.o', 'src/modified_gamma_transfer_function.cc.1.o', 'src/mono_picture_asset.cc.1.o', 'src/mono_picture_asset_writer.cc.1.o', 'src/mono_picture_frame.cc.1.o', 'src/mxf.cc.1.o', 'src/name_format.cc.1.o', 'src/object.cc.1.o', 'src/openjpeg_image.cc.1.o', 'src/picture_asset.cc.1.o', 'src/picture_asset_writer.cc.1.o', 'src/raw_convert.cc.1.o', 'src/reel.cc.1.o', 'src/reel_asset.cc.1.o', 'src/reel_atmos_asset.cc.1.o', 'src/reel_closed_caption_asset.cc.1.o', 'src/reel_mono_picture_asset.cc.1.o', 'src/reel_mxf.cc.1.o', 'src/reel_picture_asset.cc.1.o', 'src/reel_sound_asset.cc.1.o', 'src/reel_stereo_picture_asset.cc.1.o', 'src/reel_subtitle_asset.cc.1.o', 'src/ref.cc.1.o', 'src/rgb_xyz.cc.1.o', 'src/s_gamut3_transfer_function.cc.1.o', 'src/smpte_load_font_node.cc.1.o', 'src/smpte_subtitle_asset.cc.1.o', 'src/sound_asset.cc.1.o', 'src/sound_asset_writer.cc.1.o', 'src/sound_frame.cc.1.o', 'src/stereo_picture_asset.cc.1.o', 'src/stereo_picture_asset_writer.cc.1.o', 'src/stereo_picture_frame.cc.1.o', 'src/subtitle_asset.cc.1.o', 'src/subtitle_asset_internal.cc.1.o', 'src/subtitle_string.cc.1.o', 'src/transfer_function.cc.1.o', 'src/types.cc.1.o', 'src/util.cc.1.o', 'src/version.cc.1.o', '-o', '/home/oracle/dcpomatic_2.12.4/libdcp/build/src/libdcp-1.0.so', '-Wl,-Bstatic', '-Wl,-Bdynamic', '-L/usr/local/lib', '-L/usr/local/lib', '-L/usr/local/lib', '-L/usr/local/lib', '-L/usr/local/lib', '-lboost_filesystem', '-lboost_system', '-lboost_date_time', '-lboost_system', '-lssl', '-lcrypto', '-lxml++-2.6', '-lxml2', '-lglibmm-2.4', '-lgobject-2.0', '-lglib-2.0', '-lsigc-2.0', '-lopenjp2', '-lcxml', '-lxml++-2.6', '-lxml2', '-lglibmm-2.4', '-lgobject-2.0', '-lglib-2.0', '-lsigc-2.0', '-lxmlsec1-openssl', '-lxmlsec1', '-lssl', '-lcrypto', '-lxslt', '-lxml2', '-lasdcp-cth', '-lkumu-cth', '-lboost_system', '-lssl', '-lcrypto']
carl
Site Admin
Posts: 2550
Joined: Thu Nov 14, 2013 2:53 pm

Re: JPEG encoding result differs between buiding version and deb version (Dcpomatic 2.12.4)

Post by carl »

I forget why that happens now... the easy solution is probably to build OpenJPEG as a shared library (i.e. remove your BUILD_SHARED_LIBS=OFF)
Make sure you are using git HEAD of openjpeg as I don't think 2.3 release version is new enough.
dcpmaker
Posts: 32
Joined: Thu Apr 19, 2018 1:58 am

Re: JPEG encoding result differs between buiding version and deb version (Dcpomatic 2.12.4)

Post by dcpmaker »

Yes, by building OpenJPEG as a shared library, the building of libdcp passed! Thanks a lot!

By the way, openjpeg-cdist(git://git.carlh.net/git/openjpeg2-cdist.git) worked, but the HEAD of openjpeg did not.

Thanks again!
dcpmaker
Posts: 32
Joined: Thu Apr 19, 2018 1:58 am

Re: JPEG encoding result differs between buiding version and deb version (Dcpomatic 2.12.4)

Post by dcpmaker »

By the way, I'm wandering is there any way to simply identify whether j2c files are from the version of OpenJPEG which contains a patch which breaks playback on some cinema servers?