annotate libaf/af_format.h @ 13394:455a5056801f

New generic 'portable anymap' video output driver. It supports portable pixmaps and graymaps in both raw and ASCII mode. Besides PPM and PGM, it can also output PGMYUV files which are PGM files with the U and V plane appended to the bottom of the Y image (bottom left and bottom right). All files can be written to the current directory, to a specified output directory or to multiple subdirectories if the filesystem can't handle the amount of files in one directory anymore. Note: This driver is not yet activated and will not be compiled and linked to libvo. A separate patch will take care of that. This is just for adding the file to the repository.
author ivo
date Mon, 20 Sep 2004 00:54:57 +0000
parents 06d7ef3c7b01
children 81e62cbe57d9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8167
e8832e66babd New features:
anders
parents:
diff changeset
1 /* The sample format system used lin libaf is based on bitmasks. The
e8832e66babd New features:
anders
parents:
diff changeset
2 format definition only refers to the storage format not the
e8832e66babd New features:
anders
parents:
diff changeset
3 resolution. */
e8832e66babd New features:
anders
parents:
diff changeset
4
e8832e66babd New features:
anders
parents:
diff changeset
5 // Endianess
e8832e66babd New features:
anders
parents:
diff changeset
6 #define AF_FORMAT_BE (0<<0) // Big Endian
e8832e66babd New features:
anders
parents:
diff changeset
7 #define AF_FORMAT_LE (1<<0) // Little Endian
e8832e66babd New features:
anders
parents:
diff changeset
8 #define AF_FORMAT_END_MASK (1<<0)
e8832e66babd New features:
anders
parents:
diff changeset
9
e8832e66babd New features:
anders
parents:
diff changeset
10 #if WORDS_BIGENDIAN // Native endian of cpu
e8832e66babd New features:
anders
parents:
diff changeset
11 #define AF_FORMAT_NE AF_FORMAT_BE
e8832e66babd New features:
anders
parents:
diff changeset
12 #else
e8832e66babd New features:
anders
parents:
diff changeset
13 #define AF_FORMAT_NE AF_FORMAT_LE
e8832e66babd New features:
anders
parents:
diff changeset
14 #endif
e8832e66babd New features:
anders
parents:
diff changeset
15
e8832e66babd New features:
anders
parents:
diff changeset
16 // Signed/unsigned
e8832e66babd New features:
anders
parents:
diff changeset
17 #define AF_FORMAT_SI (0<<1) // SIgned
e8832e66babd New features:
anders
parents:
diff changeset
18 #define AF_FORMAT_US (1<<1) // Un Signed
e8832e66babd New features:
anders
parents:
diff changeset
19 #define AF_FORMAT_SIGN_MASK (1<<1)
e8832e66babd New features:
anders
parents:
diff changeset
20
e8832e66babd New features:
anders
parents:
diff changeset
21 // Fixed of floating point
e8832e66babd New features:
anders
parents:
diff changeset
22 #define AF_FORMAT_I (0<<2) // Int
e8832e66babd New features:
anders
parents:
diff changeset
23 #define AF_FORMAT_F (1<<2) // Foating point
e8832e66babd New features:
anders
parents:
diff changeset
24 #define AF_FORMAT_POINT_MASK (1<<2)
e8832e66babd New features:
anders
parents:
diff changeset
25
e8832e66babd New features:
anders
parents:
diff changeset
26 // Special flags refering to non pcm data
e8832e66babd New features:
anders
parents:
diff changeset
27 #define AF_FORMAT_MU_LAW (1<<3) //
e8832e66babd New features:
anders
parents:
diff changeset
28 #define AF_FORMAT_A_LAW (2<<3) //
e8832e66babd New features:
anders
parents:
diff changeset
29 #define AF_FORMAT_MPEG2 (3<<3) // MPEG(2) audio
e8832e66babd New features:
anders
parents:
diff changeset
30 #define AF_FORMAT_AC3 (4<<3) // Dolby Digital AC3
e8832e66babd New features:
anders
parents:
diff changeset
31 #define AF_FORMAT_IMA_ADPCM AF_FORMAT_LE|AF_FORMAT_SI // Same as 16 bit signed int
e8832e66babd New features:
anders
parents:
diff changeset
32 #define AF_FORMAT_SPECIAL_MASK (7<<3)
8994
06d7ef3c7b01 export fmt2str()
arpi
parents: 8167
diff changeset
33
06d7ef3c7b01 export fmt2str()
arpi
parents: 8167
diff changeset
34 extern char* fmt2str(int format, char* str, size_t size);
06d7ef3c7b01 export fmt2str()
arpi
parents: 8167
diff changeset
35