Mercurial > mplayer.hg
annotate codec-cfg.h @ 6772:8a816f073707
Configuration files documented.
author | diego |
---|---|
date | Tue, 23 Jul 2002 20:10:39 +0000 |
parents | 522713337297 |
children | 0145bba6e201 |
rev | line source |
---|---|
297 | 1 #ifndef __CODEC_CFG_H |
2 #define __CODEC_CFG_H | |
3 | |
6565 | 4 #define CODEC_CFG_MIN 20020626 |
6200
e604be87613d
codecs.conf versioning - patch by Joey Parrish <joey@yunamusic.com>
arpi
parents:
6103
diff
changeset
|
5 |
4216 | 6 #define CODECS_MAX_FOURCC 32 |
4675 | 7 #define CODECS_MAX_OUTFMT 16 |
8 #define CODECS_MAX_INFMT 16 | |
297 | 9 |
303 | 10 // Global flags: |
328 | 11 #define CODECS_FLAG_SEEKABLE (1<<0) |
6565 | 12 #define CODECS_FLAG_ALIGN16 (1<<1) |
5325
9c326f199060
tagging selected codec to avoid trying the same codec several times
arpi
parents:
5263
diff
changeset
|
13 #define CODECS_FLAG_SELECTED (1<<15) /* for internal use */ |
297 | 14 |
303 | 15 // Outfmt flags: |
299 | 16 #define CODECS_FLAG_FLIP (1<<0) |
17 #define CODECS_FLAG_NOFLIP (1<<1) | |
18 #define CODECS_FLAG_YUVHACK (1<<2) | |
5249 | 19 #define CODECS_FLAG_QUERY (1<<3) |
6103 | 20 #define CODECS_FLAG_STATIC (1<<4) |
299 | 21 |
5177 | 22 #define CODECS_STATUS__MIN 0 |
23 #define CODECS_STATUS_NOT_WORKING -1 | |
24 #define CODECS_STATUS_PROBLEMS 0 | |
25 #define CODECS_STATUS_WORKING 1 | |
26 #define CODECS_STATUS_UNTESTED 2 | |
27 #define CODECS_STATUS__MAX 2 | |
316 | 28 |
1410
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
29 // Codec family/driver: |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
30 #define AFM_MPEG 1 |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
31 #define AFM_PCM 2 |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
32 #define AFM_AC3 3 |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
33 #define AFM_ACM 4 |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
34 #define AFM_ALAW 5 |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
35 #define AFM_GSM 6 |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
36 #define AFM_DSHOW 7 |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
37 #define AFM_DVDPCM 8 |
1528
a444bd456fcc
ac3/spdif patch by German Gomez Garcia <german@piraos.com>
arpi
parents:
1488
diff
changeset
|
38 #define AFM_HWAC3 9 |
1828 | 39 #define AFM_VORBIS 10 |
1929 | 40 #define AFM_FFMPEG 11 |
2415 | 41 #define AFM_MAD 12 |
3787 | 42 #define AFM_MSADPCM 13 |
3400 | 43 #define AFM_A52 14 |
44 #define AFM_G72X 15 | |
3787 | 45 #define AFM_IMAADPCM 16 |
4854
4a6dde59834c
fixed, strengthened, rewrote, and renamed a variety of the ADPCM decoders
melanson
parents:
4675
diff
changeset
|
46 #define AFM_DK4ADPCM 17 |
4a6dde59834c
fixed, strengthened, rewrote, and renamed a variety of the ADPCM decoders
melanson
parents:
4675
diff
changeset
|
47 #define AFM_DK3ADPCM 18 |
4450
3da8c5706371
added skeleton decoders for RoQ audio and video format decoders
melanson
parents:
4301
diff
changeset
|
48 #define AFM_ROQAUDIO 19 |
5190
59df6b778d78
Beta AAC decoding support, seeking totally broken yet, add philipps mpeg4 video in qt to ffmpeg4 although it's still buggy in decoding
atmos4
parents:
5177
diff
changeset
|
49 #define AFM_AAC 20 |
6343
d253cf4f43a9
realvideo support by Florian Schneider <flo-mplayer-dev@gmx.net>
arpi
parents:
6200
diff
changeset
|
50 #define AFM_REAL 21 |
1410
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
51 |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
52 #define VFM_MPEG 1 |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
53 #define VFM_VFW 2 |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
54 #define VFM_ODIVX 3 |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
55 #define VFM_DSHOW 4 |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
56 #define VFM_FFMPEG 5 |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
57 #define VFM_VFWEX 6 |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
58 #define VFM_DIVX4 7 |
1488 | 59 #define VFM_RAW 8 |
5193
abea2deab4d6
MPlayer now has a Microsoft RLE decoder to call its own...only supports
melanson
parents:
5190
diff
changeset
|
60 #define VFM_MSRLE 9 |
2379 | 61 #define VFM_XANIM 10 |
2827
b4d46817f050
ms video1 (cram) codecs by Mike Melanson <melanson@pcisys.net>
arpi
parents:
2422
diff
changeset
|
62 #define VFM_MSVIDC 11 |
3172 | 63 #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
|
64 #define VFM_CINEPAK 13 |
3687
7fb817c9060b
This commit adds initial support for Quicktime Animation (RLE) video. It
melanson
parents:
3667
diff
changeset
|
65 #define VFM_QTRLE 14 |
3804
53ed66a4f0bf
NuppelVideo decoder added, based on Panagiotis Issaris' patch
alex
parents:
3798
diff
changeset
|
66 #define VFM_NUV 15 |
3969 | 67 #define VFM_CYUV 16 |
4227 | 68 #define VFM_QTSMC 17 |
4301
8f43b10f387f
added skeleton for Duck Truemotion v1 decoder (doesn't do anything yet)
melanson
parents:
4227
diff
changeset
|
69 #define VFM_DUCKTM1 18 |
4450
3da8c5706371
added skeleton decoders for RoQ audio and video format decoders
melanson
parents:
4301
diff
changeset
|
70 #define VFM_ROQVIDEO 19 |
4615
b1fe5f58cd82
Added native codec support for QT RPZA data, courtesy of Roberto Togni
melanson
parents:
4450
diff
changeset
|
71 #define VFM_QTRPZA 20 |
4656 | 72 #define VFM_MPNG 21 |
5029 | 73 #define VFM_IJPG 22 |
5235
3e04fd1074d3
added HuffYUV support, courtesy of Roberto Togni <rtogni@bresciaonline.it>
melanson
parents:
5193
diff
changeset
|
74 #define VFM_HUFFYUV 23 |
5263 | 75 #define VFM_ZLIB 24 |
5478 | 76 #define VFM_MPEGPES 25 |
6343
d253cf4f43a9
realvideo support by Florian Schneider <flo-mplayer-dev@gmx.net>
arpi
parents:
6200
diff
changeset
|
77 #define VFM_REAL 26 |
6506 | 78 #define VFM_SVQ1 27 |
6701
522713337297
Support for Xvid using their new api. If divx4 compatiblity is disabeled
albeu
parents:
6565
diff
changeset
|
79 #define VFM_XVID 28 |
299 | 80 |
1836 | 81 #ifndef GUID_TYPE |
82 #define GUID_TYPE | |
297 | 83 typedef struct { |
300 | 84 unsigned long f1; |
85 unsigned short f2; | |
86 unsigned short f3; | |
87 unsigned char f4[8]; | |
297 | 88 } GUID; |
1836 | 89 #endif |
90 | |
297 | 91 |
2310 | 92 typedef struct codecs_st { |
316 | 93 unsigned int fourcc[CODECS_MAX_FOURCC]; |
94 unsigned int fourccmap[CODECS_MAX_FOURCC]; | |
95 unsigned int outfmt[CODECS_MAX_OUTFMT]; | |
96 unsigned char outflags[CODECS_MAX_OUTFMT]; | |
4675 | 97 unsigned int infmt[CODECS_MAX_INFMT]; |
98 unsigned char inflags[CODECS_MAX_INFMT]; | |
297 | 99 char *name; |
100 char *info; | |
101 char *comment; | |
316 | 102 char *dll; |
103 GUID guid; | |
297 | 104 short driver; |
105 short flags; | |
316 | 106 short status; |
361 | 107 short cpuflags; |
3667
ec943f8ec439
add support for priotity <int> in codecs.conf, higher numbers are better
atmos4
parents:
3643
diff
changeset
|
108 short priority; |
297 | 109 } codecs_t; |
110 | |
3798
d1e3ad5bcd8f
fixed few segfaults, make parse_codec_cfg() return int
iive
parents:
3787
diff
changeset
|
111 int parse_codec_cfg(char *cfgfile); |
332 | 112 codecs_t* find_video_codec(unsigned int fourcc, unsigned int *fourccmap, codecs_t *start); |
113 codecs_t* find_audio_codec(unsigned int fourcc, unsigned int *fourccmap, codecs_t *start); | |
114 codecs_t* find_codec(unsigned int fourcc,unsigned int *fourccmap,codecs_t *start,int audioflag); | |
1983 | 115 void list_codecs(int audioflag); |
5326 | 116 void codecs_reset_selection(int audioflag); |
297 | 117 |
118 #endif |