libraw: update to 0.21.1.

LibRaw 0.21.1-Release
 * fixed typo in panasonic metadata parser

 LibRaw 0.21-Release

 * Multiple fixes inspired by oss-fuzz project

 LibRaw 0.21-Beta1

 == Camera format support ==
 * Phase One/Leaf IIQ-S v2 support
 * Canon CR3 filmrolls
 * Canon CRM (movie) files
 * Tiled bit-packed (and 16-bit unpacked) DNGs
 * (non-standard) Deflate-compressed integer DNG files are allowed

== Camera support ==

 * Canon EOS R3, R7 and R10
 * Fujifilm X-H2S, X-T30 II
 * OM System OM-1
 * Leica M11
 * Sony A7-IV (ILCE-7M4)
 * DJI Mavic 3
 * Nikon Z9: standard compression formats only

 == Multiple (resolution) thumbnails support ==

 * New imgdata.thumbs_list data item with data fields:

   int thumbcount: thumbnail count
   libraw_thumbnail_item_t thumblist[LIBRAW_THUMBNAIL_MAXCOUNT]: list  of thumbnails

   libraw_thumbnail_item_t fields:

     enum LibRaw_internal_thumbnail_formats tformat: internal thumbnail format
        (this is not PPM/JPEG, but internal type related to thumbnail reading/unpacking method)

     ushort twidth, theight: thumbnail image size.

     ushort tflip: image rotation (see notes below)

     unsigned tlength: on-disk data size (not uncompressed for compressed formats)

     unsigned tmisc: bit depth and channel count:  (color << 5) | bitsperpixel

     INT64 toffset: Thumbnail data offset in file

  Notes:
    -  Only TIFF-based and CR3 files are parsed for thumbnail list, other formats will have
       thumbcount = 1 (or 0 if no thumbnail found in file).

    -  Thumbnail image size may be unknown (not recorded in metadata), in this case twidth and theight are zero.
       Usually small(er) thumbnails will always have twidth/theight filled, while largest one may have these fields set to zero.

    -  Thumbnail rotation (tflip) is filled only for TIFF-based RAWs (if Orientation tag is not present in IFD, default zero value is used)
       For non-tiff images, tflip is initialized to 0xffff (not known...)

    - There is no code to select thumbnail based on some criteria (e.g. minimal resolution), it is left to user to implement such a criteria, if needed
      (see unpack_thumb_ex() call below)

    - If you want to get largest possible thumbnail: just use old unpack_thumb() call to get it.

  * new API call:  LibRaw::unpack_thumb_ex(int i):
    Unpacks i-th thumbnail if it exists into imgdata.thumbnail structure
    i should be non-zero and less then imgdata.thumbs_list.thumbcount.

  * samples/simple_dcraw.cpp: new -E command line switch to extract all thumbnails from input file(s)

 == (Experimental) RawSpeed "version 3" (develop branch) support. ==

   Build with -DUSE_RAWSPEED3, see details in RawSpeed3/README.md

   LibRaw::capabilities will set bit LIBRAW_CAPS_RAWSPEED3 if compiled w/
   RawSpeed-v3 support

   If file was processed (or tried to process) via RawSpeed-v3, these bits
   are raised in imgdata.process_warnings:
    LIBRAW_WARN_RAWSPEED3_PROCESSED - processed via RawSpeed v3
    LIBRAW_WARN_RAWSPEED3_PROBLEM - not processed (due to exception in RawSpeed library)
    LIBRAW_WARN_RAWSPEED3_UNSUPPORTED - unsupported file
    LIBRAW_WARN_RAWSPEED3_NOTLISTED - file not listed in cameras.xml data

  RawSpeed-v3 support is controlled via libraw_decoder_info.t->flags
  (LIBRAW_DECODER_TRYRAWSPEED3 bit).
  The bit is set for:
    - lossless jpeg decoder
    - Canon sRAW decoder
    - lossless compressed and packed-compressed DNG decoders
    - Pentax decoder
    - Nikon (compressed) decoder
    - Phase One Compressed and Hasselblad/Compressed decoders
    - bitpacked decoder
    - Panasonic (old 12-bit compression) decoder
    - Olympus decoder
    - Sony ARW (v1 and v2) decoders
    - Samsung (version 1) decoder

 * (Experimental) Fine control of RawSpeed version selection/use.
   To enable, build LibRaw with -DUSE_RAWSPEED_BITS
   LibRaw::capabilities will set bit LIBRAW_CAPS_RAWSPEED_BITS if compiled
   with this flag.
   If enabled:
     imgdata.rawparams.use_rawspeed becomes bit-field (instead of 0/1 off/on)
     with bits:
        LIBRAW_RAWSPEEDV1_USE - use RawSpeed Version 1 (if compiled  with)
        LIBRAW_RAWSPEEDV1_FAILONUNKNOWN - do not process unknown files
             (not listed in RawSpeed v1 camera definitions file)
        LIBRAW_RAWSPEEDV1_IGNOREERRORS - ignore mirror decoding errors (out of range data,etc)

        LIBRAW_RAWSPEEDV3_USE - Use RawSpeed Version 3 (if compiled with)
        LIBRAW_RAWSPEEDV3_FAILONUNKNOWN - do not process unknown files
        LIBRAW_RAWSPEEDV3_IGNOREERRORS - ignore minor decoding errors

 == Misc changes/improvements ==
 * New compile time define LIBRAW_OWN_SWAB
   to use on platforms without swab() in C/C++ runtime

 * New imgdata.rawparams.options bit: LIBRAW_RAWOPTIONS_CANON_IGNORE_MAKERNOTES_ROTATION
   If set: image orientation is set based on TIFF/IFD0:Orientation tag,
   makernotes orientation data is ignored

 * Nikon makernotes: read NEFCompression tag for HE/HE* files

 * Nikon orientation tag: more fixed offsets for known cameras

 * Adobe DNG SDK 1.6 support (meaning, just an additional patch for GPR SDK)

 * removed LibRaw::memerr(),  memory allocation failures are already handled
   in LibRaw_memmgr::*alloc w/ exception thrown

 * removed memory error callback, out-of-memory error should be handled via
   returned error code check, all related parameters (e.g. LibRaw constructor
   option to not set such callback) is also removed

 * imgdata.params.adjust_maximum_thr is settable via C-API libraw_set_adjust_maximum_thr(..)

 * New rawoptions/processing flags for DNG processing if compiled
   with Adobe DNG SDK:
   LIBRAW_RAWOPTIONS_DNG_STAGE2_IFPRESENT,LIBRAW_RAWOPTIONS_DNG_STAGE3_IFPRESENT
   If these flag(s) are set: Stage2/Stage3 processing will be performed
   only if OpcodeList2/OpcodeList3 tags are present in the input DNG file
   Old (hard) flags (LIBRAW_RAWOPTIONS_DNG_STAGE2 and
   LIBRAW_RAWOPTIONS_DNG_STAGE3) are not removed and will force Stage2/3
   processing if set (regardless of input file tags)

 * New imgdata.rawparams.options bit: LIBRAW_RAWOPTIONS_DNG_ADD_MASKS
   If set: DNG Transparency Masks will be extracted (if selected via shot_select)

 * New decoder flag: LIBRAW_DECODER_UNSUPPORTED_FORMAT

 == Bugs fixed ==

 * Fixed possible out-of-buffer read in Nikon orientation tag parser

 * Windows datastream: fixed logic errors (not showing up in real life)

 * Out-of-range read-only array access in postprocessing if output_color is set to 0 (raw color)

 * Minolta Z2 was not recognized correctly on 32-bit systems

 * Fixed possible buffer overflow in Kodak C330 decoder

 * dcraw_process(): check for buffer allocation results to avoid NULL deref
