annotate codec-cfg.h @ 6225:75e8e1cf1f77

- hardened a bit the new bilinear algo (missing checks) - warning fix (include, int -> void) - avoids messing with 0 byte allocation (result not reliable) (Fredrik Kuivinen <freku045@student.liu.se> noticed it)
author pl
date Wed, 29 May 2002 19:27:06 +0000
parents e604be87613d
children d253cf4f43a9
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
6200
e604be87613d codecs.conf versioning - patch by Joey Parrish <joey@yunamusic.com>
arpi
parents: 6103
diff changeset
4 #define CODEC_CFG_MIN 20020520
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)
5325
9c326f199060 tagging selected codec to avoid trying the same codec several times
arpi
parents: 5263
diff changeset
12 #define CODECS_FLAG_SELECTED (1<<15) /* for internal use */
297
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
13
303
828ec81e0d64 codecs.conf support
arpi_esp
parents: 300
diff changeset
14 // Outfmt flags:
299
3343fb3e4f49 outflags[] reading fixed
arpi_esp
parents: 297
diff changeset
15 #define CODECS_FLAG_FLIP (1<<0)
3343fb3e4f49 outflags[] reading fixed
arpi_esp
parents: 297
diff changeset
16 #define CODECS_FLAG_NOFLIP (1<<1)
3343fb3e4f49 outflags[] reading fixed
arpi_esp
parents: 297
diff changeset
17 #define CODECS_FLAG_YUVHACK (1<<2)
5249
eafaa705a354 query flag added
arpi
parents: 5235
diff changeset
18 #define CODECS_FLAG_QUERY (1<<3)
6103
595743379480 'static' outfmt-flag added
arpi
parents: 5478
diff changeset
19 #define CODECS_FLAG_STATIC (1<<4)
299
3343fb3e4f49 outflags[] reading fixed
arpi_esp
parents: 297
diff changeset
20
5177
fc5f42c4d088 status numbers changed to fit our detection order
arpi
parents: 5029
diff changeset
21 #define CODECS_STATUS__MIN 0
fc5f42c4d088 status numbers changed to fit our detection order
arpi
parents: 5029
diff changeset
22 #define CODECS_STATUS_NOT_WORKING -1
fc5f42c4d088 status numbers changed to fit our detection order
arpi
parents: 5029
diff changeset
23 #define CODECS_STATUS_PROBLEMS 0
fc5f42c4d088 status numbers changed to fit our detection order
arpi
parents: 5029
diff changeset
24 #define CODECS_STATUS_WORKING 1
fc5f42c4d088 status numbers changed to fit our detection order
arpi
parents: 5029
diff changeset
25 #define CODECS_STATUS_UNTESTED 2
fc5f42c4d088 status numbers changed to fit our detection order
arpi
parents: 5029
diff changeset
26 #define CODECS_STATUS__MAX 2
316
589a93489054 status added
szabii
parents: 303
diff changeset
27
1410
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
28 // Codec family/driver:
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
29 #define AFM_MPEG 1
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
30 #define AFM_PCM 2
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
31 #define AFM_AC3 3
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
32 #define AFM_ACM 4
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
33 #define AFM_ALAW 5
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
34 #define AFM_GSM 6
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
35 #define AFM_DSHOW 7
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
36 #define AFM_DVDPCM 8
1528
a444bd456fcc ac3/spdif patch by German Gomez Garcia <german@piraos.com>
arpi
parents: 1488
diff changeset
37 #define AFM_HWAC3 9
1828
60afe3421c04 OggVorbis support, ALPHA state!
atmos4
parents: 1528
diff changeset
38 #define AFM_VORBIS 10
1929
af7b3e83d47b added ffmpeg audio driver
arpi
parents: 1836
diff changeset
39 #define AFM_FFMPEG 11
2415
58ea110b4036 libmad (ARM) patch by jeroen.dobbelaere@acunia.com
arpi
parents: 2379
diff changeset
40 #define AFM_MAD 12
3787
55603340d1b2 implemented open source MS ADPCM decoder
melanson
parents: 3756
diff changeset
41 #define AFM_MSADPCM 13
3400
c91d9c4512c5 g72x and a52 added
arpi
parents: 3172
diff changeset
42 #define AFM_A52 14
c91d9c4512c5 g72x and a52 added
arpi
parents: 3172
diff changeset
43 #define AFM_G72X 15
3787
55603340d1b2 implemented open source MS ADPCM decoder
melanson
parents: 3756
diff changeset
44 #define AFM_IMAADPCM 16
4854
4a6dde59834c fixed, strengthened, rewrote, and renamed a variety of the ADPCM decoders
melanson
parents: 4675
diff changeset
45 #define AFM_DK4ADPCM 17
4a6dde59834c fixed, strengthened, rewrote, and renamed a variety of the ADPCM decoders
melanson
parents: 4675
diff changeset
46 #define AFM_DK3ADPCM 18
4450
3da8c5706371 added skeleton decoders for RoQ audio and video format decoders
melanson
parents: 4301
diff changeset
47 #define AFM_ROQAUDIO 19
5190
59df6b778d78 Beta AAC decoding support, seeking totally broken yet, add philipps mpeg4 video in qt to ffmpeg4 although it's still buggy in decoding
atmos4
parents: 5177
diff changeset
48 #define AFM_AAC 20
1410
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
49
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
50 #define VFM_MPEG 1
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
51 #define VFM_VFW 2
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
52 #define VFM_ODIVX 3
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
53 #define VFM_DSHOW 4
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
54 #define VFM_FFMPEG 5
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
55 #define VFM_VFWEX 6
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
56 #define VFM_DIVX4 7
1488
70652cb8c402 raw (uncompressed) video codec
arpi
parents: 1410
diff changeset
57 #define VFM_RAW 8
5193
abea2deab4d6 MPlayer now has a Microsoft RLE decoder to call its own...only supports
melanson
parents: 5190
diff changeset
58 #define VFM_MSRLE 9
2379
8a821809659d xanim added
arpi
parents: 2310
diff changeset
59 #define VFM_XANIM 10
2827
b4d46817f050 ms video1 (cram) codecs by Mike Melanson <melanson@pcisys.net>
arpi
parents: 2422
diff changeset
60 #define VFM_MSVIDC 11
3172
bb38b6b072f8 support for FLI image decoding
melanson
parents: 2827
diff changeset
61 #define VFM_FLI 12
3643
fb9fd7e2dd35 native opensourec Cinepak (CVID) codec by im Ferguson <timf@mail.csse.monash.edu.au>
arpi
parents: 3400
diff changeset
62 #define VFM_CINEPAK 13
3687
7fb817c9060b This commit adds initial support for Quicktime Animation (RLE) video. It
melanson
parents: 3667
diff changeset
63 #define VFM_QTRLE 14
3804
53ed66a4f0bf NuppelVideo decoder added, based on Panagiotis Issaris' patch
alex
parents: 3798
diff changeset
64 #define VFM_NUV 15
3969
c4c3f32dae47 integrated Tim Ferguson's native CYUV decoder
melanson
parents: 3933
diff changeset
65 #define VFM_CYUV 16
4227
4b652eac6738 added skeleton for QT SMC decoder
melanson
parents: 4216
diff changeset
66 #define VFM_QTSMC 17
4301
8f43b10f387f added skeleton for Duck Truemotion v1 decoder (doesn't do anything yet)
melanson
parents: 4227
diff changeset
67 #define VFM_DUCKTM1 18
4450
3da8c5706371 added skeleton decoders for RoQ audio and video format decoders
melanson
parents: 4301
diff changeset
68 #define VFM_ROQVIDEO 19
4615
b1fe5f58cd82 Added native codec support for QT RPZA data, courtesy of Roberto Togni
melanson
parents: 4450
diff changeset
69 #define VFM_QTRPZA 20
4656
04880518728d add initial mPNG support
pontscho
parents: 4615
diff changeset
70 #define VFM_MPNG 21
5029
ef8a43b74075 Add IJPG decoder.
pontscho
parents: 4854
diff changeset
71 #define VFM_IJPG 22
5235
3e04fd1074d3 added HuffYUV support, courtesy of Roberto Togni <rtogni@bresciaonline.it>
melanson
parents: 5193
diff changeset
72 #define VFM_HUFFYUV 23
5263
da664f9894e8 added zlib support
alex
parents: 5249
diff changeset
73 #define VFM_ZLIB 24
5478
1212d2f92a42 mpegpes added... thx Mw3
arpi
parents: 5326
diff changeset
74 #define VFM_MPEGPES 25
299
3343fb3e4f49 outflags[] reading fixed
arpi_esp
parents: 297
diff changeset
75
1836
7c1671842ee7 GUID fix
arpi
parents: 1828
diff changeset
76 #ifndef GUID_TYPE
7c1671842ee7 GUID fix
arpi
parents: 1828
diff changeset
77 #define GUID_TYPE
297
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
78 typedef struct {
300
df3f7a25584c audio format support, realloc() cleanup
arpi_esp
parents: 299
diff changeset
79 unsigned long f1;
df3f7a25584c audio format support, realloc() cleanup
arpi_esp
parents: 299
diff changeset
80 unsigned short f2;
df3f7a25584c audio format support, realloc() cleanup
arpi_esp
parents: 299
diff changeset
81 unsigned short f3;
df3f7a25584c audio format support, realloc() cleanup
arpi_esp
parents: 299
diff changeset
82 unsigned char f4[8];
297
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
83 } GUID;
1836
7c1671842ee7 GUID fix
arpi
parents: 1828
diff changeset
84 #endif
7c1671842ee7 GUID fix
arpi
parents: 1828
diff changeset
85
297
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
86
2310
9e059416eea6 libdemuxer...
arpi
parents: 1983
diff changeset
87 typedef struct codecs_st {
316
589a93489054 status added
szabii
parents: 303
diff changeset
88 unsigned int fourcc[CODECS_MAX_FOURCC];
589a93489054 status added
szabii
parents: 303
diff changeset
89 unsigned int fourccmap[CODECS_MAX_FOURCC];
589a93489054 status added
szabii
parents: 303
diff changeset
90 unsigned int outfmt[CODECS_MAX_OUTFMT];
589a93489054 status added
szabii
parents: 303
diff changeset
91 unsigned char outflags[CODECS_MAX_OUTFMT];
4675
d8a577a52437 added informat support (for encoding)
alex
parents: 4656
diff changeset
92 unsigned int infmt[CODECS_MAX_INFMT];
d8a577a52437 added informat support (for encoding)
alex
parents: 4656
diff changeset
93 unsigned char inflags[CODECS_MAX_INFMT];
297
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
94 char *name;
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
95 char *info;
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
96 char *comment;
316
589a93489054 status added
szabii
parents: 303
diff changeset
97 char *dll;
589a93489054 status added
szabii
parents: 303
diff changeset
98 GUID guid;
297
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
99 short driver;
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
100 short flags;
316
589a93489054 status added
szabii
parents: 303
diff changeset
101 short status;
361
3e0c68209600 dunno :)
szabii
parents: 332
diff changeset
102 short cpuflags;
3667
ec943f8ec439 add support for priotity <int> in codecs.conf, higher numbers are better
atmos4
parents: 3643
diff changeset
103 short priority;
297
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
104 } codecs_t;
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
105
3798
d1e3ad5bcd8f fixed few segfaults, make parse_codec_cfg() return int
iive
parents: 3787
diff changeset
106 int parse_codec_cfg(char *cfgfile);
332
a5c6f9d536dd find_codec() modified
szabii
parents: 328
diff changeset
107 codecs_t* find_video_codec(unsigned int fourcc, unsigned int *fourccmap, codecs_t *start);
a5c6f9d536dd find_codec() modified
szabii
parents: 328
diff changeset
108 codecs_t* find_audio_codec(unsigned int fourcc, unsigned int *fourccmap, codecs_t *start);
a5c6f9d536dd find_codec() modified
szabii
parents: 328
diff changeset
109 codecs_t* find_codec(unsigned int fourcc,unsigned int *fourccmap,codecs_t *start,int audioflag);
1983
72f0648df475 -ac help / -vc help
arpi
parents: 1948
diff changeset
110 void list_codecs(int audioflag);
5326
0b024f661dd0 use codec selection
arpi
parents: 5325
diff changeset
111 void codecs_reset_selection(int audioflag);
297
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
112
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
113 #endif