/**************************************************************************** * * Module Title : codec_common_if.h * * Description : Common codec definitions. * ****************************************************************************/ #ifndef __INC_CODEC_COMMON_INTERFACE_H #define __INC_CODEC_COMMON_INTERFACE_H /**************************************************************************** * Macros ****************************************************************************/ #define __export #define _export #define DllExport __declspec( dllexport ) #define DllImport __declspec( dllimport ) // Playback error codes #define NO_DECODER_ERROR 0 #define REMOTE_DECODER_ERROR -1 #define DFR_BAD_DCT_COEFF -100 #define DFR_ZERO_LENGTH_FRAME -101 #define DFR_FRAME_SIZE_INVALID -102 #define DFR_OUTPUT_BUFFER_OVERFLOW -103 #define DFR_INVALID_FRAME_HEADER -104 #define FR_INVALID_MODE_TOKEN -110 #define ETR_ALLOCATION_ERROR -200 #define ETR_INVALID_ROOT_PTR -201 #define SYNCH_ERROR -400 #define BUFFER_UNDERFLOW_ERROR -500 #define PB_IB_OVERFLOW_ERROR -501 // External error triggers #define PB_HEADER_CHECKSUM_ERROR -601 #define PB_DATA_CHECKSUM_ERROR -602 // DCT Error Codes #define DDCT_EXPANSION_ERROR -700 #define DDCT_INVALID_TOKEN_ERROR -701 // ExceptionErrors #define GEN_EXCEPTIONS -800 #define EX_UNQUAL_ERROR -801 // Unrecoverable error codes #define FATAL_PLAYBACK_ERROR -1000 #define GEN_ERROR_CREATING_CDC -1001 #define GEN_THREAD_CREATION_ERROR -1002 #define DFR_CREATE_BMP_FAILED -1003 /**************************************************************************** * Typedefs ****************************************************************************/ typedef struct // YUV buffer configuration structure { int YWidth; int YHeight; int YStride; int UVWidth; int UVHeight; int UVStride; char *YBuffer; char *UBuffer; char *VBuffer; } YUV_BUFFER_CONFIG; typedef enum { C_SET_KEY_FRAME, C_SET_FIXED_Q, C_SET_FIRSTPASS_FILE, C_SET_EXPERIMENTAL_MIN, C_SET_EXPERIMENTAL_MAX = C_SET_EXPERIMENTAL_MIN + 255, C_SET_CHECKPROTECT, C_SET_TESTMODE, C_SET_INTERNAL_SIZE, C_SET_RECOVERY_FRAME, C_SET_REFERENCEFRAME, C_SET_GOLDENFRAME } C_SETTING; typedef enum { MAINTAIN_ASPECT_RATIO = 0x0, SCALE_TO_FIT = 0x1, CENTER = 0x2, OTHER = 0x3 } SCALE_MODE; #endif