常量
枚举LibRaw_errors:错误代码
返回整数的所有函数必须返回errno或以下错误代码之一(另请参阅错误代码约定)。
致命错误(返回此类错误代码意味着必须终止文件处理,因为数据结构的状态未知)。
- LIBRAW_UNSUFFICIENT_MEMORY
-
尝试从系统获取内存失败。
将释放所有已分配的资源,将调用 recycle(),并且“创建后”将立即将LibRaw对象置于状态。 - LIBRAW_DATA_ERROR
-
数据解包期间出现了致命错误。
将释放所有已分配的资源,将调用 recycle(),并且“创建后”将立即将LibRaw对象置于状态。 - LIBRAW_IO_ERROR
-
文件读取过程中出现致命错误(遇到文件过早结束或文件损坏)。
将释放所有已分配的资源,将调用 recycle(),并且“创建后”将立即将LibRaw对象置于状态。 - LIBRAW_CANCELLED_BY_CALLBACK
-
由于调用应用程序需求而导致处理被取消(通过从
进程回调返回非零代码)。
将释放所有已分配的资源,将调用 recycle(),并且“创建后”将立即将LibRaw对象置于状态。 - LIBRAW_BAD_CROP
- 通过params.cropbox []设置不正确的裁剪坐标:裁剪矩形的左上角位于图像外部。处理将被取消,所有已分配的资源将被释放,将调用 recycle(),并且LibRaw对象将在“创建后立即”进入状态。
非致命错误
- LIBRAW_SUCCESS = 0
- 没有错误; 功能已成功终止。
- LIBRAW_UNSPECIFIED_ERROR
- 遇到未知错误。永远不应该生成此代码。
- LIBRAW_FILE_UNSUPPORTED
- 不支持的文件格式(尝试打开程序未知的RAW文件)。
- LIBRAW_REQUEST_FOR_NONEXISTENT_IMAGE
- 尝试检索数据文件中缺少数字的RAW图像(仅适用于支持在文件中存储多个图像的格式)。
- LIBRAW_OUT_OF_ORDER_CALL
- 已经以错误的顺序调用API函数(例如,在 open_file ()之前的 unpack())或者前一个阶段以错误结束(例如,在 open_file()返回错误之后调用 unpack())。
- LIBRAW_NO_THUMBNAIL
- 尝试从不包含预览的文件中检索缩略图时返回。
- LIBRAW_UNSUPPORTED_THUMBNAIL
- RAW文件包含不支持格式的预览。
enum LibRaw_decoder_flags - RAW数据格式描述
根据给定数据格式的功能,具有RAW数据的缓冲区可能具有不同的布局:
- LIBRAW_DECODER_HASCURVE
- 如果解码器使用RAW色调曲线并且在调用解码器之前可以修改曲线数据(即,在解码器内不读取或计算曲线值),则设置该标志。
- LIBRAW_DECODER_SONYARW2
- 如果文件格式为Sony ARW2.3,则设置此标志,因此sony_arw2_options适用。
- LIBRAW_DECODER_TRYRAWSPEED
- 如果RawSpeed库(可能)支持文件格式,则设置此标志,因此unpack()将尝试使用它。
- LIBRAW_DECODER_FIXEDMAXC
- 不要对此数据格式使用自动最大计算。
- LIBRAW_DECODER_OWNALLOC
- 解码器分配数据,不需要将分配的内存传递给解码器。
枚举LibRaw_progress:LibRaw对象的当前状态
LibRaw :: imgdata.progress_flags包含一个位掩码,用于描述已执行的所有文件处理阶段。
文件打开和RAW数据提取阶段。
- LIBRAW_PROGRESS_START = 0
- 刚刚创建的对象,没有执行任何处理。
- LIBRAW_PROGRESS_OPEN
- 要处理的文件已打开。
- LIBRAW_PROGRESS_IDENTIFY
- 执行数据识别,识别格式,提取元数据。
- LIBRAW_PROGRESS_SIZE_ADJUST
- 调整了数据大小(对于需要进行此类调整的文件,即来自柯达相机的某些文件)。
- LIBRAW_PROGRESS_LOAD_RAW
- 已加载RAW数据。
在使用从dcraw中获取的图像处理期间设置以下标志。
- LIBRAW_PROGRESS_RAW2_IMAGE
- imgdata.image数组已分配并填充数据。
- LIBRAW_PROGRESS_REMOVE_ZEROES
- 删除需要移除的相机的零值(Panasonic相机)。
- LIBRAW_PROGRESS_BAD_PIXELS
- 删除了坏(死)像素。
- LIBRAW_PROGRESS_DARK_FRAME
- 从RAW数据中减去暗帧。
- LIBRAW_PROGRESS_FOVEON_INTERPOLATE
- 执行带有Foveon传感器的摄像机的插值。
- LIBRAW_PROGRESS_SCALE_COLORS
- 进行白平衡。
- LIBRAW_PROGRESS_PRE_INTERPOLATE
- 执行图像尺寸缩小(对于half_size模式),以及在存在第二通道且第一通道不存在的点处将第二绿色通道复制到第一通道。
- LIBRAW_PROGRESS_INTERPOLATE
- 插值(debayer)执行。
- LIBRAW_PROGRESS_MIX_GREEN
- 执行绿色通道的平均值。
- LIBRAW_PROGRESS_MEDIAN_FILTER
- 进行中位数过滤。
- LIBRAW_PROGRESS_HIGHLIGHTS
- 处理突出显示。
- LIBRAW_PROGRESS_FUJI_ROTATE
- 对于来自富士相机的图像,执行旋转(或调整adjust_sizes_info_only())。
- LIBRAW_PROGRESS_FLIP
- 使用旋转相机拍摄的图像重新计算尺寸(sizes.iwidth / sizes.iheight交换)。
- LIBRAW_PROGRESS_CONVERT_RGB
- 转换为输出RGB空间执行。
- LIBRAW_PROGRESS_STRETCH
- 对于具有非方形像素的相机,图像尺寸已更改。
- LIBRAW_PROGRESS_STAGE17 - LIBRAW_PROGRESS_STAGE27
- 保留可能出现的其他处理阶段。
在加载缩略图期间设置以下标志。
LIBRAW_PROGRESS_THUMB_LOAD已加载缩略图数据(对于柯达相机,还进行了必要的转换)。LIBRAW_PROGRESS_TRESERVED1 - LIBRAW_PROGRESS_TRESERVED3保留用于将来可能的处理阶段。
enum LibRaw_whitebalance_code - 标准光源的名称
LIBRAW_WBI_lightsource_name,其中名称和值是标准EXIF光源。
enum LibRaw_camera_mounts - 摄像机支架的代码
常量名称(例如LIBRAW_MOUNT_Leica_SL)不言而喻
枚举LibRaw_runtime_capabilities - 在构建时设置的libraw功能
- LIBRAW_CAPS_RAWSPEED - 使用RawSpeed编译
- LIBRAW_CAPS_DNGSDK - 使用Adobe DNG SDK编译
- LIBRAW_CAPS_DEMOSAICSGPL2 - 使用Demosaic Pack GPL2编译
- LIBRAW_CAPS_DEMOSAICSGPL3 - 使用Demosaic Pack GPL3编译
枚举LibRaw_thumbnail_formats:缩略图数据格式
缩略图数据格式写在imgdata.thumbnail.tformat数据字段中。
目前LibRaw知道四种缩略图格式,其中两种是解压缩的:
- LIBRAW_THUMBNAIL_UNKNOWN
- 格式未知或尚未阅读的缩略图。
- LIBRAW_THUMBNAIL_JPEG
- 缩略图缓冲区包含一个JPEG文件(按“原样”从RAW文件中读取,不对其执行任何操作)。
- LIBRAW_THUMBNAIL_BITMAP
-
缩略图缓冲区包含经过伽马调整的RGB位图(对于柯达相机,执行伽马校正时允许最大值,并根据相机设置设置白平衡)。
在这种格式中,图像的每个像素由8位RGB三元组表示。 - LIBRAW_THUMBNAIL_LAYER
- 数据格式目前在打开RAW文件时被识别但不受支持:未解压缩到LibRaw :: unpack_thumb。
- LIBRAW_THUMBNAIL_ROLLEI
- 数据格式目前在打开RAW文件时被识别但不受支持:未解压缩到LibRaw :: unpack_thumb。
RAW数据处理期间的非标准情况(警告)
图像处理过程中出现的一些可疑情况并不是致命的,但可能会影响数据检索或后处理的结果。通过在imgdata.process_warnings字段中设置一个位来指示这些状态。
- LIBRAW_WARN_FOVEON_NOMATRIX
- 仅适用于具有Foveon的相机:提取其中一个数据矩阵失败。
- LIBRAW_WARN_FOVEON_INVALIDWB
- 仅适用于使用Foveon的相机:白平衡数据的提取失败。
- LIBRAW_WARN_BAD_CAMERA_WB
- 后处理必须使用相机的白平衡,但此平衡不适合使用。
- LIBRAW_WARN_NO_METADATA
- 仅适用于从外部JPEG文件中获取元数据的摄像机:元数据提取失败。
- LIBRAW_WARN_NO_JPEGLIB
- 仅适用于P&S柯达相机:JPEG格式的数据。同时,open_file()将返回LIBRAW_FILE_UNSUPPORTED。
- LIBRAW_WARN_NO_EMBEDDED_PROFILE
- (仅当编译LCMS支持时)。调用者设置嵌入式输入配置文件使用,但RAW中不存在此类配置文件。
- LIBRAW_WARN_NO_INPUT_PROFILE
- (仅当编译LCMS支持时)。打开输入配置文件ICC文件时出错。
- LIBRAW_WARN_BAD_OUTPUT_PROFILE
- (仅当编译LCMS支持时)。打开输出配置文件ICC文件时出错。
- LIBRAW_WARN_NO_BADPIXELMAP
- 打开坏像素映射文件时出错。
- LIBRAW_WARN_BAD_DARKFRAME_FILE
- 打开暗帧文件时出错。
- LIBRAW_WARN_BAD_DARKFRAME_DIM
- 暗帧文件的尺寸与处理的RAW文件不同,或格式错误。暗帧应采用16位PGM格式(可以使用simple_dcraw -4 -D生成)。
- LIBRAW_WARN_RAWSPEED_PROBLEM
- 在RawSpeed解压缩器中检测到问题。LibRaw自己的解码器处理的图像数据。
- LIBRAW_WARN_RAWSPEED_UNSUPPORTED
- RawSpeed不支持此文件(尽管存在兼容的解码器)。
- LIBRAW_WARN_RAWSPEED_PROCESSED
- 不是警告,而是信息。该文件由RawSpeed解码。
- LIBRAW_WARN_FALLBACK_TO_AHD
- 设置了不正确/不支持的user_qual,而是使用AHD demosaic。
enum LibRaw_image_formats - 可能的数据类型,包含在libraw_processed_image_t结构中
libraw_processed_image_t结构的type字段可能具有以下值之一:
- LIBRAW_IMAGE_BITMAP
- 该结构包含RGB位图,libraw_processed_image_t的其他字段中描述的元数据。
- LIBRAW_IMAGE_JPEG
- libraw_processed_image_t结构包含JPEG图像(在内存中)。只有data_size字段才有意义。