Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Plugin to read RAW camera images based on LibRAW. - Supersedes MR !86 - Support to LibRaw 0.20 and 0.21-Beta - Support to multi-shot images: use imageCount(), jumpToImage() to select the wanted shot - By default generates 16-bits sRGB images using camera white balance and interpolation AHD - Should fix CCBUG: 454208: on my Debian with KF5.96 and the pulgin installed, I see the preview of all my RAW files (ARW included) in Dolphin News compared to V1 (MR !86) - Fix possible stack overflow due to the huge size of LibRaw class - Fix image allocation with Qt 6 (make use of QImageIOHandler::allocateImage()) - Support to XMP metapacket - Support to quality option. For e.g. you can focus on quality (q = 10) or speed (q = 1) - oss-fuzz available [here](https://github.com/mircomir/oss-fuzz/tree/raw_fuzz/projects/kimageformats)
- Loading branch information
Showing
13 changed files
with
2,053 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
autotests/read/raw/RAW_KODAK_C330_FORMAT_NONE_YRGB.raw binary |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
# - Find LibRaw | ||
# Find the LibRaw library <https://www.libraw.org> | ||
# This module defines | ||
# LibRaw_VERSION, the version string of LibRaw | ||
# LibRaw_INCLUDE_DIR, where to find libraw.h | ||
# LibRaw_LIBRARIES, the libraries needed to use LibRaw (non-thread-safe) | ||
# LibRaw_r_LIBRARIES, the libraries needed to use LibRaw (thread-safe) | ||
# LibRaw_DEFINITIONS, the definitions needed to use LibRaw (non-thread-safe) | ||
# LibRaw_r_DEFINITIONS, the definitions needed to use LibRaw (thread-safe) | ||
# | ||
# SPDX-FileCopyrightText: 2013 Pino Toscano <pino at kde dot org> | ||
# SPDX-FileCopyrightText: 2013 Gilles Caulier <caulier dot gilles at gmail dot com> | ||
# | ||
# SPDX-License-Identifier: BSD-3-Clause | ||
|
||
FIND_PACKAGE(PkgConfig) | ||
|
||
IF(PKG_CONFIG_FOUND) | ||
PKG_CHECK_MODULES(PC_LIBRAW libraw) | ||
SET(LibRaw_DEFINITIONS ${PC_LIBRAW_CFLAGS_OTHER}) | ||
|
||
PKG_CHECK_MODULES(PC_LIBRAW_R libraw_r) | ||
SET(LibRaw_r_DEFINITIONS ${PC_LIBRAW_R_CFLAGS_OTHER}) | ||
ENDIF() | ||
|
||
FIND_PATH(LibRaw_INCLUDE_DIR libraw.h | ||
HINTS | ||
${PC_LIBRAW_INCLUDEDIR} | ||
${PC_LibRaw_INCLUDE_DIRS} | ||
PATH_SUFFIXES libraw | ||
) | ||
|
||
FIND_LIBRARY(LibRaw_LIBRARIES NAMES raw | ||
HINTS | ||
${PC_LIBRAW_LIBDIR} | ||
${PC_LIBRAW_LIBRARY_DIRS} | ||
) | ||
|
||
FIND_LIBRARY(LibRaw_r_LIBRARIES NAMES raw_r | ||
HINTS | ||
${PC_LIBRAW_R_LIBDIR} | ||
${PC_LIBRAW_R_LIBRARY_DIRS} | ||
) | ||
|
||
IF(LibRaw_INCLUDE_DIR) | ||
FILE(READ ${LibRaw_INCLUDE_DIR}/libraw_version.h _libraw_version_content) | ||
|
||
STRING(REGEX MATCH "#define LIBRAW_MAJOR_VERSION[ \t]*([0-9]*)\n" _version_major_match ${_libraw_version_content}) | ||
SET(_libraw_version_major "${CMAKE_MATCH_1}") | ||
|
||
STRING(REGEX MATCH "#define LIBRAW_MINOR_VERSION[ \t]*([0-9]*)\n" _version_minor_match ${_libraw_version_content}) | ||
SET(_libraw_version_minor "${CMAKE_MATCH_1}") | ||
|
||
STRING(REGEX MATCH "#define LIBRAW_PATCH_VERSION[ \t]*([0-9]*)\n" _version_patch_match ${_libraw_version_content}) | ||
SET(_libraw_version_patch "${CMAKE_MATCH_1}") | ||
|
||
IF(_version_major_match AND _version_minor_match AND _version_patch_match) | ||
SET(LibRaw_VERSION "${_libraw_version_major}.${_libraw_version_minor}.${_libraw_version_patch}") | ||
ELSE() | ||
IF(NOT LibRaw_FIND_QUIETLY) | ||
MESSAGE(STATUS "Failed to get version information from ${LibRaw_INCLUDE_DIR}/libraw_version.h") | ||
ENDIF() | ||
ENDIF() | ||
ENDIF() | ||
|
||
INCLUDE(FindPackageHandleStandardArgs) | ||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibRaw | ||
REQUIRED_VARS LibRaw_LIBRARIES LibRaw_INCLUDE_DIR | ||
VERSION_VAR LibRaw_VERSION | ||
) | ||
|
||
MARK_AS_ADVANCED(LibRaw_VERSION | ||
LibRaw_INCLUDE_DIR | ||
LibRaw_LIBRARIES | ||
LibRaw_r_LIBRARIES | ||
LibRaw_DEFINITIONS | ||
LibRaw_r_DEFINITIONS | ||
) | ||
|
||
if(LibRaw_FOUND AND NOT TARGET LibRaw::LibRaw) | ||
add_library(LibRaw::LibRaw UNKNOWN IMPORTED) | ||
set_target_properties(LibRaw::LibRaw PROPERTIES | ||
IMPORTED_LOCATION "${LibRaw_LIBRARIES}" | ||
INTERFACE_COMPILE_OPTIONS "${LibRaw_DEFINITIONS}" | ||
INTERFACE_INCLUDE_DIRECTORIES "${LibRaw_INCLUDE_DIR}" | ||
) | ||
endif() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.