annotate codec-cfg.h @ 19208:99d6ca895c46

Avoid large amounts of data on the stack (> 900k on 64 bit systems). Patch by Tobias Diedrich (ranma at tdiedrich de) with minor modifications by me.
author reimar
date Fri, 28 Jul 2006 13:50:08 +0000
parents ed69754aa58d
children 91c7509c7940
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
297
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
1 #ifndef __CODEC_CFG_H
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
2 #define __CODEC_CFG_H
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
3
18581
7e3f1d22e43c Reject codecs.conf files older than 20060501
rtogni
parents: 17566
diff changeset
4 #define CODEC_CFG_MIN 20060501
6200
e604be87613d codecs.conf versioning - patch by Joey Parrish <joey@yunamusic.com>
arpi
parents: 6103
diff changeset
5
4216
ffb8428f39e2 fix for Xwid (exceed 16 fourcc)
nexus
parents: 3969
diff changeset
6 #define CODECS_MAX_FOURCC 32
4675
d8a577a52437 added informat support (for encoding)
alex
parents: 4656
diff changeset
7 #define CODECS_MAX_OUTFMT 16
d8a577a52437 added informat support (for encoding)
alex
parents: 4656
diff changeset
8 #define CODECS_MAX_INFMT 16
297
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
9
303
828ec81e0d64 codecs.conf support
arpi_esp
parents: 300
diff changeset
10 // Global flags:
328
fc98b6c3a3dc lots of changes again
szabii
parents: 319
diff changeset
11 #define CODECS_FLAG_SEEKABLE (1<<0)
6565
1075fe5fc8c3 new global codec flag: align16
arpi
parents: 6561
diff changeset
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
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
14
303
828ec81e0d64 codecs.conf support
arpi_esp
parents: 300
diff changeset
15 // Outfmt flags:
299
3343fb3e4f49 outflags[] reading fixed
arpi_esp
parents: 297
diff changeset
16 #define CODECS_FLAG_FLIP (1<<0)
3343fb3e4f49 outflags[] reading fixed
arpi_esp
parents: 297
diff changeset
17 #define CODECS_FLAG_NOFLIP (1<<1)
3343fb3e4f49 outflags[] reading fixed
arpi_esp
parents: 297
diff changeset
18 #define CODECS_FLAG_YUVHACK (1<<2)
5249
eafaa705a354 query flag added
arpi
parents: 5235
diff changeset
19 #define CODECS_FLAG_QUERY (1<<3)
6103
595743379480 'static' outfmt-flag added
arpi
parents: 5478
diff changeset
20 #define CODECS_FLAG_STATIC (1<<4)
299
3343fb3e4f49 outflags[] reading fixed
arpi_esp
parents: 297
diff changeset
21
5177
fc5f42c4d088 status numbers changed to fit our detection order
arpi
parents: 5029
diff changeset
22 #define CODECS_STATUS__MIN 0
fc5f42c4d088 status numbers changed to fit our detection order
arpi
parents: 5029
diff changeset
23 #define CODECS_STATUS_NOT_WORKING -1
fc5f42c4d088 status numbers changed to fit our detection order
arpi
parents: 5029
diff changeset
24 #define CODECS_STATUS_PROBLEMS 0
fc5f42c4d088 status numbers changed to fit our detection order
arpi
parents: 5029
diff changeset
25 #define CODECS_STATUS_WORKING 1
fc5f42c4d088 status numbers changed to fit our detection order
arpi
parents: 5029
diff changeset
26 #define CODECS_STATUS_UNTESTED 2
fc5f42c4d088 status numbers changed to fit our detection order
arpi
parents: 5029
diff changeset
27 #define CODECS_STATUS__MAX 2
316
589a93489054 status added
szabii
parents: 303
diff changeset
28
299
3343fb3e4f49 outflags[] reading fixed
arpi_esp
parents: 297
diff changeset
29
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
30 #if !defined(GUID_TYPE) && !defined(GUID_DEFINED)
13591
ba6b9cc1b3d0 fix compilation on mingw
faust3
parents: 12358
diff changeset
31 #define GUID_TYPE 1
ba6b9cc1b3d0 fix compilation on mingw
faust3
parents: 12358
diff changeset
32 #define GUID_DEFINED 1
297
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
33 typedef struct {
300
df3f7a25584c audio format support, realloc() cleanup
arpi_esp
parents: 299
diff changeset
34 unsigned long f1;
df3f7a25584c audio format support, realloc() cleanup
arpi_esp
parents: 299
diff changeset
35 unsigned short f2;
df3f7a25584c audio format support, realloc() cleanup
arpi_esp
parents: 299
diff changeset
36 unsigned short f3;
df3f7a25584c audio format support, realloc() cleanup
arpi_esp
parents: 299
diff changeset
37 unsigned char f4[8];
297
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
38 } GUID;
1836
7c1671842ee7 GUID fix
arpi
parents: 1828
diff changeset
39 #endif
7c1671842ee7 GUID fix
arpi
parents: 1828
diff changeset
40
297
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
41
2310
9e059416eea6 libdemuxer...
arpi
parents: 1983
diff changeset
42 typedef struct codecs_st {
316
589a93489054 status added
szabii
parents: 303
diff changeset
43 unsigned int fourcc[CODECS_MAX_FOURCC];
589a93489054 status added
szabii
parents: 303
diff changeset
44 unsigned int fourccmap[CODECS_MAX_FOURCC];
589a93489054 status added
szabii
parents: 303
diff changeset
45 unsigned int outfmt[CODECS_MAX_OUTFMT];
589a93489054 status added
szabii
parents: 303
diff changeset
46 unsigned char outflags[CODECS_MAX_OUTFMT];
4675
d8a577a52437 added informat support (for encoding)
alex
parents: 4656
diff changeset
47 unsigned int infmt[CODECS_MAX_INFMT];
d8a577a52437 added informat support (for encoding)
alex
parents: 4656
diff changeset
48 unsigned char inflags[CODECS_MAX_INFMT];
297
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
49 char *name;
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
50 char *info;
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
51 char *comment;
316
589a93489054 status added
szabii
parents: 303
diff changeset
52 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
53 char* drv;
316
589a93489054 status added
szabii
parents: 303
diff changeset
54 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
55 // short driver;
297
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
56 short flags;
316
589a93489054 status added
szabii
parents: 303
diff changeset
57 short status;
361
3e0c68209600 dunno :)
szabii
parents: 332
diff changeset
58 short cpuflags;
297
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
59 } codecs_t;
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
60
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
61 int parse_codec_cfg(const char *cfgfile);
16321
efbfac98cab1 Allow forcing of demuxers and codecs by prepending '+'
reimar
parents: 16132
diff changeset
62 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
63 codecs_t *start, int force);
efbfac98cab1 Allow forcing of demuxers and codecs by prepending '+'
reimar
parents: 16132
diff changeset
64 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
65 codecs_t *start, int force);
efbfac98cab1 Allow forcing of demuxers and codecs by prepending '+'
reimar
parents: 16132
diff changeset
66 codecs_t* find_codec(unsigned int fourcc, unsigned int *fourccmap,
efbfac98cab1 Allow forcing of demuxers and codecs by prepending '+'
reimar
parents: 16132
diff changeset
67 codecs_t *start, int audioflag, int force);
7505
3a2685099095 new func: select_codec() - disables codec by name
arpi
parents: 7357
diff changeset
68 void select_codec(char* codecname,int audioflag);
1983
72f0648df475 -ac help / -vc help
arpi
parents: 1948
diff changeset
69 void list_codecs(int audioflag);
5326
0b024f661dd0 use codec selection
arpi
parents: 5325
diff changeset
70 void codecs_reset_selection(int audioflag);
17566
f580a7755ac5 Patch by Stefan Huehner / stefan % huehner ! org \
rathann
parents: 16321
diff changeset
71 void codecs_uninit_free(void);
297
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
72
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
73 #endif