pfstools: updated to 2.2.0

pfstools 2.2.0 <12.08.2021>

This is mostly a bug-fix release with many fixes allowing to work with newer version of libraries. Several compilation issues have been resolved on Ubuntu 18.04, 20.04 and Cygwin. The HDR merging (pfshdrcalibrate) uses now better, noise-optimal weights, which should reduce noise for darker image parts.

	* Added: v210 format in pfsinyuv
	* Fixed: memleak in pfssize
	* Fixed: Fix format-security errors with Octave 5.1 (thanks to Orion Poplawski)
	* Added: pfs_automerge
	* Fixed: typos in the documentation (thanks to Andreas Metzler)
	* Added: simple deghosting in pfshdrcalibrate (-d option)
	* Fixed: pfsalign now uses free AKAZE feature detector, avoiding issues with missing non-free OpenCV classes
	* Fixed: Updated installation instruction for Ubuntu 18.04
	* Fixed: Fixed a number of compiler warnings from g++ 7.4.0
	* Fixed: Octave interface upgraded to Octave-6 (thanks to Michal)
	* Fixed: pfstmo_durand02 - reversed the old fix that made images over-saturated. Now 99.5th percentile is mapped to white.
	* Removed: pfsinjpeghdr, pfsoutjpeghdr (discontinued)
	* Fixed: compilation fails with GCC11/std=c++17, duplicate "clamp" definition (thanks to Stefan)
	* Added: pfshdrcalibrate now performs exposure merging in a noise-optimal manner
	* Added: pfsindcraw now calls libraw's dcraw_emu instead of dcraw if the former is available
This commit is contained in:
adam 2023-07-23 21:47:15 +00:00
parent d5de8dd235
commit 4ea01172ec
7 changed files with 84 additions and 57 deletions

View file

@ -1,19 +1,20 @@
# $NetBSD: Makefile,v 1.97 2023/07/18 18:19:23 nia Exp $
# $NetBSD: Makefile,v 1.98 2023/07/23 21:47:15 adam Exp $
DISTNAME= pfstools-2.1.0
PKGREVISION= 37
DISTNAME= pfstools-2.2.0
CATEGORIES= graphics
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=pfstools/}
EXTRACT_SUFX= .tgz
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://pfstools.sourceforge.net/
HOMEPAGE= https://pfstools.sourceforge.net/
COMMENT= Tools for manipulating HDR images and video frames
LICENSE= gnu-lgpl-v2.1
DEPENDS+= dcraw-[0-9]*:../../graphics/dcraw
USE_CMAKE= yes
MAKE_JOBS_SAFE= no # libpfs must be built first
USE_CXX_FEATURES+= c++14
USE_LANGUAGES= c c++
USE_LIBTOOL= yes
USE_TOOLS+= bash perl pkg-config
@ -22,8 +23,10 @@ CMAKE_ARGS+= -DBASH_EXECUTABLE=${TOOLS_BASH}
CMAKE_ARGS+= -DPKGMANDIR=${PKGMANDIR}
CMAKE_ARGS+= -DWITH_MATLAB=OFF
CMAKE_ARGS+= -DWITH_OpenCV=OFF
CXXFLAGS+= -std=c++14 # OpenEXR
USE_CXX_FEATURES+= c++14
#CXXFLAGS+= -std=c++14 # OpenEXR
REPLACE_BASH+= src/camera/pfs_automerge
REPLACE_PYTHON+= src/camera/pfs_split_exposures.py
SUBST_CLASSES+= paths
SUBST_STAGE.paths= pre-configure
@ -39,9 +42,15 @@ SUBST_SED.perl= -e 's,@PERL_PATH@,${PERL5},g'
.include "options.mk"
post-extract:
${RM} ${WRKSRC}/cmake/FindOpenEXR.cmake
.include "../../devel/cmake/build.mk"
.include "../../graphics/libexif/buildlink3.mk"
.include "../../graphics/netpbm/buildlink3.mk"
.include "../../graphics/openexr/buildlink3.mk"
.include "../../graphics/tiff/buildlink3.mk"
.include "../../lang/python/application.mk"
.include "../../math/fftw/buildlink3.mk"
.include "../../math/gsl/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

View file

