Data Structures | |
struct | XDM_BufDesc |
Buffer descriptor for multiple buffers. More... | |
struct | XDM_SingleBufDesc |
Single buffer descriptor. More... | |
struct | XDM1_SingleBufDesc |
Single buffer descriptor. More... | |
struct | XDM1_BufDesc |
Buffer descriptor. More... | |
struct | XDM_AlgBufInfo |
Buffer information descriptor for input and output buffers. More... | |
struct | XDM_Date |
Date and time. More... | |
struct | XDM_Point |
2-dimensional point More... | |
struct | XDM_Rect |
Rectangle. More... | |
struct | XDM_ContextInfo |
Buffer information descriptor for input and output buffers. More... | |
struct | XDM_Context |
Context used by split codecs. More... | |
Defines | |
#define | XDM_EOK IALG_EOK |
#define | XDM_EFAIL IALG_EFAIL |
#define | XDM_EUNSUPPORTED -3 |
#define | XDM_ERUNTIME -2 |
General runtime failure. | |
#define | XDM_MAX_IO_BUFFERS 16 |
#define | XDM_ISACCESSMODE_READ(x) (((x) >> XDM_ACCESSMODE_READ) & 0x1) |
Check an access mask for CPU read access. | |
#define | XDM_ISACCESSMODE_WRITE(x) (((x) >> XDM_ACCESSMODE_WRITE) & 0x1) |
Check an access mask for CPU write access. | |
#define | XDM_CLEARACCESSMODE_READ(x) ((x) &= (~(0x1 << XDM_ACCESSMODE_READ))) |
Clear the "CPU read access" bit in an access mask. | |
#define | XDM_CLEARACCESSMODE_WRITE(x) ((x) &= (~(0x1 << XDM_ACCESSMODE_WRITE))) |
Clear the "CPU write access" bit in an access mask. | |
#define | XDM_SETACCESSMODE_READ(x) ((x) |= (0x1 << XDM_ACCESSMODE_READ)) |
Set the bit to indicate CPU read access in an access mask. | |
#define | XDM_SETACCESSMODE_WRITE(x) ((x) |= (0x1 << XDM_ACCESSMODE_WRITE)) |
Set the bit to indicate CPU write access in an access mask. | |
#define | XDM_CUSTOMENUMBASE 0x100 |
Base of algorithm-specific enum values. | |
#define | XDM_CUSTOMCMDBASE 0x100 |
Base of algorithm-specific commands. | |
#define | XDM_ISFATALERROR(x) (((x) >> XDM_FATALERROR) & 0x1) |
#define | XDM_ISUNSUPPORTEDPARAM(x) (((x) >> XDM_UNSUPPORTEDPARAM) & 0x1) |
#define | XDM_ISUNSUPPORTEDINPUT(x) (((x) >> XDM_UNSUPPORTEDINPUT) & 0x1) |
#define | XDM_ISCORRUPTEDHEADER(x) (((x) >> XDM_CORRUPTEDHEADER) & 0x1) |
#define | XDM_ISCORRUPTEDDATA(x) (((x) >> XDM_CORRUPTEDDATA) & 0x1) |
#define | XDM_ISINSUFFICIENTDATA(x) (((x) >> XDM_INSUFFICIENTDATA) & 0x1) |
#define | XDM_ISAPPLIEDCONCEALMENT(x) (((x) >> XDM_APPLIEDCONCEALMENT) & 0x1) |
#define | XDM_SETFATALERROR(x) ((x) |= (0x1 << XDM_FATALERROR)) |
#define | XDM_SETUNSUPPORTEDPARAM(x) ((x) |= (0x1 << XDM_UNSUPPORTEDPARAM)) |
#define | XDM_SETUNSUPPORTEDINPUT(x) ((x) |= (0x1 << XDM_UNSUPPORTEDINPUT)) |
#define | XDM_SETCORRUPTEDHEADER(x) ((x) |= (0x1 << XDM_CORRUPTEDHEADER)) |
#define | XDM_SETCORRUPTEDDATA(x) ((x) |= (0x1 << XDM_CORRUPTEDDATA)) |
#define | XDM_SETINSUFFICIENTDATA(x) ((x) |= (0x1 << XDM_INSUFFICIENTDATA)) |
#define | XDM_SETAPPLIEDCONCEALMENT(x) ((x) |= (0x1 << XDM_APPLIEDCONCEALMENT)) |
#define | XDM_MAX_CONTEXT_BUFFERS 32 |
Maximum number of context buffers. | |
Enumerations | |
enum | XDM_AccessMode { XDM_ACCESSMODE_READ = 0, XDM_ACCESSMODE_WRITE = 1 } |
Access modes used to declare how the algorithm accessed buffers. More... | |
enum | XDM_CmdId { XDM_GETSTATUS = 0, XDM_SETPARAMS = 1, XDM_RESET = 2, XDM_SETDEFAULT = 3, XDM_FLUSH = 4, XDM_GETBUFINFO = 5, XDM_GETVERSION = 6, XDM_GETCONTEXTINFO = 7 } |
Standard control commands that must be implemented by XDM compliant multimedia algorithms. More... | |
enum | XDM_ErrorBit { XDM_PARAMSCHANGE = 8, XDM_APPLIEDCONCEALMENT = 9, XDM_INSUFFICIENTDATA = 10, XDM_CORRUPTEDDATA = 11, XDM_CORRUPTEDHEADER = 12, XDM_UNSUPPORTEDINPUT = 13, XDM_UNSUPPORTEDPARAM = 14, XDM_FATALERROR = 15 } |
Extended error information. More... | |
enum | XDM_DataFormat { XDM_BYTE = 1, XDM_LE_16 = 2, XDM_LE_32 = 3, XDM_LE_64 = 4, XDM_BE_16 = 5, XDM_BE_32 = 6, XDM_BE_64 = 7 } |
Endianness of data. More... | |
enum | XDM_EncodingPreset { XDM_DEFAULT = 0, XDM_HIGH_QUALITY = 1, XDM_HIGH_SPEED = 2, XDM_USER_DEFINED = 3 } |
Encoding presets. More... | |
enum | XDM_DecMode { XDM_DECODE_AU = 0, XDM_PARSE_HEADER = 1 } |
Decode entire access unit or only header. More... | |
enum | XDM_EncMode { XDM_ENCODE_AU = 0, XDM_GENERATE_HEADER = 1 } |
Encode entire access unit or only header. More... | |
enum | XDM_ChromaFormat { XDM_CHROMA_NA = -1, XDM_YUV_420P = 1, XDM_YUV_422P = 2, XDM_YUV_422IBE = 3, XDM_YUV_422ILE = 4, XDM_YUV_444P = 5, XDM_YUV_411P = 6, XDM_GRAY = 7, XDM_RGB = 8, XDM_YUV_420SP = 9, XDM_ARGB8888 = 10, XDM_RGB555 = 11, XDM_RGB565 = 12, XDM_YUV_444ILE = 13, XDM_CHROMAFORMAT_DEFAULT = XDM_YUV_422ILE } |
Chroma formats. More... |
#define XDM_EOK IALG_EOK |
Success.
#define XDM_EFAIL IALG_EFAIL |
General failure.
#define XDM_EUNSUPPORTED -3 |
Request is unsupported.
#define XDM_ERUNTIME -2 |
General runtime failure.
#define XDM_MAX_IO_BUFFERS 16 |
Max I/O Buffers
#define XDM_ISACCESSMODE_READ | ( | x | ) | (((x) >> XDM_ACCESSMODE_READ) & 0x1) |
Check an access mask for CPU read access.
x | access mask. |
#define XDM_ISACCESSMODE_WRITE | ( | x | ) | (((x) >> XDM_ACCESSMODE_WRITE) & 0x1) |
Check an access mask for CPU write access.
x | access mask. |
#define XDM_CLEARACCESSMODE_READ | ( | x | ) | ((x) &= (~(0x1 << XDM_ACCESSMODE_READ))) |
Clear the "CPU read access" bit in an access mask.
x | access mask. |
#define XDM_CLEARACCESSMODE_WRITE | ( | x | ) | ((x) &= (~(0x1 << XDM_ACCESSMODE_WRITE))) |
Clear the "CPU write access" bit in an access mask.
x | access mask. |
#define XDM_SETACCESSMODE_READ | ( | x | ) | ((x) |= (0x1 << XDM_ACCESSMODE_READ)) |
Set the bit to indicate CPU read access in an access mask.
x | access mask. |
#define XDM_SETACCESSMODE_WRITE | ( | x | ) | ((x) |= (0x1 << XDM_ACCESSMODE_WRITE)) |
Set the bit to indicate CPU write access in an access mask.
x | access mask. |
#define XDM_CUSTOMENUMBASE 0x100 |
Base of algorithm-specific enum values.
Custom enumerations should be defined like the following (USERENUM0
and USERENUM1
are simply examples):
#define MYMODULE_MYVENDOR_USERENUM0 (XDM_CUSTOMENUMBASE + 0) #define MYMODULE_MYVENDOR_USERENUM1 (XDM_CUSTOMENUMBASE + 1)
#define XDM_CUSTOMCMDBASE 0x100 |
Base of algorithm-specific commands.
Custom command ID's should be defined like the following (USERCMD0
and USERCMD1
are simply examples):
#define MYMODULE_MYVENDOR_USERCMD0 (XDM_CUSTOMCMDBASE + 0) #define MYMODULE_MYVENDOR_USERCMD1 (XDM_CUSTOMCMDBASE + 1)
#define XDM_ISFATALERROR | ( | x | ) | (((x) >> XDM_FATALERROR) & 0x1) |
Check for fatal error
#define XDM_ISUNSUPPORTEDPARAM | ( | x | ) | (((x) >> XDM_UNSUPPORTEDPARAM) & 0x1) |
Check for unsupported parameter
#define XDM_ISUNSUPPORTEDINPUT | ( | x | ) | (((x) >> XDM_UNSUPPORTEDINPUT) & 0x1) |
Check for unsupported input
#define XDM_ISCORRUPTEDHEADER | ( | x | ) | (((x) >> XDM_CORRUPTEDHEADER) & 0x1) |
Check for corrupted header
#define XDM_ISCORRUPTEDDATA | ( | x | ) | (((x) >> XDM_CORRUPTEDDATA) & 0x1) |
Check for corrupted data
#define XDM_ISINSUFFICIENTDATA | ( | x | ) | (((x) >> XDM_INSUFFICIENTDATA) & 0x1) |
Check for insufficient data
#define XDM_ISAPPLIEDCONCEALMENT | ( | x | ) | (((x) >> XDM_APPLIEDCONCEALMENT) & 0x1) |
Check for applied concealment
#define XDM_SETFATALERROR | ( | x | ) | ((x) |= (0x1 << XDM_FATALERROR)) |
Set fatal error bit
#define XDM_SETUNSUPPORTEDPARAM | ( | x | ) | ((x) |= (0x1 << XDM_UNSUPPORTEDPARAM)) |
Set unsupported parameter bit
#define XDM_SETUNSUPPORTEDINPUT | ( | x | ) | ((x) |= (0x1 << XDM_UNSUPPORTEDINPUT)) |
Set unsupported input bit
#define XDM_SETCORRUPTEDHEADER | ( | x | ) | ((x) |= (0x1 << XDM_CORRUPTEDHEADER)) |
Set corrupted header bit
#define XDM_SETCORRUPTEDDATA | ( | x | ) | ((x) |= (0x1 << XDM_CORRUPTEDDATA)) |
Set corrupted data bit
#define XDM_SETINSUFFICIENTDATA | ( | x | ) | ((x) |= (0x1 << XDM_INSUFFICIENTDATA)) |
Set insufficient data bit
#define XDM_SETAPPLIEDCONCEALMENT | ( | x | ) | ((x) |= (0x1 << XDM_APPLIEDCONCEALMENT)) |
Set applied concealment bit
#define XDM_MAX_CONTEXT_BUFFERS 32 |
Maximum number of context buffers.
enum XDM_AccessMode |
Access modes used to declare how the algorithm accessed buffers.
The value of the enum is the bit offset into a mask. The value of the enum is not the value to assign the mask.
This enumeration data type should not be used for storage, but rather only for its constant values.
enum XDM_CmdId |
Standard control commands that must be implemented by XDM compliant multimedia algorithms.
XDM_GETCONTEXTINFO need only be implemented by split codecs. Standard algorithms should return EUNSUPPORTED if they receive the XDM_GETCONTEXTINFO command.
Any control ID extension in IMOD interface should start from XDM_CUSTOMCMDBASE onward. The ID range from 0 to XDM_CUSTOMCMDBASE is reserved.
This enumeration data type should not be used for storage, but rather only for its constant values.
enum XDM_ErrorBit |
Extended error information.
The value of each enum is the bit which is set.
Bits 31-16 are reserved. Bits 7-0 are codec and implementation specific.
The algorithm can set multiple bits to 1 based on conditions. e.g. it will set bits XDM_FATALERROR (fatal) and XDM_UNSUPPORTEDPARAM (unsupported params) in case of unsupported run time parameters.
This enumeration data type should not be used for storage, but rather only for its constant values.
enum XDM_DataFormat |
Endianness of data.
This enumeration defines a base set of values. Algorithms which require proprietary enumeration values may define them - much like extended fields in base structures. These extended enums should be between XDM_CUSTOMENUMBASE and 0x7FFF.
enum XDM_EncodingPreset |
Encoding presets.
This enumeration defines a base set of values. Algorithms which require proprietary enumeration values may define them - much like extended fields in base structures. These extended enums should be between XDM_CUSTOMENUMBASE and 0x7FFF.
enum XDM_DecMode |
Decode entire access unit or only header.
This enumeration defines a base set of values. Algorithms which require proprietary enumeration values may define them - much like extended fields in base structures. These extended enums should be between XDM_CUSTOMENUMBASE and 0x7FFF.
enum XDM_EncMode |
Encode entire access unit or only header.
This enumeration defines a base set of values. Algorithms which require proprietary enumeration values may define them - much like extended fields in base structures. These extended enums should be between XDM_CUSTOMENUMBASE and 0x7FFF.
enum XDM_ChromaFormat |
Chroma formats.
This enumeration defines a base set of values. Algorithms which require proprietary enumeration values may define them - much like extended fields in base structures. These extended enums should be between XDM_CUSTOMENUMBASE and 0x7FFF.