Cleanup: pass const image data to IMB_ibImageFromMemory

This commit is contained in:
Campbell Barton 2019-03-25 09:08:29 +11:00
parent a38313c3bd
commit 72ede30d0f
Notes: blender-bot 2023-02-14 08:08:54 +01:00
Referenced by issue #63867, EEVEE image sequence not updating in animation render
Referenced by issue #62931, Blender 2.80 - Incorrect rendering of subsurface in eevee after resizing the viewport region
Referenced by issue #62933, Blender 2.80 - Crash when resizing region
7 changed files with 19 additions and 14 deletions

View File

@ -92,7 +92,7 @@ typedef struct IconImage {
int w;
int h;
uint *rect;
uchar *datatoc_rect;
const uchar *datatoc_rect;
int datatoc_size;
} IconImage;
@ -719,13 +719,13 @@ static void init_internal_icons(void)
}
#endif
if (b16buf == NULL)
b16buf = IMB_ibImageFromMemory((uchar *)datatoc_blender_icons16_png,
b16buf = IMB_ibImageFromMemory((const uchar *)datatoc_blender_icons16_png,
datatoc_blender_icons16_png_size, IB_rect, NULL, "<blender icons>");
if (b16buf)
IMB_premultiply_alpha(b16buf);
if (b32buf == NULL)
b32buf = IMB_ibImageFromMemory((uchar *)datatoc_blender_icons32_png,
b32buf = IMB_ibImageFromMemory((const uchar *)datatoc_blender_icons32_png,
datatoc_blender_icons32_png_size, IB_rect, NULL, "<blender icons>");
if (b32buf)
IMB_premultiply_alpha(b32buf);

View File

@ -787,7 +787,7 @@ void filelist_init_icons(void)
#ifdef WITH_HEADLESS
bbuf = NULL;
#else
bbuf = IMB_ibImageFromMemory((unsigned char *)datatoc_prvicons_png, datatoc_prvicons_png_size, IB_rect, NULL, "<splash>");
bbuf = IMB_ibImageFromMemory((const uchar *)datatoc_prvicons_png, datatoc_prvicons_png_size, IB_rect, NULL, "<splash>");
#endif
if (bbuf) {
for (y = 0; y < SPECIAL_IMG_ROWS; y++) {

View File

@ -95,7 +95,9 @@ void IMB_exit(void);
*
* \attention Defined in readimage.c
*/
struct ImBuf *IMB_ibImageFromMemory(unsigned char *mem, size_t size, int flags, char colorspace[IM_MAX_SPACE], const char *descr);
struct ImBuf *IMB_ibImageFromMemory(
const unsigned char *mem, size_t size, int flags,
char colorspace[IM_MAX_SPACE], const char *descr);
/**
*

View File

@ -425,7 +425,7 @@ static ImBuf *avi_fetchibuf(struct anim *anim, int position)
if (anim->pgf) {
lpbi = AVIStreamGetFrame(anim->pgf, position + AVIStreamStart(anim->pavi[anim->firstvideo]));
if (lpbi) {
ibuf = IMB_ibImageFromMemory((unsigned char *) lpbi, 100, IB_rect, anim->colorspace, "<avi_fetchibuf>");
ibuf = IMB_ibImageFromMemory((const unsigned char *) lpbi, 100, IB_rect, anim->colorspace, "<avi_fetchibuf>");
//Oh brother...
}
}

View File

@ -92,7 +92,9 @@ static void imb_handle_alpha(ImBuf *ibuf, int flags, char colorspace[IM_MAX_SPAC
colormanage_imbuf_make_linear(ibuf, effective_colorspace);
}
ImBuf *IMB_ibImageFromMemory(unsigned char *mem, size_t size, int flags, char colorspace[IM_MAX_SPACE], const char *descr)
ImBuf *IMB_ibImageFromMemory(
const unsigned char *mem, size_t size, int flags,
char colorspace[IM_MAX_SPACE], const char *descr)
{
ImBuf *ibuf;
const ImFileType *type;

View File

@ -1426,11 +1426,11 @@ static uiBlock *wm_block_create_splash(bContext *C, ARegion *ar, void *UNUSED(ar
#ifndef WITH_HEADLESS
if (U.dpi_fac > 1.0) {
ibuf = IMB_ibImageFromMemory((unsigned char *)datatoc_splash_2x_png,
ibuf = IMB_ibImageFromMemory((const uchar *)datatoc_splash_2x_png,
datatoc_splash_2x_png_size, IB_rect, NULL, "<splash screen>");
}
else {
ibuf = IMB_ibImageFromMemory((unsigned char *)datatoc_splash_png,
ibuf = IMB_ibImageFromMemory((const uchar *)datatoc_splash_png,
datatoc_splash_png_size, IB_rect, NULL, "<splash screen>");
}

View File

@ -228,7 +228,7 @@ static void playanim_event_qual_update(void)
typedef struct PlayAnimPict {
struct PlayAnimPict *next, *prev;
char *mem;
uchar *mem;
int size;
const char *name;
struct ImBuf *ibuf;
@ -380,7 +380,8 @@ static void playanim_toscreen(PlayState *ps, PlayAnimPict *picture, struct ImBuf
static void build_pict_list_ex(PlayState *ps, const char *first, int totframes, int fstep, int fontid)
{
char *mem, filepath[FILE_MAX];
char filepath[FILE_MAX];
uchar *mem;
// short val;
PlayAnimPict *picture = NULL;
struct ImBuf *ibuf = NULL;
@ -465,7 +466,7 @@ static void build_pict_list_ex(PlayState *ps, const char *first, int totframes,
picture->IB_flags = IB_rect;
if (fromdisk == false) {
mem = (char *)MEM_mallocN(size, "build pic list");
mem = MEM_mallocN(size, "build pic list");
if (mem == NULL) {
printf("Couldn't get memory\n");
close(file);
@ -497,7 +498,7 @@ static void build_pict_list_ex(PlayState *ps, const char *first, int totframes,
if (ptottime > 1.0) {
/* OCIO_TODO: support different input color space */
if (picture->mem) {
ibuf = IMB_ibImageFromMemory((unsigned char *)picture->mem, picture->size,
ibuf = IMB_ibImageFromMemory(picture->mem, picture->size,
picture->IB_flags, NULL, picture->name);
}
else {
@ -1377,7 +1378,7 @@ static char *wm_main_playanim_intern(int argc, const char **argv)
}
else if (ps.picture->mem) {
/* use correct colorspace here */
ibuf = IMB_ibImageFromMemory((unsigned char *) ps.picture->mem, ps.picture->size,
ibuf = IMB_ibImageFromMemory(ps.picture->mem, ps.picture->size,
ps.picture->IB_flags, NULL, ps.picture->name);
}
else {