Blender
V4.3
source
blender
blenkernel
BKE_image_format.hh
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2001-2002 NaN Holding BV. All rights reserved.
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
5
#pragma once
6
11
struct
BlendDataReader
;
12
struct
BlendWriter
;
13
struct
ImbFormatOptions
;
14
struct
ImageFormatData
;
15
struct
ImBuf
;
16
struct
Scene
;
17
18
/* Init/Copy/Free */
19
20
void
BKE_image_format_init
(
ImageFormatData
*imf,
const
bool
render);
21
void
BKE_image_format_copy
(
ImageFormatData
*imf_dst,
const
ImageFormatData
*imf_src);
22
void
BKE_image_format_free
(
ImageFormatData
*imf);
23
24
/* Updates the color space of the given image format based on its image type. This can be used to
25
* set a good default color space when the user changes the image type. See the implementation for
26
* more information on the logic. */
27
void
BKE_image_format_update_color_space_for_type
(
ImageFormatData
*
format
);
28
29
void
BKE_image_format_blend_read_data
(
BlendDataReader
*reader,
ImageFormatData
*imf);
30
void
BKE_image_format_blend_write
(
BlendWriter
*writer,
ImageFormatData
*imf);
31
32
/* File Paths */
33
34
void
BKE_image_path_from_imformat
(
char
*filepath,
35
const
char
*base,
36
const
char
*relbase,
37
int
frame,
38
const
ImageFormatData
*im_format,
39
bool
use_ext,
40
bool
use_frames,
41
const
char
*suffix);
42
void
BKE_image_path_from_imtype
(
char
*filepath,
43
const
char
*base,
44
const
char
*relbase,
45
int
frame,
46
char
imtype,
47
bool
use_ext,
48
bool
use_frames,
49
const
char
*suffix);
50
55
#define BKE_IMAGE_PATH_EXT_MAX 3
63
int
BKE_image_path_ext_from_imformat
(
const
ImageFormatData
*im_format,
64
const
char
*r_ext[
BKE_IMAGE_PATH_EXT_MAX
]);
65
int
BKE_image_path_ext_from_imtype
(
const
char
imtype,
const
char
*r_ext[
BKE_IMAGE_PATH_EXT_MAX
]);
66
67
int
BKE_image_path_ext_from_imformat_ensure
(
char
*filepath,
68
size_t
filepath_maxncpy,
69
const
ImageFormatData
*im_format);
70
int
BKE_image_path_ext_from_imtype_ensure
(
char
*filepath,
size_t
filepath_maxncpy,
char
imtype);
71
72
/* File Types */
73
74
#define IMA_CHAN_FLAG_BW 1
75
#define IMA_CHAN_FLAG_RGB 2
76
#define IMA_CHAN_FLAG_RGBA 4
77
78
char
BKE_ftype_to_imtype
(
int
ftype,
const
ImbFormatOptions
*
options
);
79
int
BKE_imtype_to_ftype
(
char
imtype,
ImbFormatOptions
*r_options);
80
81
bool
BKE_imtype_is_movie
(
char
imtype);
82
bool
BKE_imtype_supports_compress
(
char
imtype);
83
bool
BKE_imtype_supports_quality
(
char
imtype);
84
bool
BKE_imtype_requires_linear_float
(
char
imtype);
85
char
BKE_imtype_valid_channels
(
char
imtype,
bool
write_file);
86
char
BKE_imtype_valid_depths
(
char
imtype);
87
92
char
BKE_imtype_from_arg
(
const
char
*imtype_arg);
93
94
/* Conversion between #ImBuf settings. */
95
96
void
BKE_image_format_from_imbuf
(
ImageFormatData
*im_format,
const
ImBuf
*imbuf);
97
void
BKE_image_format_to_imbuf
(
ImBuf
*ibuf,
const
ImageFormatData
*imf);
98
99
bool
BKE_image_format_is_byte
(
const
ImageFormatData
*imf);
100
101
/* Color Management */
102
103
void
BKE_image_format_color_management_copy
(
ImageFormatData
*imf,
const
ImageFormatData
*imf_src);
104
void
BKE_image_format_color_management_copy_from_scene
(
ImageFormatData
*imf,
const
Scene
*scene);
105
106
/* Image Output
107
*
108
* Initialize an image format that can be used for file writing, including
109
* color management settings from the scene. */
110
111
void
BKE_image_format_init_for_write
(
ImageFormatData
*imf,
112
const
Scene
*scene_src,
113
const
ImageFormatData
*imf_src);
BKE_image_format_free
void BKE_image_format_free(ImageFormatData *imf)
Definition
image_format.cc:52
BKE_image_format_init
void BKE_image_format_init(ImageFormatData *imf, const bool render)
Definition
image_format.cc:26
BKE_imtype_valid_channels
char BKE_imtype_valid_channels(char imtype, bool write_file)
Definition
image_format.cc:253
BKE_image_format_init_for_write
void BKE_image_format_init_for_write(ImageFormatData *imf, const Scene *scene_src, const ImageFormatData *imf_src)
Definition
image_format.cc:903
BKE_image_format_color_management_copy
void BKE_image_format_color_management_copy(ImageFormatData *imf, const ImageFormatData *imf_src)
Definition
image_format.cc:881
BKE_image_format_from_imbuf
void BKE_image_format_from_imbuf(ImageFormatData *im_format, const ImBuf *imbuf)
Definition
image_format.cc:746
BKE_image_path_ext_from_imformat
int BKE_image_path_ext_from_imformat(const ImageFormatData *im_format, const char *r_ext[BKE_IMAGE_PATH_EXT_MAX])
Definition
image_format.cc:485
BKE_image_path_from_imtype
void BKE_image_path_from_imtype(char *filepath, const char *base, const char *relbase, int frame, char imtype, bool use_ext, bool use_frames, const char *suffix)
Definition
image_format.cc:572
BKE_image_format_blend_write
void BKE_image_format_blend_write(BlendWriter *writer, ImageFormatData *imf)
Definition
image_format.cc:83
BKE_image_format_blend_read_data
void BKE_image_format_blend_read_data(BlendDataReader *reader, ImageFormatData *imf)
Definition
image_format.cc:78
BKE_image_path_ext_from_imformat_ensure
int BKE_image_path_ext_from_imformat_ensure(char *filepath, size_t filepath_maxncpy, const ImageFormatData *im_format)
Definition
image_format.cc:516
BKE_imtype_from_arg
char BKE_imtype_from_arg(const char *imtype_arg)
Definition
image_format.cc:322
BKE_ftype_to_imtype
char BKE_ftype_to_imtype(int ftype, const ImbFormatOptions *options)
Definition
image_format.cc:149
BKE_image_format_update_color_space_for_type
void BKE_image_format_update_color_space_for_type(ImageFormatData *format)
Definition
image_format.cc:57
BKE_IMAGE_PATH_EXT_MAX
#define BKE_IMAGE_PATH_EXT_MAX
Definition
BKE_image_format.hh:55
BKE_image_path_ext_from_imtype
int BKE_image_path_ext_from_imtype(const char imtype, const char *r_ext[BKE_IMAGE_PATH_EXT_MAX])
Definition
image_format.cc:491
BKE_image_path_ext_from_imtype_ensure
int BKE_image_path_ext_from_imtype_ensure(char *filepath, size_t filepath_maxncpy, char imtype)
Definition
image_format.cc:523
BKE_imtype_supports_compress
bool BKE_imtype_supports_compress(char imtype)
Definition
image_format.cc:219
BKE_image_path_from_imformat
void BKE_image_path_from_imformat(char *filepath, const char *base, const char *relbase, int frame, const ImageFormatData *im_format, bool use_ext, bool use_frames, const char *suffix)
Definition
image_format.cc:559
BKE_image_format_to_imbuf
void BKE_image_format_to_imbuf(ImBuf *ibuf, const ImageFormatData *imf)
Definition
image_format.cc:586
BKE_imtype_supports_quality
bool BKE_imtype_supports_quality(char imtype)
Definition
image_format.cc:228
BKE_image_format_color_management_copy_from_scene
void BKE_image_format_color_management_copy_from_scene(ImageFormatData *imf, const Scene *scene)
Definition
image_format.cc:891
BKE_imtype_valid_depths
char BKE_imtype_valid_depths(char imtype)
Definition
image_format.cc:296
BKE_imtype_to_ftype
int BKE_imtype_to_ftype(char imtype, ImbFormatOptions *r_options)
Definition
image_format.cc:90
BKE_imtype_is_movie
bool BKE_imtype_is_movie(char imtype)
Definition
image_format.cc:204
BKE_image_format_is_byte
bool BKE_image_format_is_byte(const ImageFormatData *imf)
Definition
image_format.cc:874
BKE_imtype_requires_linear_float
bool BKE_imtype_requires_linear_float(char imtype)
Definition
image_format.cc:240
BKE_image_format_copy
void BKE_image_format_copy(ImageFormatData *imf_dst, const ImageFormatData *imf_src)
Definition
image_format.cc:43
options
CCL_NAMESPACE_BEGIN struct Options options
format
format
Definition
logImageCore.h:39
BlendDataReader
Definition
readfile.cc:612
BlendWriter
Definition
writefile.cc:458
ImBuf
Definition
IMB_imbuf_types.hh:185
ImageFormatData
Definition
DNA_scene_types.h:394
ImbFormatOptions
Definition
IMB_imbuf_types.hh:79
Scene
Definition
DNA_scene_types.h:1988
Generated on Thu Feb 6 2025 07:36:39 for Blender by
doxygen
1.11.0