@ -1,6 +1,8 @@
@comment $NetBSD: PLIST,v 1.6 2021/10/16 08:16:07 nia Exp $
@comment $NetBSD: PLIST,v 1.7 2023/07/23 21:47:15 adam Exp $
bin/dcraw2hdrgen
bin/jpeg2hdrgen
bin/pfs_automerge
bin/pfs_split_exposures.py
bin/pfsabsolute
bin/pfscat
bin/pfsclamp
@ -14,8 +16,8 @@ ${PLIST.gl}bin/pfsglview
bin/pfshdrcalibrate
bin/pfsin
bin/pfsindcraw
bin/pfsinexr
bin/pfsinhdrgen
${PLIST.im}bin/pfsinimgmagick
bin/pfsinme
bin/pfsinpfm
bin/pfsinppm
@ -25,8 +27,7 @@ bin/pfsinyuv
${PLIST.octave}bin/pfsoctavelum
${PLIST.octave}bin/pfsoctavergb
bin/pfsout
${PLIST.im}bin/pfsouthdrhtml
${PLIST.im}bin/pfsoutimgmagick
bin/pfsoutexr
bin/pfsoutpfm
bin/pfsoutppm
bin/pfsoutrgbe
@ -58,6 +59,7 @@ lib/libpfs.a
lib/pkgconfig/pfs.pc
man/man1/dcraw2hdrgen.1
man/man1/jpeg2hdrgen.1
man/man1/pfs_automerge.1
man/man1/pfsabsolute.1
man/man1/pfscat.1
man/man1/pfsclamp.1
@ -71,8 +73,8 @@ ${PLIST.gl}man/man1/pfsglview.1
man/man1/pfshdrcalibrate.1
man/man1/pfsin.1
man/man1/pfsindcraw.1
man/man1/pfsinexr.1
man/man1/pfsinhdrgen.1
${PLIST.im}man/man1/pfsinimgmagick.1
man/man1/pfsinme.1
man/man1/pfsinpfm.1
man/man1/pfsinppm.1
@ -82,8 +84,7 @@ man/man1/pfsinyuv.1
${PLIST.octave}man/man1/pfsoctavelum.1
${PLIST.octave}man/man1/pfsoctavergb.1
man/man1/pfsout.1
${PLIST.im}man/man1/pfsouthdrhtml.1
${PLIST.im}man/man1/pfsoutimgmagick.1
man/man1/pfsoutexr.1
man/man1/pfsoutpfm.1
man/man1/pfsoutppm.1
man/man1/pfsoutrgbe.1
@ -108,30 +109,6 @@ man/man1/pfstmo_pattanaik00.1
man/man1/pfstmo_reinhard02.1
man/man1/pfstmo_reinhard05.1
${PLIST.qt}man/man1/pfsview.1
${PLIST.im}share/pfstools/hdrhtml_c_b2.csv
${PLIST.im}share/pfstools/hdrhtml_c_b3.csv
${PLIST.im}share/pfstools/hdrhtml_c_b4.csv
${PLIST.im}share/pfstools/hdrhtml_c_b5.csv
${PLIST.im}share/pfstools/hdrhtml_default_templ/hdrhtml_image_templ.html
${PLIST.im}share/pfstools/hdrhtml_default_templ/hdrhtml_page_templ.html
${PLIST.im}share/pfstools/hdrhtml_hdrlabs_templ/hdrhtml_assets/hdr_viewer.css
${PLIST.im}share/pfstools/hdrhtml_hdrlabs_templ/hdrhtml_assets/hdr_viewer.js
${PLIST.im}share/pfstools/hdrhtml_hdrlabs_templ/hdrhtml_assets/information-red.png
${PLIST.im}share/pfstools/hdrhtml_hdrlabs_templ/hdrhtml_assets/information.png
${PLIST.im}share/pfstools/hdrhtml_hdrlabs_templ/hdrhtml_assets/loading-spinner.gif
${PLIST.im}share/pfstools/hdrhtml_hdrlabs_templ/hdrhtml_assets/mootools-1.2.4.js
${PLIST.im}share/pfstools/hdrhtml_hdrlabs_templ/hdrhtml_assets/mouse2touch.js
${PLIST.im}share/pfstools/hdrhtml_hdrlabs_templ/hdrhtml_assets/slider-black.png
${PLIST.im}share/pfstools/hdrhtml_hdrlabs_templ/hdrhtml_assets/slider-red.png
${PLIST.im}share/pfstools/hdrhtml_hdrlabs_templ/hdrhtml_assets/slider-white.png
${PLIST.im}share/pfstools/hdrhtml_hdrlabs_templ/hdrhtml_image_templ.html
${PLIST.im}share/pfstools/hdrhtml_hdrlabs_templ/hdrhtml_image_templ_slider-above.html
${PLIST.im}share/pfstools/hdrhtml_hdrlabs_templ/hdrhtml_page_templ.html
${PLIST.im}share/pfstools/hdrhtml_hdrlabs_templ/hdrhtml_page_templ_short.html
${PLIST.im}share/pfstools/hdrhtml_t_b2.csv
${PLIST.im}share/pfstools/hdrhtml_t_b3.csv
${PLIST.im}share/pfstools/hdrhtml_t_b4.csv
${PLIST.im}share/pfstools/hdrhtml_t_b5.csv
${PLIST.octave}${OCT_LOCALVERFCNFILEDIR}/pfstools/pfs_close_frames.m
${PLIST.octave}${OCT_LOCALVERFCNFILEDIR}/pfstools/pfs_open_frames.m
${PLIST.octave}${OCT_LOCALVERFCNFILEDIR}/pfstools/pfs_read_luminance.m

