annotate codec-cfg.h @ 4801:3e011ae799fa

added linux devfs support (for oss), original patch by Olaf Kohler <thorin@yifan.net>
author alex
date Fri, 22 Feb 2002 13:47:31 +0000
parents d8a577a52437
children 4a6dde59834c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
297
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
1 #ifndef __CODEC_CFG_H
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
2 #define __CODEC_CFG_H
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
3
4216
ffb8428f39e2 fix for Xwid (exceed 16 fourcc)
nexus
parents: 3969
diff changeset
4 #define CODECS_MAX_FOURCC 32
4675
d8a577a52437 added informat support (for encoding)
alex
parents: 4656
diff changeset
5 #define CODECS_MAX_OUTFMT 16
d8a577a52437 added informat support (for encoding)
alex
parents: 4656
diff changeset
6 #define CODECS_MAX_INFMT 16
297
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
7
303
828ec81e0d64 codecs.conf support
arpi_esp
parents: 300
diff changeset
8 // Global flags:
328
fc98b6c3a3dc lots of changes again
szabii
parents: 319
diff changeset
9 #define CODECS_FLAG_SEEKABLE (1<<0)
297
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
10
303
828ec81e0d64 codecs.conf support
arpi_esp
parents: 300
diff changeset
11 // Outfmt flags:
299
3343fb3e4f49 outflags[] reading fixed
arpi_esp
parents: 297
diff changeset
12 #define CODECS_FLAG_FLIP (1<<0)
3343fb3e4f49 outflags[] reading fixed
arpi_esp
parents: 297
diff changeset
13 #define CODECS_FLAG_NOFLIP (1<<1)
3343fb3e4f49 outflags[] reading fixed
arpi_esp
parents: 297
diff changeset
14 #define CODECS_FLAG_YUVHACK (1<<2)
3343fb3e4f49 outflags[] reading fixed
arpi_esp
parents: 297
diff changeset
15
316
589a93489054 status added
szabii
parents: 303
diff changeset
16 #define CODECS_STATUS_NOT_WORKING 0
589a93489054 status added
szabii
parents: 303
diff changeset
17 #define CODECS_STATUS_UNTESTED -1
589a93489054 status added
szabii
parents: 303
diff changeset
18 #define CODECS_STATUS_PROBLEMS 1
589a93489054 status added
szabii
parents: 303
diff changeset
19 #define CODECS_STATUS_WORKING 2
589a93489054 status added
szabii
parents: 303
diff changeset
20
1410
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
21 // Codec family/driver:
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
22 #define AFM_MPEG 1
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
23 #define AFM_PCM 2
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
24 #define AFM_AC3 3
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
25 #define AFM_ACM 4
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
26 #define AFM_ALAW 5
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
27 #define AFM_GSM 6
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
28 #define AFM_DSHOW 7
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
29 #define AFM_DVDPCM 8
1528
a444bd456fcc ac3/spdif patch by German Gomez Garcia <german@piraos.com>
arpi
parents: 1488
diff changeset
30 #define AFM_HWAC3 9
1828
60afe3421c04 OggVorbis support, ALPHA state!
atmos4
parents: 1528
diff changeset
31 #define AFM_VORBIS 10
1929
af7b3e83d47b added ffmpeg audio driver
arpi
parents: 1836
diff changeset
32 #define AFM_FFMPEG 11
2415
58ea110b4036 libmad (ARM) patch by jeroen.dobbelaere@acunia.com
arpi
parents: 2379
diff changeset
33 #define AFM_MAD 12
3787
55603340d1b2 implemented open source MS ADPCM decoder
melanson
parents: 3756
diff changeset
34 #define AFM_MSADPCM 13
3400
c91d9c4512c5 g72x and a52 added
arpi
parents: 3172
diff changeset
35 #define AFM_A52 14
c91d9c4512c5 g72x and a52 added
arpi
parents: 3172
diff changeset
36 #define AFM_G72X 15
3787
55603340d1b2 implemented open source MS ADPCM decoder
melanson
parents: 3756
diff changeset
37 #define AFM_IMAADPCM 16
3933
60db4273246d added initial support for format 0x61 ADPCM (sounds good, but still pops)
melanson
parents: 3826
diff changeset
38 #define AFM_FOX61ADPCM 17
60db4273246d added initial support for format 0x61 ADPCM (sounds good, but still pops)
melanson
parents: 3826
diff changeset
39 #define AFM_FOX62ADPCM 18
4450
3da8c5706371 added skeleton decoders for RoQ audio and video format decoders
melanson
parents: 4301
diff changeset
40 #define AFM_ROQAUDIO 19
1410
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
41
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
42 #define VFM_MPEG 1
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
43 #define VFM_VFW 2
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
44 #define VFM_ODIVX 3
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
45 #define VFM_DSHOW 4
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
46 #define VFM_FFMPEG 5
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
47 #define VFM_VFWEX 6
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
48 #define VFM_DIVX4 7
1488
70652cb8c402 raw (uncompressed) video codec
arpi
parents: 1410
diff changeset
49 #define VFM_RAW 8
1948
e0cc7b7290ec native codec 'rle' added
arpi
parents: 1929
diff changeset
50 #define VFM_RLE 9
2379
8a821809659d xanim added
arpi
parents: 2310
diff changeset
51 #define VFM_XANIM 10
2827
b4d46817f050 ms video1 (cram) codecs by Mike Melanson <melanson@pcisys.net>
arpi
parents: 2422
diff changeset
52 #define VFM_MSVIDC 11
3172
bb38b6b072f8 support for FLI image decoding
melanson
parents: 2827
diff changeset
53 #define VFM_FLI 12
3643
fb9fd7e2dd35 native opensourec Cinepak (CVID) codec by im Ferguson <timf@mail.csse.monash.edu.au>
arpi
parents: 3400
diff changeset
54 #define VFM_CINEPAK 13
3687
7fb817c9060b This commit adds initial support for Quicktime Animation (RLE) video. It
melanson
parents: 3667
diff changeset
55 #define VFM_QTRLE 14
3804
53ed66a4f0bf NuppelVideo decoder added, based on Panagiotis Issaris' patch
alex
parents: 3798
diff changeset
56 #define VFM_NUV 15
3969
c4c3f32dae47 integrated Tim Ferguson's native CYUV decoder
melanson
parents: 3933
diff changeset
57 #define VFM_CYUV 16
4227
4b652eac6738 added skeleton for QT SMC decoder
melanson
parents: 4216
diff changeset
58 #define VFM_QTSMC 17
4301
8f43b10f387f added skeleton for Duck Truemotion v1 decoder (doesn't do anything yet)
melanson
parents: 4227
diff changeset
59 #define VFM_DUCKTM1 18
4450
3da8c5706371 added skeleton decoders for RoQ audio and video format decoders
melanson
parents: 4301
diff changeset
60 #define VFM_ROQVIDEO 19
4615
b1fe5f58cd82 Added native codec support for QT RPZA data, courtesy of Roberto Togni
melanson
parents: 4450
diff changeset
61 #define VFM_QTRPZA 20
4656
04880518728d add initial mPNG support
pontscho
parents: 4615
diff changeset
62 #define VFM_MPNG 21
299
3343fb3e4f49 outflags[] reading fixed
arpi_esp
parents: 297
diff changeset
63
1836
7c1671842ee7 GUID fix
arpi
parents: 1828
diff changeset
64 #ifndef GUID_TYPE
7c1671842ee7 GUID fix
arpi
parents: 1828
diff changeset
65 #define GUID_TYPE
297
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
66 typedef struct {
300
df3f7a25584c audio format support, realloc() cleanup
arpi_esp
parents: 299
diff changeset
67 unsigned long f1;
df3f7a25584c audio format support, realloc() cleanup
arpi_esp
parents: 299
diff changeset
68 unsigned short f2;
df3f7a25584c audio format support, realloc() cleanup
arpi_esp
parents: 299
diff changeset
69 unsigned short f3;
df3f7a25584c audio format support, realloc() cleanup
arpi_esp
parents: 299
diff changeset
70 unsigned char f4[8];
297
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
71 } GUID;
1836
7c1671842ee7 GUID fix
arpi
parents: 1828
diff changeset
72 #endif
7c1671842ee7 GUID fix
arpi
parents: 1828
diff changeset
73
297
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
74
2310
9e059416eea6 libdemuxer...
arpi
parents: 1983
diff changeset
75 typedef struct codecs_st {
316
589a93489054 status added
szabii
parents: 303
diff changeset
76 unsigned int fourcc[CODECS_MAX_FOURCC];
589a93489054 status added
szabii
parents: 303
diff changeset
77 unsigned int fourccmap[CODECS_MAX_FOURCC];
589a93489054 status added
szabii
parents: 303
diff changeset
78 unsigned int outfmt[CODECS_MAX_OUTFMT];
589a93489054 status added
szabii
parents: 303
diff changeset
79 unsigned char outflags[CODECS_MAX_OUTFMT];
4675
d8a577a52437 added informat support (for encoding)
alex
parents: 4656
diff changeset
80 unsigned int infmt[CODECS_MAX_INFMT];
d8a577a52437 added informat support (for encoding)
alex
parents: 4656
diff changeset
81 unsigned char inflags[CODECS_MAX_INFMT];
297
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
82 char *name;
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
83 char *info;
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
84 char *comment;
316
589a93489054 status added
szabii
parents: 303
diff changeset
85 char *dll;
589a93489054 status added
szabii
parents: 303
diff changeset
86 GUID guid;
297
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
87 short driver;
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
88 short flags;
316
589a93489054 status added
szabii
parents: 303
diff changeset
89 short status;
361
3e0c68209600 dunno :)
szabii
parents: 332
diff changeset
90 short cpuflags;
3667
ec943f8ec439 add support for priotity <int> in codecs.conf, higher numbers are better
atmos4
parents: 3643
diff changeset
91 short priority;
297
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
92 } codecs_t;
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
93
3798
d1e3ad5bcd8f fixed few segfaults, make parse_codec_cfg() return int
iive
parents: 3787
diff changeset
94 int parse_codec_cfg(char *cfgfile);
332
a5c6f9d536dd find_codec() modified
szabii
parents: 328
diff changeset
95 codecs_t* find_video_codec(unsigned int fourcc, unsigned int *fourccmap, codecs_t *start);
a5c6f9d536dd find_codec() modified
szabii
parents: 328
diff changeset
96 codecs_t* find_audio_codec(unsigned int fourcc, unsigned int *fourccmap, codecs_t *start);
a5c6f9d536dd find_codec() modified
szabii
parents: 328
diff changeset
97 codecs_t* find_codec(unsigned int fourcc,unsigned int *fourccmap,codecs_t *start,int audioflag);
1983
72f0648df475 -ac help / -vc help
arpi
parents: 1948
diff changeset
98 void list_codecs(int audioflag);
297
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
99
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
100 #endif