This commit is contained in:
wiz 2023-03-16 08:38:51 +00:00
parent 05cc18b212
commit 31bff0a48f
3 changed files with 11 additions and 10 deletions

View file

@ -1,6 +1,6 @@
# $NetBSD: Makefile,v 1.36 2021/09/28 09:59:24 nia Exp $
# $NetBSD: Makefile,v 1.37 2023/03/16 08:38:51 wiz Exp $
DISTNAME= LibRaw-0.20.2
DISTNAME= LibRaw-0.21.1
PKGNAME= ${DISTNAME:tl}
CATEGORIES= graphics
MASTER_SITES= https://www.libraw.org/data/

View file

@ -1,6 +1,6 @@
$NetBSD: distinfo,v 1.30 2021/10/26 10:46:29 nia Exp $
$NetBSD: distinfo,v 1.31 2023/03/16 08:38:51 wiz Exp $
BLAKE2s (LibRaw-0.20.2.tar.gz) = 5b356a3884353856b5538c3a2d25c1b7a8246fec42c127f62ce9bdc655ee211e
SHA512 (LibRaw-0.20.2.tar.gz) = 96b1aaf09e2d46448d1b3619270c1f1c32e9bcbd866567cec67d5b1f889362f0fae3f3533ea9bf6a11a917be3b61ee6c9938bad09209d93453039ed04eaeae4a
Size (LibRaw-0.20.2.tar.gz) = 1432141 bytes
SHA1 (patch-libraw__r.pc.in) = 6ad890804132306c878657a31998f70d92f8b185
BLAKE2s (LibRaw-0.21.1.tar.gz) = 9e4dfc9448feefb01586945332be7597db346c4c5838850ae12e3e7c54174adc
SHA512 (LibRaw-0.21.1.tar.gz) = 8d11df0be2af5fd8a8251f150ccd59103319606f52effff541ee43e97ceb64f1a00a02bba7b730aedd0c1c705c1e465793c8a2a52769712c1102af7f5534dd5d
Size (LibRaw-0.21.1.tar.gz) = 1638461 bytes
SHA1 (patch-libraw__r.pc.in) = 6e5057a9cbdfba5782a7f6fd7c9f49333b4fb920

View file

@ -1,13 +1,14 @@
$NetBSD: patch-libraw__r.pc.in,v 1.3 2021/09/28 09:59:24 nia Exp $
$NetBSD: patch-libraw__r.pc.in,v 1.4 2023/03/16 08:38:51 wiz Exp $
Avoid libstdc++.
--- libraw_r.pc.in.orig 2020-10-15 05:06:07.000000000 +0000
--- libraw_r.pc.in.orig 2023-01-05 06:49:26.000000000 +0000
+++ libraw_r.pc.in
@@ -7,5 +7,5 @@ Name: libraw
@@ -7,6 +7,6 @@ Name: libraw
Description: Raw image decoder library (thread-safe)
Requires: @PACKAGE_REQUIRES@
Version: @PACKAGE_VERSION@
-Libs: -L${libdir} -lraw_r -lstdc++@PC_OPENMP@
+Libs: -L${libdir} -lraw_r @PC_OPENMP@
Libs.private: @PACKAGE_LIBS_PRIVATE@
Cflags: -I${includedir}/libraw -I${includedir}