Blender V4.5
logImageCore.h File Reference
#include <cstdio>
#include "BLI_compiler_compat.h"
#include "BLI_sys_types.h"

Go to the source code of this file.

Classes

struct  LogImageElement
struct  LogImageFile

Macros

#define PATHSEP_CHAR   '/'

Enumerations

enum  format { format_DPX , format_Cineon }
enum  transfer {
  transfer_UserDefined , transfer_PrintingDensity , transfer_Linear , transfer_Logarithmic ,
  transfer_Unspecified , transfer_Smpte240M , transfer_Ccir7091 , transfer_Ccir6012BG ,
  transfer_Ccir6012M , transfer_NTSC , transfer_PAL , transfer_ZLinear ,
  transfer_Homogeneous
}
enum  descriptor {
  descriptor_UserDefined , descriptor_Red , descriptor_Green , descriptor_Blue ,
  descriptor_Alpha , descriptor_Luminance = 6 , descriptor_Chrominance , descriptor_Depth ,
  descriptor_Composite , descriptor_RGB = 50 , descriptor_RGBA , descriptor_ABGR ,
  descriptor_CbYCrY = 100 , descriptor_CbYACrYA , descriptor_CbYCr , descriptor_CbYCrA ,
  descriptor_UserDefined2Elt = 150 , descriptor_UserDefined3Elt , descriptor_UserDefined4Elt , descriptor_UserDefined5Elt ,
  descriptor_UserDefined6Elt , descriptor_UserDefined7Elt , descriptor_UserDefined8Elt , descriptor_YA
}

Functions

void logImageSetVerbose (int verbosity)
int logImageIsDpx (const void *buffer, unsigned int size)
int logImageIsCineon (const void *buffer, unsigned int size)
LogImageFilelogImageOpenFromMemory (const unsigned char *buffer, unsigned int size)
LogImageFilelogImageOpenFromFile (const char *filepath, int cineon)
void logImageGetSize (const LogImageFile *logImage, int *width, int *height, int *depth)
LogImageFilelogImageCreate (const char *filepath, int cineon, int width, int height, int bitsPerSample, int isLogarithmic, int hasAlpha, int referenceWhite, int referenceBlack, float gamma, const char *creator)
void logImageClose (LogImageFile *logImage)
size_t getRowLength (size_t width, const LogImageElement *logElement)
int logImageSetDataRGBA (LogImageFile *logImage, const float *data, int dataIsLinearRGB)
int logImageGetDataRGBA (LogImageFile *logImage, float *data, int dataIsLinearRGB)
BLI_INLINE unsigned short swap_ushort (unsigned short x, int swap)
BLI_INLINE unsigned int swap_uint (unsigned int x, int swap)
BLI_INLINE float swap_float (float x, int swap)
BLI_INLINE unsigned int clamp_uint (unsigned int x, unsigned int low, unsigned int high)
BLI_INLINE float clamp_float (float x, float low, float high)
BLI_INLINE unsigned int float_uint (float value, unsigned int max)

Detailed Description

Cineon image file format library definitions. Cineon and DPX common structures.

This header file contains private details. User code should generally use cineonlib.h and dpxlib.h only. Hmm. I thought the two formats would have more in common!

Definition in file logImageCore.h.

Macro Definition Documentation

◆ PATHSEP_CHAR

#define PATHSEP_CHAR   '/'

Definition at line 26 of file logImageCore.h.

Referenced by cineonCreate(), dpxCreate(), and write_file_line_fn().

Enumeration Type Documentation

◆ descriptor

enum descriptor
Enumerator
descriptor_UserDefined 
descriptor_Red 
descriptor_Green 
descriptor_Blue 
descriptor_Alpha 
descriptor_Luminance 
descriptor_Chrominance 
descriptor_Depth 
descriptor_Composite 
descriptor_RGB 
descriptor_RGBA 
descriptor_ABGR 
descriptor_CbYCrY 
descriptor_CbYACrYA 
descriptor_CbYCr 
descriptor_CbYCrA 
descriptor_UserDefined2Elt 
descriptor_UserDefined3Elt 
descriptor_UserDefined4Elt 
descriptor_UserDefined5Elt 
descriptor_UserDefined6Elt 
descriptor_UserDefined7Elt 
descriptor_UserDefined8Elt 
descriptor_YA 

Definition at line 141 of file logImageCore.h.

◆ format

enum format
Enumerator
format_DPX 
format_Cineon 

Definition at line 35 of file logImageCore.h.

◆ transfer

enum transfer
Enumerator
transfer_UserDefined 
transfer_PrintingDensity 
transfer_Linear 
transfer_Logarithmic 
transfer_Unspecified 
transfer_Smpte240M 
transfer_Ccir7091 
transfer_Ccir6012BG 
transfer_Ccir6012M 
transfer_NTSC 
transfer_PAL 
transfer_ZLinear 
transfer_Homogeneous 

Definition at line 99 of file logImageCore.h.

Function Documentation

◆ clamp_float()

BLI_INLINE float clamp_float ( float x,
float low,
float high )

◆ clamp_uint()

BLI_INLINE unsigned int clamp_uint ( unsigned int x,
unsigned int low,
unsigned int high )

Definition at line 237 of file logImageCore.h.

References BLI_INLINE, clamp_uint(), and x.

Referenced by clamp_uint().

◆ float_uint()

◆ getRowLength()

◆ logImageClose()

void logImageClose ( LogImageFile * logImage)

◆ logImageCreate()

LogImageFile * logImageCreate ( const char * filepath,
int cineon,
int width,
int height,
int bitsPerSample,
int isLogarithmic,
int hasAlpha,
int referenceWhite,
int referenceBlack,
float gamma,
const char * creator )

Definition at line 155 of file logImageCore.cc.

References cineonCreate(), dpxCreate(), and logImageCreate().

Referenced by imb_save_dpx_cineon(), and logImageCreate().

◆ logImageGetDataRGBA()

◆ logImageGetSize()

void logImageGetSize ( const LogImageFile * logImage,
int * width,
int * height,
int * depth )

◆ logImageIsCineon()

int logImageIsCineon ( const void * buffer,
unsigned int size )

◆ logImageIsDpx()

int logImageIsDpx ( const void * buffer,
unsigned int size )

◆ logImageOpenFromFile()

LogImageFile * logImageOpenFromFile ( const char * filepath,
int cineon )

◆ logImageOpenFromMemory()

LogImageFile * logImageOpenFromMemory ( const unsigned char * buffer,
unsigned int size )

◆ logImageSetDataRGBA()

◆ logImageSetVerbose()

void logImageSetVerbose ( int verbosity)

◆ swap_float()

BLI_INLINE float swap_float ( float x,
int swap )

Definition at line 217 of file logImageCore.h.

References b, BLI_INLINE, swap, swap_float(), and x.

Referenced by cineonOpen(), dpxOpen(), fillCineonMainHeader(), fillDpxMainHeader(), and swap_float().

◆ swap_uint()

◆ swap_ushort()