1 #ifndef MPLAYER_CODEC_CFG_H
2 #define MPLAYER_CODEC_CFG_H
4 #define CODEC_CFG_MIN 20070407
6 #define CODECS_MAX_FOURCC 92
7 #define CODECS_MAX_OUTFMT 16
8 #define CODECS_MAX_INFMT 16
11 #define CODECS_FLAG_SEEKABLE (1<<0)
12 #define CODECS_FLAG_ALIGN16 (1<<1)
15 #define CODECS_FLAG_FLIP (1<<0)
16 #define CODECS_FLAG_NOFLIP (1<<1)
17 #define CODECS_FLAG_YUVHACK (1<<2)
18 #define CODECS_FLAG_QUERY (1<<3)
19 #define CODECS_FLAG_STATIC (1<<4)
21 #define CODECS_STATUS__MIN 0
22 #define CODECS_STATUS_NOT_WORKING -1
23 #define CODECS_STATUS_PROBLEMS 0
24 #define CODECS_STATUS_WORKING 1
25 #define CODECS_STATUS_UNTESTED 2
26 #define CODECS_STATUS__MAX 2
29 #if !defined(GUID_TYPE) && !defined(GUID_DEFINED)
31 #define GUID_DEFINED 1
41 typedef struct codecs_st
{
42 unsigned int fourcc
[CODECS_MAX_FOURCC
];
43 unsigned int fourccmap
[CODECS_MAX_FOURCC
];
44 unsigned int outfmt
[CODECS_MAX_OUTFMT
];
45 unsigned char outflags
[CODECS_MAX_OUTFMT
];
46 unsigned int infmt
[CODECS_MAX_INFMT
];
47 unsigned char inflags
[CODECS_MAX_INFMT
];
60 int parse_codec_cfg(const char *cfgfile
);
61 codecs_t
* find_video_codec(unsigned int fourcc
, unsigned int *fourccmap
,
62 codecs_t
*start
, int force
);
63 codecs_t
* find_audio_codec(unsigned int fourcc
, unsigned int *fourccmap
,
64 codecs_t
*start
, int force
);
65 codecs_t
* find_codec(unsigned int fourcc
, unsigned int *fourccmap
,
66 codecs_t
*start
, int audioflag
, int force
);
67 void list_codecs(int audioflag
);
68 void codecs_uninit_free(void);
70 typedef char ** stringset_t
;
71 void stringset_init(stringset_t
*set
);
72 void stringset_free(stringset_t
*set
);
73 void stringset_add(stringset_t
*set
, const char *str
);
74 int stringset_test(stringset_t
*set
, const char *str
);
76 #endif /* MPLAYER_CODEC_CFG_H */