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