Mercurial > mplayer.hg
annotate codec-cfg.h @ 1481:db2a6ae7e296
AVI pts/seek fixes, VBR support, faster NI seek
author | arpi |
---|---|
date | Sat, 11 Aug 2001 00:53:45 +0000 |
parents | eda16e490ae7 |
children | 70652cb8c402 |
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 |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
29 |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
30 #define VFM_MPEG 1 |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
31 #define VFM_VFW 2 |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
32 #define VFM_ODIVX 3 |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
33 #define VFM_DSHOW 4 |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
34 #define VFM_FFMPEG 5 |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
35 #define VFM_VFWEX 6 |
eda16e490ae7
using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents:
408
diff
changeset
|
36 #define VFM_DIVX4 7 |
299 | 37 |
297 | 38 typedef struct { |
300 | 39 unsigned long f1; |
40 unsigned short f2; | |
41 unsigned short f3; | |
42 unsigned char f4[8]; | |
297 | 43 } GUID; |
44 | |
45 typedef struct { | |
316 | 46 unsigned int fourcc[CODECS_MAX_FOURCC]; |
47 unsigned int fourccmap[CODECS_MAX_FOURCC]; | |
48 unsigned int outfmt[CODECS_MAX_OUTFMT]; | |
49 unsigned char outflags[CODECS_MAX_OUTFMT]; | |
297 | 50 char *name; |
51 char *info; | |
52 char *comment; | |
316 | 53 char *dll; |
54 GUID guid; | |
297 | 55 short driver; |
56 short flags; | |
316 | 57 short status; |
361 | 58 short cpuflags; |
297 | 59 } codecs_t; |
60 | |
328 | 61 codecs_t** parse_codec_cfg(char *cfgfile); |
332 | 62 codecs_t* find_video_codec(unsigned int fourcc, unsigned int *fourccmap, codecs_t *start); |
63 codecs_t* find_audio_codec(unsigned int fourcc, unsigned int *fourccmap, codecs_t *start); | |
64 codecs_t* find_codec(unsigned int fourcc,unsigned int *fourccmap,codecs_t *start,int audioflag); | |
297 | 65 |
66 #endif |