Changeset View
Changeset View
Standalone View
Standalone View
source/blender/makesdna/DNA_image_types.h
| Show All 29 Lines | |||||
| struct GPUTexture; | struct GPUTexture; | ||||
| struct MovieCache; | struct MovieCache; | ||||
| struct PackedFile; | struct PackedFile; | ||||
| struct RenderResult; | struct RenderResult; | ||||
| struct Scene; | struct Scene; | ||||
| struct anim; | struct anim; | ||||
| /* *************************************************************** */ | |||||
| typedef struct Stereo3dFormat { | |||||
| short flag; | |||||
| /** Encoding mode. */ | |||||
| char display_mode; | |||||
| /** Anaglyph scheme for the user display. */ | |||||
| char anaglyph_type; | |||||
| /** Interlace type for the user display. */ | |||||
| char interlace_type; | |||||
| char _pad[3]; | |||||
| } Stereo3dFormat; | |||||
| /* Stereo3dFormat.display_mode */ | |||||
| typedef enum eStereoDisplayMode { | |||||
| S3D_DISPLAY_ANAGLYPH = 0, | |||||
| S3D_DISPLAY_INTERLACE = 1, | |||||
| S3D_DISPLAY_PAGEFLIP = 2, | |||||
| S3D_DISPLAY_SIDEBYSIDE = 3, | |||||
| S3D_DISPLAY_TOPBOTTOM = 4, | |||||
| } eStereoDisplayMode; | |||||
| /* Stereo3dFormat.flag */ | |||||
| typedef enum eStereo3dFlag { | |||||
| S3D_INTERLACE_SWAP = (1 << 0), | |||||
| S3D_SIDEBYSIDE_CROSSEYED = (1 << 1), | |||||
| S3D_SQUEEZED_FRAME = (1 << 2), | |||||
| } eStereo3dFlag; | |||||
| /* Stereo3dFormat.anaglyph_type */ | |||||
| typedef enum eStereo3dAnaglyphType { | |||||
| S3D_ANAGLYPH_REDCYAN = 0, | |||||
| S3D_ANAGLYPH_GREENMAGENTA = 1, | |||||
| S3D_ANAGLYPH_YELLOWBLUE = 2, | |||||
| } eStereo3dAnaglyphType; | |||||
| /* Stereo3dFormat.interlace_type */ | |||||
| typedef enum eStereo3dInterlaceType { | |||||
| S3D_INTERLACE_ROW = 0, | |||||
| S3D_INTERLACE_COLUMN = 1, | |||||
| S3D_INTERLACE_CHECKERBOARD = 2, | |||||
| } eStereo3dInterlaceType; | |||||
| /* *************************************************************** */ | |||||
| /* Generic image format settings, | |||||
| * this is used for NodeImageFile and IMAGE_OT_save_as operator too. | |||||
| * | |||||
| * note: its a bit strange that even though this is an image format struct | |||||
| * the imtype can still be used to select video formats. | |||||
| * RNA ensures these enum's are only selectable for render output. | |||||
| */ | |||||
| typedef struct ImageFormatData { | |||||
| /** | |||||
| * R_IMF_IMTYPE_PNG, R_... | |||||
| * \note, video types should only ever be set from this structure when used from RenderData. | |||||
| */ | |||||
| char imtype; | |||||
| /** | |||||
| * bits per channel, R_IMF_CHAN_DEPTH_8 -> 32, | |||||
| * not a flag, only set 1 at a time. */ | |||||
| char depth; | |||||
| /** R_IMF_PLANES_BW, R_IMF_PLANES_RGB, R_IMF_PLANES_RGBA. */ | |||||
| char planes; | |||||
| /** Generic options for all image types, alpha zbuffer. */ | |||||
| char flag; | |||||
| /** (0 - 100), eg: jpeg quality. */ | |||||
| char quality; | |||||
| /** (0 - 100), eg: png compression. */ | |||||
| char compress; | |||||
| /* --- format specific --- */ | |||||
| /* OpenEXR */ | |||||
| char exr_codec; | |||||
| /* Cineon */ | |||||
| char cineon_flag; | |||||
| short cineon_white, cineon_black; | |||||
| float cineon_gamma; | |||||
| /* Jpeg2000 */ | |||||
| char jp2_flag; | |||||
| char jp2_codec; | |||||
| /* TIFF */ | |||||
| char tiff_codec; | |||||
| char _pad[4]; | |||||
| /* Multiview */ | |||||
| char views_format; | |||||
| Stereo3dFormat stereo3d_format; | |||||
| /* color management */ | |||||
| ColorManagedViewSettings view_settings; | |||||
| ColorManagedDisplaySettings display_settings; | |||||
| } ImageFormatData; | |||||
| /* ImageFormatData.imtype */ | |||||
| #define R_IMF_IMTYPE_TARGA 0 | |||||
| #define R_IMF_IMTYPE_IRIS 1 | |||||
| /* #define R_HAMX 2 */ /* hamx is nomore */ | |||||
| /* #define R_FTYPE 3 */ /* ftype is nomore */ | |||||
| #define R_IMF_IMTYPE_JPEG90 4 | |||||
| /* #define R_MOVIE 5 */ /* movie is nomore */ | |||||
| #define R_IMF_IMTYPE_IRIZ 7 | |||||
| #define R_IMF_IMTYPE_RAWTGA 14 | |||||
| #define R_IMF_IMTYPE_AVIRAW 15 | |||||
| #define R_IMF_IMTYPE_AVIJPEG 16 | |||||
| #define R_IMF_IMTYPE_PNG 17 | |||||
| /* #define R_IMF_IMTYPE_AVICODEC 18 */ /* avicodec is nomore */ | |||||
| /* #define R_IMF_IMTYPE_QUICKTIME 19 */ /* quicktime is nomore */ | |||||
| #define R_IMF_IMTYPE_BMP 20 | |||||
| #define R_IMF_IMTYPE_RADHDR 21 | |||||
| #define R_IMF_IMTYPE_TIFF 22 | |||||
| #define R_IMF_IMTYPE_OPENEXR 23 | |||||
| #define R_IMF_IMTYPE_FFMPEG 24 | |||||
| /* #define R_IMF_IMTYPE_FRAMESERVER 25 */ /* frame server is nomore */ | |||||
| #define R_IMF_IMTYPE_CINEON 26 | |||||
| #define R_IMF_IMTYPE_DPX 27 | |||||
| #define R_IMF_IMTYPE_MULTILAYER 28 | |||||
| #define R_IMF_IMTYPE_DDS 29 | |||||
| #define R_IMF_IMTYPE_JP2 30 | |||||
| #define R_IMF_IMTYPE_H264 31 | |||||
| #define R_IMF_IMTYPE_XVID 32 | |||||
| #define R_IMF_IMTYPE_THEORA 33 | |||||
| #define R_IMF_IMTYPE_PSD 34 | |||||
| #define R_IMF_IMTYPE_INVALID 255 | |||||
| /* ImageFormatData.flag */ | |||||
| #define R_IMF_FLAG_ZBUF (1 << 0) /* was R_OPENEXR_ZBUF */ | |||||
| #define R_IMF_FLAG_PREVIEW_JPG (1 << 1) /* was R_PREVIEW_JPG */ | |||||
| /* return values from BKE_imtype_valid_depths, note this is depts per channel */ | |||||
| /* ImageFormatData.depth */ | |||||
| typedef enum eImageFormatDepth { | |||||
| /* 1bits (unused) */ | |||||
| R_IMF_CHAN_DEPTH_1 = (1 << 0), | |||||
| /* 8bits (default) */ | |||||
| R_IMF_CHAN_DEPTH_8 = (1 << 1), | |||||
| /* 10bits (uncommon, Cineon/DPX support) */ | |||||
| R_IMF_CHAN_DEPTH_10 = (1 << 2), | |||||
| /* 12bits (uncommon, jp2/DPX support) */ | |||||
| R_IMF_CHAN_DEPTH_12 = (1 << 3), | |||||
| /* 16bits (tiff, half float exr) */ | |||||
| R_IMF_CHAN_DEPTH_16 = (1 << 4), | |||||
| /* 24bits (unused) */ | |||||
| R_IMF_CHAN_DEPTH_24 = (1 << 5), | |||||
| /* 32bits (full float exr) */ | |||||
| R_IMF_CHAN_DEPTH_32 = (1 << 6), | |||||
| } eImageFormatDepth; | |||||
| /* ImageFormatData.planes */ | |||||
| #define R_IMF_PLANES_RGB 24 | |||||
| #define R_IMF_PLANES_RGBA 32 | |||||
| #define R_IMF_PLANES_BW 8 | |||||
| /* ImageFormatData.exr_codec */ | |||||
| #define R_IMF_EXR_CODEC_NONE 0 | |||||
| #define R_IMF_EXR_CODEC_PXR24 1 | |||||
| #define R_IMF_EXR_CODEC_ZIP 2 | |||||
| #define R_IMF_EXR_CODEC_PIZ 3 | |||||
| #define R_IMF_EXR_CODEC_RLE 4 | |||||
| #define R_IMF_EXR_CODEC_ZIPS 5 | |||||
| #define R_IMF_EXR_CODEC_B44 6 | |||||
| #define R_IMF_EXR_CODEC_B44A 7 | |||||
| #define R_IMF_EXR_CODEC_DWAA 8 | |||||
| #define R_IMF_EXR_CODEC_DWAB 9 | |||||
| #define R_IMF_EXR_CODEC_MAX 10 | |||||
| /* ImageFormatData.jp2_flag */ | |||||
| #define R_IMF_JP2_FLAG_YCC (1 << 0) /* when disabled use RGB */ /* was R_JPEG2K_YCC */ | |||||
| #define R_IMF_JP2_FLAG_CINE_PRESET (1 << 1) /* was R_JPEG2K_CINE_PRESET */ | |||||
| #define R_IMF_JP2_FLAG_CINE_48 (1 << 2) /* was R_JPEG2K_CINE_48FPS */ | |||||
| /* ImageFormatData.jp2_codec */ | |||||
| #define R_IMF_JP2_CODEC_JP2 0 | |||||
| #define R_IMF_JP2_CODEC_J2K 1 | |||||
| /* ImageFormatData.cineon_flag */ | |||||
| #define R_IMF_CINEON_FLAG_LOG (1 << 0) /* was R_CINEON_LOG */ | |||||
| /* ImageFormatData.tiff_codec */ | |||||
| enum { | |||||
| R_IMF_TIFF_CODEC_DEFLATE = 0, | |||||
| R_IMF_TIFF_CODEC_LZW = 1, | |||||
| R_IMF_TIFF_CODEC_PACKBITS = 2, | |||||
| R_IMF_TIFF_CODEC_NONE = 3, | |||||
| }; | |||||
| /* *************************************************************** */ | |||||
| /* ImageUser is in Texture, in Nodes, Background Image, Image Window, .... */ | /* ImageUser is in Texture, in Nodes, Background Image, Image Window, .... */ | ||||
| /* should be used in conjunction with an ID * to Image. */ | /* should be used in conjunction with an ID * to Image. */ | ||||
| typedef struct ImageUser { | typedef struct ImageUser { | ||||
| /** To retrieve render result. */ | /** To retrieve render result. */ | ||||
| struct Scene *scene; | struct Scene *scene; | ||||
| /** Movies, sequences: current to display. */ | /** Movies, sequences: current to display. */ | ||||
| int framenr; | int framenr; | ||||
| ▲ Show 20 Lines • Show All 224 Lines • Show Last 20 Lines | |||||