Mercurial > mplayer.hg
annotate codec-cfg.h @ 10252:d275152390ee
I've found some time to implement the encoding support for the new
DivX API. Now it's possible to play and encode movies with the
latest DivX release.
One thing that doesn't work is the new Video Buffer Verifier (VBV)
multipass encoding. The encoder segfaults. Maybe it just isn't
supported with the standard profile of the released binary encoder.
Andreas Hess <jaska@gmx.net>
author | arpi |
---|---|
date | Fri, 06 Jun 2003 19:57:37 +0000 |
parents | f554b2bc2b49 |
children | 3a246ecd835f |
rev | line source |
---|---|
297 | 1 #ifndef __CODEC_CFG_H |
2 #define __CODEC_CFG_H | |
3 | |
9034 | 4 #define CODEC_CFG_MIN 20030119 |
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 |
299 | 29 |
1836 | 30 #ifndef GUID_TYPE |
31 #define GUID_TYPE | |
297 | 32 typedef struct { |
300 | 33 unsigned long f1; |
34 unsigned short f2; | |
35 unsigned short f3; | |
36 unsigned char f4[8]; | |
297 | 37 } GUID; |
1836 | 38 #endif |
39 | |
297 | 40 |
2310 | 41 typedef struct codecs_st { |
316 | 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]; | |
4675 | 46 unsigned int infmt[CODECS_MAX_INFMT]; |
47 unsigned char inflags[CODECS_MAX_INFMT]; | |
297 | 48 char *name; |
49 char *info; | |
50 char *comment; | |
316 | 51 char *dll; |
7180
28677d779205
-afm/-vfm migration from ID (int) to NAME (string) - simplifies code and makes dlopen()'ing possible
arpi
parents:
6935
diff
changeset
|
52 char* drv; |
316 | 53 GUID guid; |
7180
28677d779205
-afm/-vfm migration from ID (int) to NAME (string) - simplifies code and makes dlopen()'ing possible
arpi
parents:
6935
diff
changeset
|
54 // short driver; |
297 | 55 short flags; |
316 | 56 short status; |
361 | 57 short cpuflags; |
297 | 58 } codecs_t; |
59 | |
3798
d1e3ad5bcd8f
fixed few segfaults, make parse_codec_cfg() return int
iive
parents:
3787
diff
changeset
|
60 int parse_codec_cfg(char *cfgfile); |
332 | 61 codecs_t* find_video_codec(unsigned int fourcc, unsigned int *fourccmap, codecs_t *start); |
62 codecs_t* find_audio_codec(unsigned int fourcc, unsigned int *fourccmap, codecs_t *start); | |
63 codecs_t* find_codec(unsigned int fourcc,unsigned int *fourccmap,codecs_t *start,int audioflag); | |
7505 | 64 void select_codec(char* codecname,int audioflag); |
1983 | 65 void list_codecs(int audioflag); |
5326 | 66 void codecs_reset_selection(int audioflag); |
297 | 67 |
68 #endif |