Mercurial > mplayer.hg
annotate codec-cfg.h @ 12337:6f1b4c989914
soft skipping for mencoder. rather than skipping decoding/filtering
frames that will be skipped, mencoded tells vf_softskip (if present)
that it should drop the next frame. this allows filters that need to
see every input frame (inverse telecine, denoise3d, ...) to see
skipped frames before they get dropped.
in principle, a smarter softskip filter could be written that would
buffer frames and choose to drop the one with least change, rather
than strictly dropping the next one.
author | rfelker |
---|---|
date | Wed, 28 Apr 2004 04:29:17 +0000 |
parents | 3a246ecd835f |
children | 133e0ebde74d |
rev | line source |
---|---|
297 | 1 #ifndef __CODEC_CFG_H |
2 #define __CODEC_CFG_H | |
3 | |
10467 | 4 #define CODEC_CFG_MIN 20030724 |
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 |