diff options
author | alex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2004-12-27 17:30:15 +0000 |
---|---|---|
committer | alex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2004-12-27 17:30:15 +0000 |
commit | 507121f7fe2d170dd8db99d3112602036ddef718 (patch) | |
tree | 38b26e115cfadde356b005496286f78307839440 /libaf/af_format.h | |
parent | 00f99a82a8f57573e3e6982cf9d014c9b9d8a68b (diff) | |
download | mpv-507121f7fe2d170dd8db99d3112602036ddef718.tar.bz2 mpv-507121f7fe2d170dd8db99d3112602036ddef718.tar.xz |
removing AFMT_ dependancy
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14246 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libaf/af_format.h')
-rw-r--r-- | libaf/af_format.h | 70 |
1 files changed, 61 insertions, 9 deletions
diff --git a/libaf/af_format.h b/libaf/af_format.h index f7b2a15b16..82eac84817 100644 --- a/libaf/af_format.h +++ b/libaf/af_format.h @@ -1,6 +1,8 @@ /* The sample format system used lin libaf is based on bitmasks. The format definition only refers to the storage format not the resolution. */ +#ifndef __af_format_h__ +#define __af_format_h__ // Endianess #define AF_FORMAT_BE (0<<0) // Big Endian @@ -14,8 +16,8 @@ #endif // Signed/unsigned -#define AF_FORMAT_SI (0<<1) // SIgned -#define AF_FORMAT_US (1<<1) // Un Signed +#define AF_FORMAT_SI (0<<1) // Signed +#define AF_FORMAT_US (1<<1) // Unsigned #define AF_FORMAT_SIGN_MASK (1<<1) // Fixed or floating point @@ -23,13 +25,63 @@ #define AF_FORMAT_F (1<<2) // Foating point #define AF_FORMAT_POINT_MASK (1<<2) +// Bits used +#define AF_FORMAT_8BIT (0<<3) +#define AF_FORMAT_16BIT (1<<3) +#define AF_FORMAT_24BIT (2<<3) +#define AF_FORMAT_32BIT (3<<3) +#define AF_FORMAT_40BIT (4<<3) +#define AF_FORMAT_48BIT (5<<3) +#define AF_FORMAT_BITS_MASK (7<<3) + // Special flags refering to non pcm data -#define AF_FORMAT_MU_LAW (1<<3) // -#define AF_FORMAT_A_LAW (2<<3) // -#define AF_FORMAT_MPEG2 (3<<3) // MPEG(2) audio -#define AF_FORMAT_AC3 (4<<3) // Dolby Digital AC3 -#define AF_FORMAT_IMA_ADPCM AF_FORMAT_LE|AF_FORMAT_SI // Same as 16 bit signed int -#define AF_FORMAT_SPECIAL_MASK (7<<3) +#define AF_FORMAT_MU_LAW (1<<6) +#define AF_FORMAT_A_LAW (2<<6) +#define AF_FORMAT_MPEG2 (3<<6) // MPEG(2) audio +#define AF_FORMAT_AC3 (4<<6) // Dolby Digital AC3 +#define AF_FORMAT_IMA_ADPCM (5<<6) +#define AF_FORMAT_SPECIAL_MASK (7<<6) + +// PREDEFINED formats + +#define AF_FORMAT_U8 (AF_FORMAT_I|AF_FORMAT_US|AF_FORMAT_8BIT|AF_FORMAT_NE) +#define AF_FORMAT_S8 (AF_FORMAT_I|AF_FORMAT_SI|AF_FORMAT_8BIT|AF_FORMAT_NE) +#define AF_FORMAT_U16_LE (AF_FORMAT_I|AF_FORMAT_US|AF_FORMAT_16BIT|AF_FORMAT_LE) +#define AF_FORMAT_U16_BE (AF_FORMAT_I|AF_FORMAT_US|AF_FORMAT_16BIT|AF_FORMAT_BE) +#define AF_FORMAT_S16_LE (AF_FORMAT_I|AF_FORMAT_SI|AF_FORMAT_16BIT|AF_FORMAT_LE) +#define AF_FORMAT_S16_BE (AF_FORMAT_I|AF_FORMAT_SI|AF_FORMAT_16BIT|AF_FORMAT_BE) +#define AF_FORMAT_U24_LE (AF_FORMAT_I|AF_FORMAT_US|AF_FORMAT_24BIT|AF_FORMAT_LE) +#define AF_FORMAT_U24_BE (AF_FORMAT_I|AF_FORMAT_US|AF_FORMAT_24BIT|AF_FORMAT_BE) +#define AF_FORMAT_S24_LE (AF_FORMAT_I|AF_FORMAT_SI|AF_FORMAT_24BIT|AF_FORMAT_LE) +#define AF_FORMAT_S24_BE (AF_FORMAT_I|AF_FORMAT_SI|AF_FORMAT_24BIT|AF_FORMAT_BE) +#define AF_FORMAT_U32_LE (AF_FORMAT_I|AF_FORMAT_US|AF_FORMAT_32BIT|AF_FORMAT_LE) +#define AF_FORMAT_U32_BE (AF_FORMAT_I|AF_FORMAT_US|AF_FORMAT_32BIT|AF_FORMAT_BE) +#define AF_FORMAT_S32_LE (AF_FORMAT_I|AF_FORMAT_SI|AF_FORMAT_32BIT|AF_FORMAT_LE) +#define AF_FORMAT_S32_BE (AF_FORMAT_I|AF_FORMAT_SI|AF_FORMAT_32BIT|AF_FORMAT_BE) + +#define AF_FORMAT_FLOAT_LE (AF_FORMAT_F|AF_FORMAT_32BIT|AF_FORMAT_LE) +#define AF_FORMAT_FLOAT_BE (AF_FORMAT_F|AF_FORMAT_32BIT|AF_FORMAT_BE) + +#ifdef WORDS_BIGENDIAN +#define AF_FORMAT_U16_NE AF_FORMAT_U16_BE +#define AF_FORMAT_S16_NE AF_FORMAT_S16_BE +#define AF_FORMAT_U24_NE AF_FORMAT_U24_BE +#define AF_FORMAT_S24_NE AF_FORMAT_S24_BE +#define AF_FORMAT_U32_NE AF_FORMAT_U32_BE +#define AF_FORMAT_S32_NE AF_FORMAT_S32_BE +#define AF_FORMAT_FLOAT_NE AF_FORMAT_FLOAT_BE +#else +#define AF_FORMAT_U16_NE AF_FORMAT_U16_LE +#define AF_FORMAT_S16_NE AF_FORMAT_S16_LE +#define AF_FORMAT_U24_NE AF_FORMAT_U24_LE +#define AF_FORMAT_S24_NE AF_FORMAT_S24_LE +#define AF_FORMAT_U32_NE AF_FORMAT_U32_LE +#define AF_FORMAT_S32_NE AF_FORMAT_S32_LE +#define AF_FORMAT_FLOAT_NE AF_FORMAT_FLOAT_LE +#endif -extern char* fmt2str(int format, char* str, size_t size); +extern int af_str2fmt(char *str); +extern int af_fmt2bits(int format); +extern char* af_fmt2str(int format, char* str, int size); +#endif /* __af_format_h__ */ |