View file

@ -1,4 +1,4 @@
# $NetBSD: buildlink3.mk,v 1.4 2022/06/28 11:34:07 wiz Exp $
# $NetBSD: buildlink3.mk,v 1.5 2023/07/23 21:47:15 adam Exp $
BUILDLINK_TREE+= pfstools
@ -6,7 +6,7 @@ BUILDLINK_TREE+= pfstools
PFSTOOLS_BUILDLINK3_MK:=
BUILDLINK_API_DEPENDS.pfstools+= pfstools>=1.7.0
BUILDLINK_ABI_DEPENDS.pfstools?= pfstools>=2.1.0nb24
BUILDLINK_ABI_DEPENDS.pfstools+= pfstools>=2.1.0nb24
BUILDLINK_PKGSRCDIR.pfstools?= ../../graphics/pfstools
.endif # PFSTOOLS_BUILDLINK3_MK

View file

@ -1,7 +1,8 @@
$NetBSD: distinfo,v 1.7 2021/10/26 10:46:40 nia Exp $
$NetBSD: distinfo,v 1.8 2023/07/23 21:47:15 adam Exp $
BLAKE2s (pfstools-2.1.0.tgz) = 9ec0ae9c8d56cd2834327715d7ce0a2404a2d4801eee9e1cfe3e13e5ef83d9e9
SHA512 (pfstools-2.1.0.tgz) = 2117d638a807ec803fec0e8a2d1478f2771cc39fb349b582ab2727762379dc52c9b2a50c276d123c2c7456cdc7518ae60bdaa6d2e3ff179f9f43df63f2b57012
Size (pfstools-2.1.0.tgz) = 596136 bytes
SHA1 (patch-CMakeLists.txt) = 344903c4b26414f75c415a0c00dd520e2d3641dc
BLAKE2s (pfstools-2.2.0.tgz) = c0ca8e45dac6c61f8e29f0675885342272568c03d07d4c1dd22dfc1f60207c7a
SHA512 (pfstools-2.2.0.tgz) = 3a82fa44f6f67ba45203db9c5108df78176f1ad375042fe14e9108f4c9b5d46798e4a1544d842b50e4e326c1063808e095b46d35f374cb5ee5fb2fa1d93bcf8c
Size (pfstools-2.2.0.tgz) = 614772 bytes
SHA1 (patch-CMakeLists.txt) = 45546fad9761340d3c5011e862ceca5e7169d54e
SHA1 (patch-src_fileformat_CMakeLists.txt) = 5d26148d78ff4c2b4d32232fbe3ad3efe0da5b43
SHA1 (patch-src_octave_pfscrop) = 5291c0ffecb0cf04004c7460d0639618595a9b1a

View file

