File indexing completed on 2025-01-19 03:50:59
0001 /* ============================================================ 0002 * 0003 * This file is a part of digiKam project 0004 * https://www.digikam.org 0005 * 0006 * Date : 2019-09-26 0007 * Description : A HEIF IO file for DImg framework 0008 * 0009 * SPDX-FileCopyrightText: 2019-2024 by Gilles Caulier <caulier dot gilles at gmail dot com> 0010 * 0011 * SPDX-License-Identifier: GPL-2.0-or-later 0012 * 0013 * ============================================================ */ 0014 0015 #include "dimgheifloader.h" 0016 0017 // Local includes 0018 0019 #include "digikam_config.h" 0020 #include "digikam_debug.h" 0021 #include "dimgloaderobserver.h" 0022 0023 namespace Digikam 0024 { 0025 0026 DImgHEIFLoader::DImgHEIFLoader(DImg* const image) 0027 : DImgLoader(image) 0028 { 0029 m_hasAlpha = false; 0030 m_sixteenBit = false; 0031 m_observer = nullptr; 0032 } 0033 0034 DImgHEIFLoader::~DImgHEIFLoader() 0035 { 0036 } 0037 0038 bool DImgHEIFLoader::hasAlpha() const 0039 { 0040 return m_hasAlpha; 0041 } 0042 0043 bool DImgHEIFLoader::sixteenBit() const 0044 { 0045 return m_sixteenBit; 0046 } 0047 0048 bool DImgHEIFLoader::isReadOnly() const 0049 { 0050 0051 #ifdef HAVE_X265 0052 0053 return false; 0054 0055 #else 0056 0057 return true; 0058 0059 #endif 0060 0061 } 0062 0063 bool DImgHEIFLoader::isHeifSuccess(struct heif_error* const error) 0064 { 0065 if (error->code == 0) 0066 { 0067 return true; 0068 } 0069 0070 qCWarning(DIGIKAM_DIMG_LOG_HEIF) << "Error while processing HEIF image:" << error->message; 0071 0072 return false; 0073 } 0074 0075 } // namespace Digikam