Merge branch 'ct' of git.pipapo.org:cinelerra-ct into ct
[cinelerra_cv/ct.git] / cinelerra / file.inc
blob5cba585af71d75f93310afcc51fa819d3f4fbf7b
1 #ifndef FILE_INC
2 #define FILE_INC
4 #include "language.h"
6 // Return values for open_file
7 #define FILE_OK 0
8 #define FILE_NOT_FOUND 1
9 #define FILE_UNRECOGNIZED_CODEC 2
10 #define FILE_IS_XML 3
12 #define FILE_UNKNOWN                    0
13 #define FILE_AIFF                       10
14 #define FILE_AMPEG                      16    // For encoding only
15 #define FILE_AC3                25    // AC3 encoding
16 #define FILE_AU                         9
17 #define FILE_AVI_ARNE1          20    // DV type 1
18 #define FILE_AVI                24    // Heroine Virtual
19 #define FILE_AVI_ARNE2          19    // DV type 2
20 #define FILE_AVI_AVIFILE        21
21 #define FILE_AVI_LAVTOOLS       12    // MJPEG type 1
22 #define FILE_GIF                        7
23 #define FILE_JPEG                       5
24 #define FILE_JPEG_LIST                  8
25 #define FILE_MOV                        3
26 // Libmpeg3 decoding and transport stream capture only
27 #define FILE_MPEG                       15    
28 #define FILE_PCM                        1
29 #define FILE_PLUGIN                     0x8000
30 #define FILE_PNG                        4
31 #define FILE_PNG_LIST                   23
32 #define FILE_SND                        11
33 #define FILE_TGA                        14
34 #define FILE_TGA_LIST                   13
35 #define FILE_TIFF                       6
36 #define FILE_TIFF_LIST                  22
37 #define FILE_VMPEG                      17    // For encoding only
38 #define FILE_OGG                        30
39 #define FILE_WAV                        2
40 #define FILE_EXR                26
41 #define FILE_EXR_LIST           27
42 #define FILE_CR2                28
43 #define FILE_YUV                29      // mjpegtools YUV4MPEG (aka YUV4MPEG2)
44 #define FILE_VORBIS             31
45 #define FILE_RAWDV              32
47 // For formats supported by plugins, the format number is the plugin number in the 
48 // plugin list ORed with 0x8000.
50 #define FILE_FORMAT_PREFIX(format) ( \
51         format == FILE_AIFF    ? "AIFF" :               \
52         format == FILE_AMPEG   ? "MPEG" :               \
53         format == FILE_AC3     ? "AC3" :                \
54         format == FILE_AU      ? "AU" :                 \
55         format == FILE_AVI_ARNE1 ? "AVI_ARNE1" :        \
56         format == FILE_AVI     ? "AVI" :                \
57         format == FILE_AVI_ARNE2 ? "AVI_ARNE2" :        \
58         format == FILE_AVI_AVIFILE ? "AVIFILE" :        \
59         format == FILE_AVI_LAVTOOLS ? "AVI_LAVTOOLS" :  \
60         format == FILE_GIF     ? "GIF" :                \
61         format == FILE_JPEG    ? "JPEG" :               \
62         format == FILE_JPEG_LIST ? "JPEG_LIST" :        \
63         format == FILE_MOV     ? "MOV" :                \
64         format == FILE_MPEG    ? "MPEG" :               \
65         format == FILE_PCM     ? "PCM" :                \
66         format == FILE_PLUGIN  ? "PLUGIN" :             \
67         format == FILE_PNG     ? "PNG" :                \
68         format == FILE_PNG_LIST ? "PNG_LIST" :          \
69         format == FILE_SND     ? "SND" :                \
70         format == FILE_TGA     ? "TGA" :                \
71         format == FILE_TGA_LIST ? "TGA_LIST" :          \
72         format == FILE_TIFF    ? "TIFF" :               \
73         format == FILE_TIFF_LIST ? "TIFF_LIST" :        \
74         format == FILE_VMPEG   ? "VMPEG" :              \
75         format == FILE_VORBIS  ? "VORBIS" :             \
76         format == FILE_WAV     ? "WAV" :                \
77         format == FILE_EXR     ? "EXR" :                \
78         format == FILE_EXR_LIST ? "EXR_LIST" :          \
79         format == FILE_RAWDV   ? "RAWDV" :              \
80         format == FILE_OGG     ? "OGG" :                \
81         format == FILE_YUV     ? "YUV" :                \
82         "UNKNOWN")
84 #if 0
85 N_("AC3")
86 N_("Apple/SGI AIFF")
87 N_("MPEG Audio")    // For encoding only
88 N_("Sun/NeXT AU")
89 N_("Microsoft AVI")
90 N_("Microsoft WAV")
91 N_("AVI Arne Type 1")
92 N_("AVI DV Type 2")
93 N_("AVI Avifile")
94 N_("AVI Lavtools")
95 N_("Raw DV")
96 N_("JPEG Sequence")
97 N_("JPEG")
98 N_("Quicktime for Linux")
99 N_("MPEG")          // For decoding only
100 N_("Raw PCM")
101 N_("PNG Sequence")
102 N_("PNG")
103 N_("Unknown sound")
104 N_("TGA Sequence")
105 N_("TGA")
106 N_("TIFF")
107 N_("TIFF Sequence")
108 N_("MPEG Video")    // For encoding only
109 N_("OGG Theora/Vorbis")
110 N_("OGG Vorbis")    // For decoding only
111 N_("EXR")
112 N_("EXR Sequence")
113 N_("OGG Theora/Vorbis")
114 #endif
116 #define AC3_NAME "AC3"
117 #define AIFF_NAME "Apple/SGI AIFF"
118 #define AMPEG_NAME "MPEG Audio"    // For encoding only
119 #define AU_NAME "Sun/NeXT AU"
120 #define AVI_NAME "Microsoft AVI"
121 #define WAV_NAME "Microsoft WAV"
122 #define AVI_ARNE1_NAME "AVI Arne Type 1"
123 #define AVI_ARNE2_NAME "AVI DV Type 2"
124 #define AVI_AVIFILE_NAME "AVI Avifile"
125 #define AVI_LAVTOOLS_NAME "AVI Lavtools"
126 #define RAWDV_NAME "Raw DV"
127 #define OGG_NAME "OGG Theora/Vorbis"
128 #define JPEG_LIST_NAME "JPEG Sequence"
129 #define JPEG_NAME "JPEG"
130 #define MOV_NAME "Quicktime for Linux"
131 #define MPEG_NAME "MPEG"           // For decoding only
132 #define OGG_NAME "OGG Theora/Vorbis"
133 #define VORBIS_NAME "OGG Vorbis"
134 #define PCM_NAME "Raw PCM"
135 #define PNG_LIST_NAME "PNG Sequence"
136 #define PNG_NAME "PNG"
137 #define SND_NAME "Unknown sound"
138 #define TGA_LIST_NAME "TGA Sequence"
139 #define TGA_NAME "TGA"
140 #define TIFF_NAME "TIFF"
141 #define TIFF_LIST_NAME "TIFF Sequence"
142 #define VMPEG_NAME "MPEG Video"    // For encoding only
143 #define EXR_NAME "EXR"
144 #define CR2_NAME "Raw Camera"
145 #define EXR_LIST_NAME "EXR Sequence"
146 #define YUV_NAME "YUV4MPEG Stream"
149 #define BITSLINEAR8    8
150 #define BITSLINEAR16   16
151 #define BITSLINEAR24   24
152 #define BITSLINEAR32   32
153 #define BITS_ADPCM     252
154 #define BITSFLOAT      253
155 #define BITSULAW       254
156 #define BITSIMA4       255
158 #if 0
159 N_("8 Bit Linear")
160 N_("16 Bit Linear")
161 N_("24 Bit Linear")
162 N_("32 Bit Linear")
163 N_("u Law")
164 N_("IMA 4")
165 N_("ADPCM")
166 N_("Float")
168 // Video formats not part of Quicktime
169 N_("RGB ALPHA")
170 N_("PNG ALPHA")
171 #endif
173 #define NAME_8BIT "8 Bit Linear"
174 #define NAME_16BIT "16 Bit Linear"
175 #define NAME_24BIT "24 Bit Linear"
176 #define NAME_32BIT "32 Bit Linear"
177 #define NAME_ULAW "u Law"
178 #define NAME_IMA4 "IMA 4"
179 #define NAME_ADPCM "ADPCM"
180 #define NAME_FLOAT "Float"
182 // Video formats not part of Quicktime
183 #define MOV_RGBA "RGB ALPHA"
184 #define MOV_PNGA "PNG ALPHA"
187 class File;
189 #endif
191 //      Local Variables:
192 //      mode: C++
193 //      c-file-style: "linux"
194 //      End: