Mercurial > mplayer.hg
annotate codec-cfg.h @ 28992:947ef23ba798
Test if create_vdp_decoder() might succeed by calling it from config()
with a small value for max_reference_frames.
This does not make automatic recovery by using software decoder possible,
but lets MPlayer fail more graciously on - actually existing - buggy
hardware that does not support certain H264 widths when using
hardware accelerated decoding (784, 864, 944, 1024, 1808, 1888 pixels on
NVIDIA G98) and if the user tries to hardware-decode more samples at
the same time than supported.
Might break playback of H264 Intra-Only samples on hardware with very
little video memory.
author | cehoyos |
---|---|
date | Sat, 21 Mar 2009 20:11:05 +0000 |
parents | a0fe67fe194b |
children | c1a3f1bbba26 |
rev | line source |
---|---|
26029 | 1 #ifndef MPLAYER_CODEC_CFG_H |
2 #define MPLAYER_CODEC_CFG_H | |
297 | 3 |
22915
1cbc0d439cf3
qdrw changed output format in ffmpeg r8630, sync codecs.conf and require
rtogni
parents:
20362
diff
changeset
|
4 #define CODEC_CFG_MIN 20070407 |
6200
e604be87613d
codecs.conf versioning - patch by Joey Parrish <joey@yunamusic.com>
arpi
parents:
6103
diff
changeset
|
5 |
27334
a0fe67fe194b
change arbitrary CODECS_MAX_FOURCC limit to larger arbitrary limit
compn
parents:
26029
diff
changeset
|
6 #define CODECS_MAX_FOURCC 92 |
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) |
297 | 13 |
303 | 14 // Outfmt flags: |
299 | 15 #define CODECS_FLAG_FLIP (1<<0) |
16 #define CODECS_FLAG_NOFLIP (1<<1) | |
17 #define CODECS_FLAG_YUVHACK (1<<2) | |
5249 | 18 #define CODECS_FLAG_QUERY (1<<3) |
6103 | 19 #define CODECS_FLAG_STATIC (1<<4) |
299 | 20 |
5177 | 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 | |
316 | 27 |
299 | 28 |
12358
133e0ebde74d
Make it compile on mingw again. Now it is finally possible to include windows.h in mplayer.c
faust3
parents:
10467
diff
changeset
|
29 #if !defined(GUID_TYPE) && !defined(GUID_DEFINED) |
13591 | 30 #define GUID_TYPE 1 |
31 #define GUID_DEFINED 1 | |
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 | |
18980
ed69754aa58d
Marks several string parameters as const when they are not modified in the function, Patch by Stefan Huehner, stefan AT huehner-org
reynaldo
parents:
18581
diff
changeset
|
60 int parse_codec_cfg(const char *cfgfile); |
16321
efbfac98cab1
Allow forcing of demuxers and codecs by prepending '+'
reimar
parents:
16132
diff
changeset
|
61 codecs_t* find_video_codec(unsigned int fourcc, unsigned int *fourccmap, |
efbfac98cab1
Allow forcing of demuxers and codecs by prepending '+'
reimar
parents:
16132
diff
changeset
|
62 codecs_t *start, int force); |
efbfac98cab1
Allow forcing of demuxers and codecs by prepending '+'
reimar
parents:
16132
diff
changeset
|
63 codecs_t* find_audio_codec(unsigned int fourcc, unsigned int *fourccmap, |
efbfac98cab1
Allow forcing of demuxers and codecs by prepending '+'
reimar
parents:
16132
diff
changeset
|
64 codecs_t *start, int force); |
efbfac98cab1
Allow forcing of demuxers and codecs by prepending '+'
reimar
parents:
16132
diff
changeset
|
65 codecs_t* find_codec(unsigned int fourcc, unsigned int *fourccmap, |
efbfac98cab1
Allow forcing of demuxers and codecs by prepending '+'
reimar
parents:
16132
diff
changeset
|
66 codecs_t *start, int audioflag, int force); |
1983 | 67 void list_codecs(int audioflag); |
17566
f580a7755ac5
Patch by Stefan Huehner / stefan % huehner ! org \
rathann
parents:
16321
diff
changeset
|
68 void codecs_uninit_free(void); |
297 | 69 |
25661
293aeec83153
Replace the persistent CODECS_FLAG_SELECTED by a local "stringset" with
reimar
parents:
23870
diff
changeset
|
70 typedef char ** stringset_t; |
293aeec83153
Replace the persistent CODECS_FLAG_SELECTED by a local "stringset" with
reimar
parents:
23870
diff
changeset
|
71 void stringset_init(stringset_t *set); |
293aeec83153
Replace the persistent CODECS_FLAG_SELECTED by a local "stringset" with
reimar
parents:
23870
diff
changeset
|
72 void stringset_free(stringset_t *set); |
293aeec83153
Replace the persistent CODECS_FLAG_SELECTED by a local "stringset" with
reimar
parents:
23870
diff
changeset
|
73 void stringset_add(stringset_t *set, const char *str); |
293aeec83153
Replace the persistent CODECS_FLAG_SELECTED by a local "stringset" with
reimar
parents:
23870
diff
changeset
|
74 int stringset_test(stringset_t *set, const char *str); |
293aeec83153
Replace the persistent CODECS_FLAG_SELECTED by a local "stringset" with
reimar
parents:
23870
diff
changeset
|
75 |
26029 | 76 #endif /* MPLAYER_CODEC_CFG_H */ |