Query: mlib_imagedatatypeconvert
OS: sunos
Section: 3mlib
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
mlib_ImageDataTypeConvert(3MLIB) mediaLib Library Functions mlib_ImageDataTypeConvert(3MLIB)NAMEmlib_ImageDataTypeConvert - data type conversionSYNOPSIScc [ flag... ] file... -lmlib [ library... ] #include <mlib.h> mlib_status mlib_ImageDataTypeConvert(mlib_image *dst, const mlib_image *src);DESCRIPTIONThe mlib_ImageDataTypeConvert() function converts between data types MLIB_BIT, MLIB_BYTE, MLIB_SHORT, MLIB_USHORT, MLIB_INT, MLIB_FLOAT, and MLIB_DOUBLE. The input and output data images must have the same width, height, and number of channels. Conversion to a smaller pixel format clamps the source value to the dynamic range of the destination pixel. See the following table for available variations of the data type conversion function. Source Type Dest. Type Action MLIB_BYTE MLIB_BIT (x > 0) ? 1 : 0 MLIB_SHORT MLIB_BIT (x > 0) ? 1 : 0 MLIB_USHORT MLIB_BIT (x > 0) ? 1 : 0 MLIB_INT MLIB_BIT (x > 0) ? 1 : 0 MLIB_FLOAT MLIB_BIT (x > 0) ? 1 : 0 MLIB_DOUBLE MLIB_BIT (x > 0) ? 1 : 0 MLIB_BIT MLIB_BYTE (x == 1) ? 1 : 0 MLIB_SHORT MLIB_BYTE (mlib_u8)clamp(x, 0, 255) MLIB_USHORT MLIB_BYTE (mlib_u8)clamp(x, 0, 255) MLIB_INT MLIB_BYTE (mlib_u8)clamp(x, 0, 255) MLIB_FLOAT MLIB_BYTE (mlib_u8)clamp(x, 0, 255) MLIB_DOUBLE MLIB_BYTE (mlib_u8)clamp(x, 0, 255) MLIB_BIT MLIB_SHORT (x == 1) ? 1 : 0 MLIB_BYTE MLIB_SHORT (mlib_s16)x MLIB_USHORT MLIB_SHORT (mlib_s16)clamp(x, -32768, 32767) MLIB_INT MLIB_SHORT (mlib_s16)clamp(x, -32768, 32767) MLIB_FLOAT MLIB_SHORT (mlib_s16)clamp(x, -32768, 32767) MLIB_DOUBLE MLIB_SHORT (mlib_s16)clamp(x, -32768, 32767) MLIB_BIT MLIB_USHORT (x == 1) ? 1 : 0 MLIB_BYTE MLIB_USHORT (mlib_u16)x MLIB_SHORT MLIB_USHORT (mlib_u16)clamp(x, 0, 65535) MLIB_INT MLIB_USHORT (mlib_u16)clamp(x, 0, 65535) MLIB_FLOAT MLIB_USHORT (mlib_u16)clamp(x, 0, 65535) MLIB_DOUBLE MLIB_USHORT (mlib_u16)clamp(x, 0, 65535) MLIB_BIT MLIB_INT (x == 1) ? 1 : 0 MLIB_BYTE MLIB_INT (mlib_s32)x MLIB_SHORT MLIB_INT (mlib_s32)x MLIB_USHORT MLIB_INT (mlib_s32)x MLIB_FLOAT MLIB_INT (mlib_s32)clamp(x, -2147483647-1, 2147483647) MLIB_DOUBLE MLIB_INT (mlib_s32)clamp(x, -2147483647-1, 2147483647) MLIB_BIT MLIB_FLOAT (x == 1) ? 1.0 : 0.0 MLIB_BYTE MLIB_FLOAT (mlib_f32)x MLIB_SHORT MLIB_FLOAT (mlib_f32)x MLIB_USHORT MLIB_FLOAT (mlib_f32)x MLIB_INT MLIB_FLOAT (mlib_f32)x MLIB_DOUBLE MLIB_FLOAT (mlib_f32)x MLIB_BIT MLIB_DOUBLE (x == 1) ? 1.0 : 0.0 MLIB_BYTE MLIB_DOUBLE (mlib_d64)x MLIB_SHORT MLIB_DOUBLE (mlib_d64)x MLIB_USHORT MLIB_DOUBLE (mlib_d64)x MLIB_INT MLIB_DOUBLE (mlib_d64)x MLIB_FLOAT MLIB_DOUBLE (mlib_d64)x The actions are defined in C-style pseudo-code. All type casts follow the rules of standard C. clamp() can be defined as a macro: #define clamp(x, low, high) (((x) < (low)) ? (low) : (((x) > (high)) ? (high) : (x)))PARAMETERSThe function takes the following arguments: dst Pointer to destination image. src Pointer to source image.RETURN VALUESThe function returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.ATTRIBUTESSee attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Evolving | +-----------------------------+-----------------------------+ |MT-Level |MT-Safe | +-----------------------------+-----------------------------+SEE ALSOmlib_ImageReformat(3MLIB), attributes(5) SunOS 5.10 9 Nov 2004 mlib_ImageDataTypeConvert(3MLIB)
Similar Topics in the Unix Linux Community |
---|
Taking a particular attribute's value in a file... |
Extracting sub-string matching the pattern. |
Limits on 32 and 64 bit in C++ / C |