Cleanup: pass const image data to IMB_ibImageFromMemory
This commit is contained in:
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
|
@ -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);
|
||||
|
|
|
@ -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++) {
|
||||
|
|
|
@ -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);
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
|
@ -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...
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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>");
|
||||
}
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
|
Loading…
Reference in New Issue