@ -1,20 +1,22 @@
# $NetBSD: options.mk,v 1.8 2019/12/15 21:32:52 adam Exp $
# $NetBSD: options.mk,v 1.9 2023/07/23 21:47:15 adam Exp $
PKG_OPTIONS_VAR= PKG_OPTIONS.pfstools
PKG_SUPPORTED_OPTIONS= imagemagick octave opengl qt
PKG_SUPPORTED_OPTIONS= octave opengl qt
PKG_SUGGESTED_OPTIONS.Darwin+= opengl
PLIST_VARS+= im octave gl qt
PLIST_VARS+= octave gl qt
.include "../../mk/bsd.options.mk"
.if !empty(PKG_OPTIONS:Mimagemagick)
.include "../../graphics/ImageMagick6/buildlink3.mk"
PLIST.im= yes
CMAKE_ARGS+= -DWITH_ImageMagick=ON
.else
# ImageMagick-6 detection does not work in Modules/FindImageMagick.cmake
# and ImageMagic-7 has incompatible API.
#.if !empty(PKG_OPTIONS:Mimagemagick)
#.include "../../graphics/ImageMagick6/buildlink3.mk"
#PLIST.im= yes
#CMAKE_ARGS+= -DWITH_ImageMagick=ON
#.else
CMAKE_ARGS+= -DWITH_ImageMagick=OFF
.endif
#.endif
.if !empty(PKG_OPTIONS:Moctave)
.include "../../math/octave/buildlink3.mk"

View file

@ -1,10 +1,11 @@
$NetBSD: patch-CMakeLists.txt,v 1.1 2015/08/25 20:16:31 adam Exp $
$NetBSD: patch-CMakeLists.txt,v 1.2 2023/07/23 21:47:15 adam Exp $
Make use of PKGMANDIR.
Fix for OpenEXR 3.
--- CMakeLists.txt.orig 2015-07-16 20:53:21.000000000 +0000
--- CMakeLists.txt.orig 2021-08-12 09:36:11.000000000 +0000
+++ CMakeLists.txt
@@ -29,7 +29,7 @@ set (pfstools_VERSION_MINOR 0.0)
@@ -35,7 +35,7 @@ set (pfstools_VERSION_MINOR ${CPACK_PACK
set (pfslib_version 1.2)
set(CMAKE_LEGACY_CYGWIN_WIN32 0)
@ -13,3 +14,14 @@ Make use of PKGMANDIR.
include( CheckCXXSourceCompiles )
@@ -106,8 +106,8 @@ OPTION(WITH_OpenEXR "Compile with OpenEX
if( WITH_OpenEXR )
-find_package (OpenEXR)
-if( NOT OPENEXR_FOUND )
+find_package (OpenEXR CONFIG REQUIRED)
+if( NOT OpenEXR_FOUND )
MESSAGE( STATUS "OpenEXR not found. The following command will not be
compiled: pfsinexr pfsoutexr. " )
endif( NOT OPENEXR_FOUND )

View file

@ -0,0 +1,26 @@
$NetBSD: patch-src_fileformat_CMakeLists.txt,v 1.1 2023/07/23 21:47:15 adam Exp $
Fix for OpenEXR 3.
--- src/fileformat/CMakeLists.txt.orig 2021-08-12 09:36:13.000000000 +0000
+++ src/fileformat/CMakeLists.txt
@@ -67,16 +67,15 @@ target_link_libraries(pfsoutpfm pfs)
install (TARGETS pfsoutpfm DESTINATION bin)
install (FILES pfsoutpfm.1 DESTINATION ${MAN_DIR})
-if( OPENEXR_FOUND )
- include_directories("${OPENEXR_INCLUDE_DIR}")
+if( OpenEXR_FOUND )
add_executable(pfsinexr pfsinexr.cpp "${GETOPT_OBJECT}")
- target_link_libraries(pfsinexr pfs ${OPENEXR_LIBRARIES})
+ target_link_libraries(pfsinexr pfs OpenEXR::OpenEXR)
install (TARGETS pfsinexr DESTINATION bin)
install (FILES pfsinexr.1 DESTINATION ${MAN_DIR})
add_executable(pfsoutexr pfsoutexr.cpp "${GETOPT_OBJECT}")
- target_link_libraries(pfsoutexr pfs ${OPENEXR_LIBRARIES})
+ target_link_libraries(pfsoutexr pfs OpenEXR::OpenEXR)
install (TARGETS pfsoutexr DESTINATION bin)
install (FILES pfsoutexr.1 DESTINATION ${MAN_DIR})
endif( OPENEXR_FOUND )