diff options
Diffstat (limited to 'source/blender/imbuf/intern/filetype.c')
-rw-r--r-- | source/blender/imbuf/intern/filetype.c | 203 |
1 files changed, 173 insertions, 30 deletions
diff --git a/source/blender/imbuf/intern/filetype.c b/source/blender/imbuf/intern/filetype.c index e02141b6038..7056e901f65 100644 --- a/source/blender/imbuf/intern/filetype.c +++ b/source/blender/imbuf/intern/filetype.c @@ -18,7 +18,6 @@ * \ingroup imbuf */ - #include <stddef.h> #include "BLI_utildefines.h" @@ -30,74 +29,218 @@ #include "IMB_colormanagement.h" #ifdef WITH_OPENIMAGEIO -#include "oiio/openimageio_api.h" +# include "oiio/openimageio_api.h" #endif #ifdef WITH_OPENEXR -#include "openexr/openexr_api.h" +# include "openexr/openexr_api.h" #endif #ifdef WITH_DDS -#include "dds/dds_api.h" +# include "dds/dds_api.h" #endif static int imb_ftype_default(const ImFileType *type, ImBuf *ibuf) { - return (ibuf->ftype == type->filetype); + return (ibuf->ftype == type->filetype); } static int imb_ftype_iris(const ImFileType *type, ImBuf *ibuf) { - (void)type; - return (ibuf->ftype == IMB_FTYPE_IMAGIC); + (void)type; + return (ibuf->ftype == IMB_FTYPE_IMAGIC); } const ImFileType IMB_FILE_TYPES[] = { - {NULL, NULL, imb_is_a_jpeg, NULL, imb_ftype_default, imb_load_jpeg, NULL, imb_savejpeg, NULL, 0, IMB_FTYPE_JPG, COLOR_ROLE_DEFAULT_BYTE}, - {NULL, NULL, imb_is_a_png, NULL, imb_ftype_default, imb_loadpng, NULL, imb_savepng, NULL, 0, IMB_FTYPE_PNG, COLOR_ROLE_DEFAULT_BYTE}, - {NULL, NULL, imb_is_a_bmp, NULL, imb_ftype_default, imb_bmp_decode, NULL, imb_savebmp, NULL, 0, IMB_FTYPE_BMP, COLOR_ROLE_DEFAULT_BYTE}, - {NULL, NULL, imb_is_a_targa, NULL, imb_ftype_default, imb_loadtarga, NULL, imb_savetarga, NULL, 0, IMB_FTYPE_TGA, COLOR_ROLE_DEFAULT_BYTE}, - {NULL, NULL, imb_is_a_iris, NULL, imb_ftype_iris, imb_loadiris, NULL, imb_saveiris, NULL, 0, IMB_FTYPE_IMAGIC, COLOR_ROLE_DEFAULT_BYTE}, + {NULL, + NULL, + imb_is_a_jpeg, + NULL, + imb_ftype_default, + imb_load_jpeg, + NULL, + imb_savejpeg, + NULL, + 0, + IMB_FTYPE_JPG, + COLOR_ROLE_DEFAULT_BYTE}, + {NULL, + NULL, + imb_is_a_png, + NULL, + imb_ftype_default, + imb_loadpng, + NULL, + imb_savepng, + NULL, + 0, + IMB_FTYPE_PNG, + COLOR_ROLE_DEFAULT_BYTE}, + {NULL, + NULL, + imb_is_a_bmp, + NULL, + imb_ftype_default, + imb_bmp_decode, + NULL, + imb_savebmp, + NULL, + 0, + IMB_FTYPE_BMP, + COLOR_ROLE_DEFAULT_BYTE}, + {NULL, + NULL, + imb_is_a_targa, + NULL, + imb_ftype_default, + imb_loadtarga, + NULL, + imb_savetarga, + NULL, + 0, + IMB_FTYPE_TGA, + COLOR_ROLE_DEFAULT_BYTE}, + {NULL, + NULL, + imb_is_a_iris, + NULL, + imb_ftype_iris, + imb_loadiris, + NULL, + imb_saveiris, + NULL, + 0, + IMB_FTYPE_IMAGIC, + COLOR_ROLE_DEFAULT_BYTE}, #ifdef WITH_CINEON - {NULL, NULL, imb_is_dpx, NULL, imb_ftype_default, imb_load_dpx, NULL, imb_save_dpx, NULL, IM_FTYPE_FLOAT, IMB_FTYPE_DPX, COLOR_ROLE_DEFAULT_FLOAT}, - {NULL, NULL, imb_is_cineon, NULL, imb_ftype_default, imb_load_cineon, NULL, imb_save_cineon, NULL, IM_FTYPE_FLOAT, IMB_FTYPE_CINEON, COLOR_ROLE_DEFAULT_FLOAT}, + {NULL, + NULL, + imb_is_dpx, + NULL, + imb_ftype_default, + imb_load_dpx, + NULL, + imb_save_dpx, + NULL, + IM_FTYPE_FLOAT, + IMB_FTYPE_DPX, + COLOR_ROLE_DEFAULT_FLOAT}, + {NULL, + NULL, + imb_is_cineon, + NULL, + imb_ftype_default, + imb_load_cineon, + NULL, + imb_save_cineon, + NULL, + IM_FTYPE_FLOAT, + IMB_FTYPE_CINEON, + COLOR_ROLE_DEFAULT_FLOAT}, #endif #ifdef WITH_TIFF - {imb_inittiff, NULL, imb_is_a_tiff, NULL, imb_ftype_default, imb_loadtiff, NULL, imb_savetiff, imb_loadtiletiff, 0, IMB_FTYPE_TIF, COLOR_ROLE_DEFAULT_BYTE}, + {imb_inittiff, + NULL, + imb_is_a_tiff, + NULL, + imb_ftype_default, + imb_loadtiff, + NULL, + imb_savetiff, + imb_loadtiletiff, + 0, + IMB_FTYPE_TIF, + COLOR_ROLE_DEFAULT_BYTE}, #endif #ifdef WITH_HDR - {NULL, NULL, imb_is_a_hdr, NULL, imb_ftype_default, imb_loadhdr, NULL, imb_savehdr, NULL, IM_FTYPE_FLOAT, IMB_FTYPE_RADHDR, COLOR_ROLE_DEFAULT_FLOAT}, + {NULL, + NULL, + imb_is_a_hdr, + NULL, + imb_ftype_default, + imb_loadhdr, + NULL, + imb_savehdr, + NULL, + IM_FTYPE_FLOAT, + IMB_FTYPE_RADHDR, + COLOR_ROLE_DEFAULT_FLOAT}, #endif #ifdef WITH_OPENEXR - {imb_initopenexr, imb_exitopenexr, imb_is_a_openexr, NULL, imb_ftype_default, imb_load_openexr, NULL, imb_save_openexr, NULL, IM_FTYPE_FLOAT, IMB_FTYPE_OPENEXR, COLOR_ROLE_DEFAULT_FLOAT}, + {imb_initopenexr, + imb_exitopenexr, + imb_is_a_openexr, + NULL, + imb_ftype_default, + imb_load_openexr, + NULL, + imb_save_openexr, + NULL, + IM_FTYPE_FLOAT, + IMB_FTYPE_OPENEXR, + COLOR_ROLE_DEFAULT_FLOAT}, #endif #ifdef WITH_OPENJPEG - {NULL, NULL, imb_is_a_jp2, NULL, imb_ftype_default, imb_load_jp2, NULL, imb_save_jp2, NULL, IM_FTYPE_FLOAT, IMB_FTYPE_JP2, COLOR_ROLE_DEFAULT_BYTE}, + {NULL, + NULL, + imb_is_a_jp2, + NULL, + imb_ftype_default, + imb_load_jp2, + NULL, + imb_save_jp2, + NULL, + IM_FTYPE_FLOAT, + IMB_FTYPE_JP2, + COLOR_ROLE_DEFAULT_BYTE}, #endif #ifdef WITH_DDS - {NULL, NULL, imb_is_a_dds, NULL, imb_ftype_default, imb_load_dds, NULL, NULL, NULL, 0, IMB_FTYPE_DDS, COLOR_ROLE_DEFAULT_BYTE}, + {NULL, + NULL, + imb_is_a_dds, + NULL, + imb_ftype_default, + imb_load_dds, + NULL, + NULL, + NULL, + 0, + IMB_FTYPE_DDS, + COLOR_ROLE_DEFAULT_BYTE}, #endif #ifdef WITH_OPENIMAGEIO - {NULL, NULL, NULL, imb_is_a_photoshop, imb_ftype_default, NULL, imb_load_photoshop, NULL, NULL, IM_FTYPE_FLOAT, IMB_FTYPE_PSD, COLOR_ROLE_DEFAULT_FLOAT}, + {NULL, + NULL, + NULL, + imb_is_a_photoshop, + imb_ftype_default, + NULL, + imb_load_photoshop, + NULL, + NULL, + IM_FTYPE_FLOAT, + IMB_FTYPE_PSD, + COLOR_ROLE_DEFAULT_FLOAT}, #endif - {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0}, + {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0}, }; -const ImFileType *IMB_FILE_TYPES_LAST = &IMB_FILE_TYPES[sizeof(IMB_FILE_TYPES) / sizeof(ImFileType) - 1]; +const ImFileType *IMB_FILE_TYPES_LAST = + &IMB_FILE_TYPES[sizeof(IMB_FILE_TYPES) / sizeof(ImFileType) - 1]; void imb_filetypes_init(void) { - const ImFileType *type; + const ImFileType *type; - for (type = IMB_FILE_TYPES; type < IMB_FILE_TYPES_LAST; type++) - if (type->init) - type->init(); + for (type = IMB_FILE_TYPES; type < IMB_FILE_TYPES_LAST; type++) + if (type->init) + type->init(); } void imb_filetypes_exit(void) { - const ImFileType *type; + const ImFileType *type; - for (type = IMB_FILE_TYPES; type < IMB_FILE_TYPES_LAST; type++) - if (type->exit) - type->exit(); + for (type = IMB_FILE_TYPES; type < IMB_FILE_TYPES_LAST; type++) + if (type->exit) + type->exit(); } |