Blender V2.61 - r43446
Defines | Typedefs | Functions

radiance_hdr.c File Reference

#include "MEM_guardedalloc.h"
#include "BLI_blenlib.h"
#include "imbuf.h"
#include "IMB_imbuf_types.h"
#include "IMB_imbuf.h"
#include "IMB_allocimbuf.h"
#include "IMB_filetype.h"

Go to the source code of this file.

Defines

#define MINELEN   8
#define MAXELEN   0x7fff
#define MINRUN   4
#define RED   0
#define GRN   1
#define BLU   2
#define EXP   3
#define COLXS   128
#define STR_MAX   540
#define copy_rgbe(c1, c2)   (c2[RED]=c1[RED], c2[GRN]=c1[GRN], c2[BLU]=c1[BLU], c2[EXP]=c1[EXP])
#define copy_fcol(f1, f2)   (f2[RED]=f1[RED], f2[GRN]=f1[GRN], f2[BLU]=f1[BLU])

Typedefs

typedef unsigned char RGBE [4]
typedef float fCOLOR [3]

Functions

static unsigned char * oldreadcolrs (RGBE *scan, unsigned char *mem, int xmax)
static unsigned char * freadcolrs (RGBE *scan, unsigned char *mem, int xmax)
static void RGBE2FLOAT (RGBE rgbe, fCOLOR fcol)
static void FLOAT2RGBE (fCOLOR fcol, RGBE rgbe)
int imb_is_a_hdr (unsigned char *buf)
struct ImBufimb_loadhdr (unsigned char *mem, size_t size, int flags)
static int fwritecolrs (FILE *file, int width, int channels, unsigned char *ibufscan, float *fpscan)
static void writeHeader (FILE *file, int width, int height)
int imb_savehdr (struct ImBuf *ibuf, const char *name, int flags)

Detailed Description

Definition in file radiance_hdr.c.


Define Documentation

#define BLU   2
#define COLXS   128

Definition at line 64 of file radiance_hdr.c.

Referenced by FLOAT2RGBE(), and RGBE2FLOAT().

#define copy_fcol (   f1,
  f2 
)    (f2[RED]=f1[RED], f2[GRN]=f1[GRN], f2[BLU]=f1[BLU])

Definition at line 70 of file radiance_hdr.c.

#define copy_rgbe (   c1,
  c2 
)    (c2[RED]=c1[RED], c2[GRN]=c1[GRN], c2[BLU]=c1[BLU], c2[EXP]=c1[EXP])

Definition at line 69 of file radiance_hdr.c.

Referenced by fwritecolrs(), and oldreadcolrs().

#define EXP   3

Definition at line 63 of file radiance_hdr.c.

Referenced by FLOAT2RGBE(), oldreadcolrs(), and RGBE2FLOAT().

#define GRN   1
#define MAXELEN   0x7fff

Definition at line 58 of file radiance_hdr.c.

Referenced by freadcolrs(), and fwritecolrs().

#define MINELEN   8

Definition at line 57 of file radiance_hdr.c.

Referenced by freadcolrs(), and fwritecolrs().

#define MINRUN   4

Definition at line 59 of file radiance_hdr.c.

Referenced by fwritecolrs().

#define RED   0

Definition at line 60 of file radiance_hdr.c.

Referenced by FLOAT2RGBE(), fwritecolrs(), imb_loadhdr(), oldreadcolrs(), and RGBE2FLOAT().

#define STR_MAX   540

Definition at line 65 of file radiance_hdr.c.


Typedef Documentation

typedef float fCOLOR[3]

Definition at line 67 of file radiance_hdr.c.

typedef unsigned char RGBE[4]

Definition at line 66 of file radiance_hdr.c.


Function Documentation

static void FLOAT2RGBE ( fCOLOR  fcol,
RGBE  rgbe 
) [static]

Definition at line 146 of file radiance_hdr.c.

References BLU, COLXS, simple_enum_gen::d, credits_svn_gen::e, EXP, GRN, and RED.

Referenced by fwritecolrs().

static unsigned char* freadcolrs ( RGBE scan,
unsigned char *  mem,
int  xmax 
) [static]

Definition at line 98 of file radiance_hdr.c.

References BLU, GRN, i, MAXELEN, MINELEN, NULL, oldreadcolrs(), and simple_enum_gen::val.

Referenced by imb_loadhdr().

static int fwritecolrs ( FILE *  file,
int  width,
int  channels,
unsigned char *  ibufscan,
float *  fpscan 
) [static]

Definition at line 249 of file radiance_hdr.c.

References BLU, ImBuf::channels, copy_rgbe, FLOAT2RGBE(), GRN, i, MAXELEN, MEM_freeN(), MEM_mallocN(), MINELEN, MINRUN, NULL, RED, and ImBuf::x.

Referenced by imb_savehdr().

int imb_is_a_hdr ( unsigned char *  buf)

Definition at line 164 of file radiance_hdr.c.

Referenced by imb_loadhdr().

struct ImBuf* imb_loadhdr ( unsigned char *  mem,
size_t  size,
int  flags 
) [read]
int imb_savehdr ( struct ImBuf ibuf,
const char *  name,
int  flags 
)
static unsigned char* oldreadcolrs ( RGBE scan,
unsigned char *  mem,
int  xmax 
) [static]

Definition at line 73 of file radiance_hdr.c.

References BLU, copy_rgbe, EXP, GRN, i, len(), and RED.

Referenced by freadcolrs().

static void RGBE2FLOAT ( RGBE  rgbe,
fCOLOR  fcol 
) [static]

Definition at line 132 of file radiance_hdr.c.

References BLU, COLXS, EXP, GRN, and RED.

Referenced by imb_loadhdr().

static void writeHeader ( FILE *  file,
int  width,
int  height 
) [static]

Definition at line 319 of file radiance_hdr.c.

Referenced by imb_savehdr().