Mercurial > mplayer.hg
annotate codec-cfg.h @ 3756:734d0c0a8ab0
Initial support for unified ADPCM decoder
author | melanson |
---|---|
date | Wed, 26 Dec 2001 06:13:17 +0000 |
parents | 7fb817c9060b |
children | 55603340d1b2 |
rev | line source |
---|---|
297 | 1 #ifndef __CODEC_CFG_H |
2 #define __CODEC_CFG_H | |
3 | |
4 #define CODECS_MAX_FOURCC 16 | |
5 #define CODECS_MAX_OUTFMT 16 | |
6 | |
303 | 7 // Global flags: |
328 | 8 #define CODECS_FLAG_SEEKABLE (1<<0) |
297 | 9 |
303 | 10 // Outfmt flags: |
299 | 11 #define CODECS_FLAG_FLIP (1<<0) |
12 #define CODECS_FLAG_NOFLIP (1<<1) | |
13 #define CODECS_FLAG_YUVHACK (1<<2) | |
14 | |
316 | 15 #define CODECS_STATUS_NOT_WORKING 0 |
16 #define CODECS_STATUS_UNTESTED -1 | |
17 #define CODECS_STATUS_PROBLEMS 1 | |
18 #define CODECS_STATUS_WORKING 2 | |
19 | |
1410
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
20 // Codec family/driver: |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
21 #define AFM_MPEG 1 |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
22 #define AFM_PCM 2 |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
23 #define AFM_AC3 3 |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
24 #define AFM_ACM 4 |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
25 #define AFM_ALAW 5 |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
26 #define AFM_GSM 6 |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
27 #define AFM_DSHOW 7 |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
28 #define AFM_DVDPCM 8 |
1528
a444bd456fcc
ac3/spdif patch by German Gomez Garcia <german@piraos.com>
arpi
parents:
1488
diff
changeset
|
29 #define AFM_HWAC3 9 |
1828 | 30 #define AFM_VORBIS 10 |
1929 | 31 #define AFM_FFMPEG 11 |
2415 | 32 #define AFM_MAD 12 |
2422 | 33 #define AFM_IMA4 13 |
3400 | 34 #define AFM_A52 14 |
35 #define AFM_G72X 15 | |
3756 | 36 #define AFM_ADPCM 16 |
1410
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
37 |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
38 #define VFM_MPEG 1 |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
39 #define VFM_VFW 2 |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
40 #define VFM_ODIVX 3 |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
41 #define VFM_DSHOW 4 |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
42 #define VFM_FFMPEG 5 |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
43 #define VFM_VFWEX 6 |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
44 #define VFM_DIVX4 7 |
1488 | 45 #define VFM_RAW 8 |
1948 | 46 #define VFM_RLE 9 |
2379 | 47 #define VFM_XANIM 10 |
2827
b4d46817f050
ms video1 (cram) codecs by Mike Melanson <melanson@pcisys.net>
arpi
parents:
2422
diff
changeset
|
48 #define VFM_MSVIDC 11 |
3172 | 49 #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
|
50 #define VFM_CINEPAK 13 |
3687
7fb817c9060b
This commit adds initial support for Quicktime Animation (RLE) video. It
melanson
parents:
3667
diff
changeset
|
51 #define VFM_QTRLE 14 |
299 | 52 |
1836 | 53 #ifndef GUID_TYPE |
54 #define GUID_TYPE | |
297 | 55 typedef struct { |
300 | 56 unsigned long f1; |
57 unsigned short f2; | |
58 unsigned short f3; | |
59 unsigned char f4[8]; | |
297 | 60 } GUID; |
1836 | 61 #endif |
62 | |
297 | 63 |
2310 | 64 typedef struct codecs_st { |
316 | 65 unsigned int fourcc[CODECS_MAX_FOURCC]; |
66 unsigned int fourccmap[CODECS_MAX_FOURCC]; | |
67 unsigned int outfmt[CODECS_MAX_OUTFMT]; | |
68 unsigned char outflags[CODECS_MAX_OUTFMT]; | |
297 | 69 char *name; |
70 char *info; | |
71 char *comment; | |
316 | 72 char *dll; |
73 GUID guid; | |
297 | 74 short driver; |
75 short flags; | |
316 | 76 short status; |
361 | 77 short cpuflags; |
3667
ec943f8ec439
add support for priotity <int> in codecs.conf, higher numbers are better
atmos4
parents:
3643
diff
changeset
|
78 short priority; |
297 | 79 } codecs_t; |
80 | |
328 | 81 codecs_t** parse_codec_cfg(char *cfgfile); |
332 | 82 codecs_t* find_video_codec(unsigned int fourcc, unsigned int *fourccmap, codecs_t *start); |
83 codecs_t* find_audio_codec(unsigned int fourcc, unsigned int *fourccmap, codecs_t *start); | |
84 codecs_t* find_codec(unsigned int fourcc,unsigned int *fourccmap,codecs_t *start,int audioflag); | |
1983 | 85 void list_codecs(int audioflag); |
297 | 86 |
87 #endif |