mirror of
https://github.com/WinampDesktop/winamp.git
synced 2024-11-28 09:40:48 +01:00
96 lines
2.5 KiB
C
96 lines
2.5 KiB
C
|
/****************************************************************************
|
||
|
*
|
||
|
* 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
|