annotate codec-cfg.h @ 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
author atmos4
date Mon, 18 Mar 2002 23:30:04 +0000
parents fc5f42c4d088
children abea2deab4d6
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
4216
ffb8428f39e2 fix for Xwid (exceed 16 fourcc)
nexus
parents: 3969
diff changeset
4 #define CODECS_MAX_FOURCC 32
4675
d8a577a52437 added informat support (for encoding)
alex
parents: 4656
diff changeset
5 #define CODECS_MAX_OUTFMT 16
d8a577a52437 added informat support (for encoding)
alex
parents: 4656
diff changeset
6 #define CODECS_MAX_INFMT 16
297
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
7
303
828ec81e0d64 codecs.conf support
arpi_esp
parents: 300
diff changeset
8 // Global flags:
328
fc98b6c3a3dc lots of changes again
szabii
parents: 319
diff changeset
9 #define CODECS_FLAG_SEEKABLE (1<<0)
297
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
10
303
828ec81e0d64 codecs.conf support
arpi_esp
parents: 300
diff changeset
11 // Outfmt flags:
299
3343fb3e4f49 outflags[] reading fixed
arpi_esp
parents: 297
diff changeset
12 #define CODECS_FLAG_FLIP (1<<0)
3343fb3e4f49 outflags[] reading fixed
arpi_esp
parents: 297
diff changeset
13 #define CODECS_FLAG_NOFLIP (1<<1)
3343fb3e4f49 outflags[] reading fixed
arpi_esp
parents: 297
diff changeset
14 #define CODECS_FLAG_YUVHACK (1<<2)
3343fb3e4f49 outflags[] reading fixed
arpi_esp
parents: 297
diff changeset
15
5177
fc5f42c4d088 status numbers changed to fit our detection order
arpi
parents: 5029
diff changeset
16 #define CODECS_STATUS__MIN 0
fc5f42c4d088 status numbers changed to fit our detection order
arpi
parents: 5029
diff changeset
17 #define CODECS_STATUS_NOT_WORKING -1
fc5f42c4d088 status numbers changed to fit our detection order
arpi
parents: 5029
diff changeset
18 #define CODECS_STATUS_PROBLEMS 0
fc5f42c4d088 status numbers changed to fit our detection order
arpi
parents: 5029
diff changeset
19 #define CODECS_STATUS_WORKING 1
fc5f42c4d088 status numbers changed to fit our detection order
arpi
parents: 5029
diff changeset
20 #define CODECS_STATUS_UNTESTED 2
fc5f42c4d088 status numbers changed to fit our detection order
arpi
parents: 5029
diff changeset
21 #define CODECS_STATUS__MAX 2
316
589a93489054 status added
szabii
parents: 303
diff changeset
22
1410
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
23 // Codec family/driver:
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
24 #define AFM_MPEG 1
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
25 #define AFM_PCM 2
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
26 #define AFM_AC3 3
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
27 #define AFM_ACM 4
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
28 #define AFM_ALAW 5
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
29 #define AFM_GSM 6
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
30 #define AFM_DSHOW 7
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
31 #define AFM_DVDPCM 8
1528
a444bd456fcc ac3/spdif patch by German Gomez Garcia <german@piraos.com>
arpi
parents: 1488
diff changeset
32 #define AFM_HWAC3 9
1828
60afe3421c04 OggVorbis support, ALPHA state!
atmos4
parents: 1528
diff changeset
33 #define AFM_VORBIS 10
1929
af7b3e83d47b added ffmpeg audio driver
arpi
parents: 1836
diff changeset
34 #define AFM_FFMPEG 11
2415
58ea110b4036 libmad (ARM) patch by jeroen.dobbelaere@acunia.com
arpi
parents: 2379
diff changeset
35 #define AFM_MAD 12
3787
55603340d1b2 implemented open source MS ADPCM decoder
melanson
parents: 3756
diff changeset
36 #define AFM_MSADPCM 13
3400
c91d9c4512c5 g72x and a52 added
arpi
parents: 3172
diff changeset
37 #define AFM_A52 14
c91d9c4512c5 g72x and a52 added
arpi
parents: 3172
diff changeset
38 #define AFM_G72X 15
3787
55603340d1b2 implemented open source MS ADPCM decoder
melanson
parents: 3756
diff changeset
39 #define AFM_IMAADPCM 16
4854
4a6dde59834c fixed, strengthened, rewrote, and renamed a variety of the ADPCM decoders
melanson
parents: 4675
diff changeset
40 #define AFM_DK4ADPCM 17
4a6dde59834c fixed, strengthened, rewrote, and renamed a variety of the ADPCM decoders
melanson
parents: 4675
diff changeset
41 #define AFM_DK3ADPCM 18
4450
3da8c5706371 added skeleton decoders for RoQ audio and video format decoders
melanson
parents: 4301
diff changeset
42 #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
43 #define AFM_AAC 20
1410
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
44
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
45 #define VFM_MPEG 1
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
46 #define VFM_VFW 2
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
47 #define VFM_ODIVX 3
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
48 #define VFM_DSHOW 4
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
49 #define VFM_FFMPEG 5
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
50 #define VFM_VFWEX 6
eda16e490ae7 using AFM_/VFM_ macros instead of hardcoded constants (idea by al3x)
arpi
parents: 408
diff changeset
51 #define VFM_DIVX4 7
1488
70652cb8c402 raw (uncompressed) video codec
arpi
parents: 1410
diff changeset
52 #define VFM_RAW 8
1948
e0cc7b7290ec native codec 'rle' added
arpi
parents: 1929
diff changeset
53 #define VFM_RLE 9
2379
8a821809659d xanim added
arpi
parents: 2310
diff changeset
54 #define VFM_XANIM 10
2827
b4d46817f050 ms video1 (cram) codecs by Mike Melanson <melanson@pcisys.net>
arpi
parents: 2422
diff changeset
55 #define VFM_MSVIDC 11
3172
bb38b6b072f8 support for FLI image decoding
melanson
parents: 2827
diff changeset
56 #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
57 #define VFM_CINEPAK 13
3687
7fb817c9060b This commit adds initial support for Quicktime Animation (RLE) video. It
melanson
parents: 3667
diff changeset
58 #define VFM_QTRLE 14
3804
53ed66a4f0bf NuppelVideo decoder added, based on Panagiotis Issaris' patch
alex
parents: 3798
diff changeset
59 #define VFM_NUV 15
3969
c4c3f32dae47 integrated Tim Ferguson's native CYUV decoder
melanson
parents: 3933
diff changeset
60 #define VFM_CYUV 16
4227
4b652eac6738 added skeleton for QT SMC decoder
melanson
parents: 4216
diff changeset
61 #define VFM_QTSMC 17
4301
8f43b10f387f added skeleton for Duck Truemotion v1 decoder (doesn't do anything yet)
melanson
parents: 4227
diff changeset
62 #define VFM_DUCKTM1 18
4450
3da8c5706371 added skeleton decoders for RoQ audio and video format decoders
melanson
parents: 4301
diff changeset
63 #define VFM_ROQVIDEO 19
4615
b1fe5f58cd82 Added native codec support for QT RPZA data, courtesy of Roberto Togni
melanson
parents: 4450
diff changeset
64 #define VFM_QTRPZA 20
4656
04880518728d add initial mPNG support
pontscho
parents: 4615
diff changeset
65 #define VFM_MPNG 21
5029
ef8a43b74075 Add IJPG decoder.
pontscho
parents: 4854
diff changeset
66 #define VFM_IJPG 22
299
3343fb3e4f49 outflags[] reading fixed
arpi_esp
parents: 297
diff changeset
67
1836
7c1671842ee7 GUID fix
arpi
parents: 1828
diff changeset
68 #ifndef GUID_TYPE
7c1671842ee7 GUID fix
arpi
parents: 1828
diff changeset
69 #define GUID_TYPE
297
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
70 typedef struct {
300
df3f7a25584c audio format support, realloc() cleanup
arpi_esp
parents: 299
diff changeset
71 unsigned long f1;
df3f7a25584c audio format support, realloc() cleanup
arpi_esp
parents: 299
diff changeset
72 unsigned short f2;
df3f7a25584c audio format support, realloc() cleanup
arpi_esp
parents: 299
diff changeset
73 unsigned short f3;
df3f7a25584c audio format support, realloc() cleanup
arpi_esp
parents: 299
diff changeset
74 unsigned char f4[8];
297
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
75 } GUID;
1836
7c1671842ee7 GUID fix
arpi
parents: 1828
diff changeset
76 #endif
7c1671842ee7 GUID fix
arpi
parents: 1828
diff changeset
77
297
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
78
2310
9e059416eea6 libdemuxer...
arpi
parents: 1983
diff changeset
79 typedef struct codecs_st {
316
589a93489054 status added
szabii
parents: 303
diff changeset
80 unsigned int fourcc[CODECS_MAX_FOURCC];
589a93489054 status added
szabii
parents: 303
diff changeset
81 unsigned int fourccmap[CODECS_MAX_FOURCC];
589a93489054 status added
szabii
parents: 303
diff changeset
82 unsigned int outfmt[CODECS_MAX_OUTFMT];
589a93489054 status added
szabii
parents: 303
diff changeset
83 unsigned char outflags[CODECS_MAX_OUTFMT];
4675
d8a577a52437 added informat support (for encoding)
alex
parents: 4656
diff changeset
84 unsigned int infmt[CODECS_MAX_INFMT];
d8a577a52437 added informat support (for encoding)
alex
parents: 4656
diff changeset
85 unsigned char inflags[CODECS_MAX_INFMT];
297
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
86 char *name;
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
87 char *info;
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
88 char *comment;
316
589a93489054 status added
szabii
parents: 303
diff changeset
89 char *dll;
589a93489054 status added
szabii
parents: 303
diff changeset
90 GUID guid;
297
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
91 short driver;
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
92 short flags;
316
589a93489054 status added
szabii
parents: 303
diff changeset
93 short status;
361
3e0c68209600 dunno :)
szabii
parents: 332
diff changeset
94 short cpuflags;
3667
ec943f8ec439 add support for priotity <int> in codecs.conf, higher numbers are better
atmos4
parents: 3643
diff changeset
95 short priority;
297
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
96 } codecs_t;
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
97
3798
d1e3ad5bcd8f fixed few segfaults, make parse_codec_cfg() return int
iive
parents: 3787
diff changeset
98 int parse_codec_cfg(char *cfgfile);
332
a5c6f9d536dd find_codec() modified
szabii
parents: 328
diff changeset
99 codecs_t* find_video_codec(unsigned int fourcc, unsigned int *fourccmap, codecs_t *start);
a5c6f9d536dd find_codec() modified
szabii
parents: 328
diff changeset
100 codecs_t* find_audio_codec(unsigned int fourcc, unsigned int *fourccmap, codecs_t *start);
a5c6f9d536dd find_codec() modified
szabii
parents: 328
diff changeset
101 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
102 void list_codecs(int audioflag);
297
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
103
9b00ddddc0b2 imported codec-cfg, small fixes
arpi_esp
parents:
diff changeset
104 #endif