~ubuntu-branches/ubuntu/maverick/vlc/maverick

« back to all changes in this revision

Viewing changes to modules/codec/avcodec/fourcc.h

  • Committer: Bazaar Package Importer
  • Author(s): Reinhard Tartler
  • Date: 2008-09-17 21:56:14 UTC
  • mfrom: (1.1.17 upstream)
  • Revision ID: james.westby@ubuntu.com-20080917215614-tj0vx8xzd57e52t8
Tags: 0.9.2-1ubuntu1
* New Upstream Release, exception granted by
    - dktrkranz, norsetto, Hobbsee (via irc). LP: #270404

Changes done in ubuntu:

* add libxul-dev to build-depends
* make sure that vlc is build against libxul in configure. This doesn't
  change anything in the package, but makes it more robust if building
  in an 'unclean' chroot or when modifying the package.
* debian/control: make Vcs-* fields point to the motumedia branch
* add libx264-dev and libass-dev to build-depends
  LP: #210354, #199870
* actually enable libass support by passing --enable-libass to configure
* enable libdca: add libdca-dev to build depends and --enable-libdca
* install the x264 plugin.

Changes already in the pkg-multimedia branch in debian:

* don't install usr/share/vlc/mozilla in debian/mozilla-plugin-vlc.install  
* new upstream .desktop file now registers flash video mimetype LP: #261567
* add Xb-Npp-Applications to mozilla-plugin-vlc
* remove duplicate entries in debian/vlc-nox.install

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*****************************************************************************
 
2
 * fourcc.h: libavcodec <-> libvlc conversion routines
 
3
 *****************************************************************************
 
4
 * Copyright (C) 1999-2008 the VideoLAN team
 
5
 * $Id: f031449d94716306f6cb40291f61f0c0187d6d4c $
 
6
 *
 
7
 * Authors: Laurent Aimar <fenrir@via.ecp.fr>
 
8
 *          Gildas Bazin <gbazin@videolan.org>
 
9
 *
 
10
 * This program is free software; you can redistribute it and/or modify
 
11
 * it under the terms of the GNU General Public License as published by
 
12
 * the Free Software Foundation; either version 2 of the License, or
 
13
 * (at your option) any later version.
 
14
 *
 
15
 * This program is distributed in the hope that it will be useful,
 
16
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
17
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
18
 * GNU General Public License for more details.
 
19
 *
 
20
 * You should have received a copy of the GNU General Public License
 
21
 * along with this program; if not, write to the Free Software
 
22
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
 
23
 *****************************************************************************/
 
24
 
 
25
/*****************************************************************************
 
26
 * Codec fourcc -> ffmpeg_id mapping
 
27
 *****************************************************************************/
 
28
static const struct
 
29
{
 
30
    vlc_fourcc_t  i_fourcc;
 
31
    int  i_codec;
 
32
    int  i_cat;
 
33
    const char *psz_name;
 
34
 
 
35
} codecs_table[] =
 
36
{
 
37
    /*
 
38
     * Video Codecs
 
39
     */
 
40
 
 
41
    /* MPEG-1 Video */
 
42
    { VLC_FOURCC('m','p','1','v'), CODEC_ID_MPEG1VIDEO,
 
43
      VIDEO_ES, "MPEG-1 Video" },
 
44
    { VLC_FOURCC('m','p','e','g'), CODEC_ID_MPEG1VIDEO,
 
45
      VIDEO_ES, "MPEG-1 Video" },
 
46
    { VLC_FOURCC('m','p','g','1'), CODEC_ID_MPEG1VIDEO,
 
47
      VIDEO_ES, "MPEG-1 Video" },
 
48
    { VLC_FOURCC('P','I','M','1'), CODEC_ID_MPEG1VIDEO,
 
49
      VIDEO_ES, "Pinnacle DC1000 (MPEG-1 Video)" },
 
50
 
 
51
    /* MPEG-2 Video */
 
52
    { VLC_FOURCC('m','p','2','v'), CODEC_ID_MPEG2VIDEO,
 
53
      VIDEO_ES, "MPEG-2 Video" },
 
54
    { VLC_FOURCC('M','P','E','G'), CODEC_ID_MPEG2VIDEO,
 
55
      VIDEO_ES, "MPEG-2 Video" },
 
56
    { VLC_FOURCC('m','p','g','v'), CODEC_ID_MPEG2VIDEO,
 
57
      VIDEO_ES, "MPEG-2 Video" },
 
58
    { VLC_FOURCC('m','p','g','2'), CODEC_ID_MPEG2VIDEO,
 
59
      VIDEO_ES, "MPEG-2 Video" },
 
60
    { VLC_FOURCC('h','d','v','1'), CODEC_ID_MPEG2VIDEO,
 
61
      VIDEO_ES, "HDV 720p30 (MPEG-2 Video)" },
 
62
    { VLC_FOURCC('h','d','v','2'), CODEC_ID_MPEG2VIDEO,
 
63
      VIDEO_ES, "Sony HDV (MPEG-2 Video)" },
 
64
    { VLC_FOURCC('h','d','v','3'), CODEC_ID_MPEG2VIDEO,
 
65
      VIDEO_ES, "FCP HDV (MPEG-2 Video)" },
 
66
    { VLC_FOURCC('h','d','v','5'), CODEC_ID_MPEG2VIDEO,
 
67
      VIDEO_ES, "HDV 720p25 (MPEG-2 Video)" },
 
68
    { VLC_FOURCC('m','x','5','n'), CODEC_ID_MPEG2VIDEO,
 
69
      VIDEO_ES, "MPEG2 IMX NTSC 525/60 50mb/s (FCP)" },
 
70
    { VLC_FOURCC('m','x','5','p'), CODEC_ID_MPEG2VIDEO,
 
71
      VIDEO_ES, "MPEG2 IMX PAL 625/60 50mb/s (FCP)" },
 
72
    { VLC_FOURCC('m','x','4','n'), CODEC_ID_MPEG2VIDEO,
 
73
      VIDEO_ES, "MPEG2 IMX NTSC 525/60 40mb/s (FCP)" },
 
74
    { VLC_FOURCC('m','x','4','p'), CODEC_ID_MPEG2VIDEO,
 
75
      VIDEO_ES, "MPEG2 IMX PAL 625/50 40mb/s (FCP)" },
 
76
     { VLC_FOURCC('m','x','3','n'), CODEC_ID_MPEG2VIDEO,
 
77
      VIDEO_ES, "MPEG2 IMX NTSC 525/60 30mb/s (FCP)" },
 
78
    { VLC_FOURCC('m','x','3','p'), CODEC_ID_MPEG2VIDEO,
 
79
      VIDEO_ES, "MPEG2 IMX NTSC 625/50 30mb/s (FCP)" },
 
80
    { VLC_FOURCC('x','d','v','2'), CODEC_ID_MPEG2VIDEO,
 
81
      VIDEO_ES, "XDCAM HD 1080i60" },
 
82
    { VLC_FOURCC('A','V','m','p'), CODEC_ID_MPEG2VIDEO,
 
83
      VIDEO_ES, "AVID IMX PAL" },
 
84
    /* ATI VCR2 */
 
85
    { VLC_FOURCC('V','C','R','2'), CODEC_ID_MPEG2VIDEO,
 
86
      VIDEO_ES, "ATI VCR2 Video" },
 
87
    { VLC_FOURCC('M','M','E','S'), CODEC_ID_MPEG2VIDEO,
 
88
      VIDEO_ES, "Matrox MPEG-2" },
 
89
    { VLC_FOURCC('m','m','e','s'), CODEC_ID_MPEG2VIDEO,
 
90
      VIDEO_ES, "Matrox MPEG-2" },
 
91
 
 
92
    /* MPEG-4 Video */
 
93
    { VLC_FOURCC('D','I','V','X'), CODEC_ID_MPEG4,
 
94
      VIDEO_ES, "MPEG-4 Video" },
 
95
    { VLC_FOURCC('d','i','v','x'), CODEC_ID_MPEG4,
 
96
      VIDEO_ES, "MPEG-4 Video" },
 
97
    { VLC_FOURCC('M','P','4','S'), CODEC_ID_MPEG4,
 
98
      VIDEO_ES, "MPEG-4 Video" },
 
99
    { VLC_FOURCC('m','p','4','s'), CODEC_ID_MPEG4,
 
100
      VIDEO_ES, "MPEG-4 Video" },
 
101
    { VLC_FOURCC('M','4','S','2'), CODEC_ID_MPEG4,
 
102
      VIDEO_ES, "MPEG-4 Video" },
 
103
    { VLC_FOURCC('m','4','s','2'), CODEC_ID_MPEG4,
 
104
      VIDEO_ES, "MPEG-4 Video" },
 
105
    /* XVID flavours */
 
106
    { VLC_FOURCC('x','v','i','d'), CODEC_ID_MPEG4,
 
107
      VIDEO_ES, "MPEG-4 Video" },
 
108
    { VLC_FOURCC('X','V','I','D'), CODEC_ID_MPEG4,
 
109
      VIDEO_ES, "MPEG-4 Video" },
 
110
    { VLC_FOURCC('X','v','i','D'), CODEC_ID_MPEG4,
 
111
      VIDEO_ES, "MPEG-4 Video" },
 
112
    { VLC_FOURCC('X','V','I','X'), CODEC_ID_MPEG4,
 
113
      VIDEO_ES, "MPEG-4 Video" },
 
114
    { VLC_FOURCC('x','v','i','x'), CODEC_ID_MPEG4,
 
115
      VIDEO_ES, "MPEG-4 Video" },
 
116
    /* DX50 */
 
117
    { VLC_FOURCC('D','X','5','0'), CODEC_ID_MPEG4,
 
118
      VIDEO_ES, "MPEG-4 Video" },
 
119
    { VLC_FOURCC('d','x','5','0'), CODEC_ID_MPEG4,
 
120
      VIDEO_ES, "MPEG-4 Video" },
 
121
    { VLC_FOURCC('B','L','Z','0'), CODEC_ID_MPEG4,
 
122
      VIDEO_ES, "Blizzard MPEG-4 Video" },
 
123
    { VLC_FOURCC('D','X','G','M'), CODEC_ID_MPEG4,
 
124
      VIDEO_ES, "Electronic Arts Game MPEG-4 Video" },
 
125
    { VLC_FOURCC('m','p','4','v'), CODEC_ID_MPEG4,
 
126
      VIDEO_ES, "MPEG-4 Video" },
 
127
    { VLC_FOURCC('M','P','4','V'), CODEC_ID_MPEG4,
 
128
      VIDEO_ES, "MPEG-4 Video" },
 
129
    { VLC_FOURCC( 4,  0,  0,  0 ), CODEC_ID_MPEG4,
 
130
      VIDEO_ES, "MPEG-4 Video" },
 
131
    { VLC_FOURCC('m','4','c','c'), CODEC_ID_MPEG4,
 
132
      VIDEO_ES, "MPEG-4 Video" },
 
133
    { VLC_FOURCC('M','4','C','C'), CODEC_ID_MPEG4,
 
134
      VIDEO_ES, "MPEG-4 Video" },
 
135
    { VLC_FOURCC('F','M','P','4'), CODEC_ID_MPEG4,
 
136
      VIDEO_ES, "MPEG-4 Video" },
 
137
    { VLC_FOURCC('f','m','p','4'), CODEC_ID_MPEG4,
 
138
      VIDEO_ES, "MPEG-4 Video" },
 
139
    /* 3ivx delta 3.5 Unsupported
 
140
     * putting it here gives extreme distorted images
 
141
    { VLC_FOURCC('3','I','V','1'), CODEC_ID_MPEG4,
 
142
      VIDEO_ES, "MPEG-4 Video" },
 
143
    { VLC_FOURCC('3','i','v','1'), CODEC_ID_MPEG4,
 
144
      VIDEO_ES, "MPEG-4 Video" }, */
 
145
    /* 3ivx delta 4 */
 
146
    { VLC_FOURCC('3','I','V','2'), CODEC_ID_MPEG4,
 
147
      VIDEO_ES, "MPEG-4 Video" },
 
148
    { VLC_FOURCC('3','i','v','2'), CODEC_ID_MPEG4,
 
149
      VIDEO_ES, "MPEG-4 Video" },
 
150
    { VLC_FOURCC('U','M','P','4'), CODEC_ID_MPEG4,
 
151
      VIDEO_ES, "UB MPEG-4 Video" },
 
152
    { VLC_FOURCC('W','V','1','F'), CODEC_ID_MPEG4,
 
153
      VIDEO_ES, "MPEG-4 Video" },
 
154
    { VLC_FOURCC('S','E','D','G'), CODEC_ID_MPEG4,
 
155
      VIDEO_ES, "Samsung MPEG-4 Video" },
 
156
    { VLC_FOURCC('R','M','P','4'), CODEC_ID_MPEG4,
 
157
      VIDEO_ES, "REALmagic MPEG-4 Video" },
 
158
    { VLC_FOURCC('H','D','X','4'), CODEC_ID_MPEG4,
 
159
      VIDEO_ES, "Jomigo HDX4 (MPEG-4 Video)" },
 
160
    { VLC_FOURCC('h','d','x','4'), CODEC_ID_MPEG4,
 
161
      VIDEO_ES, "Jomigo HDX4 (MPEG-4 Video)" },
 
162
    { VLC_FOURCC('S','M','P','4'), CODEC_ID_MPEG4,
 
163
      VIDEO_ES, "Samsung SMP4 (MPEG-4 Video)" },
 
164
    { VLC_FOURCC('s','m','p','4'), CODEC_ID_MPEG4,
 
165
      VIDEO_ES, "Samsung SMP4 (MPEG-4 Video)" },
 
166
    { VLC_FOURCC('f','v','f','w'), CODEC_ID_MPEG4,
 
167
      VIDEO_ES, "FFmpeg MPEG-4" },
 
168
    { VLC_FOURCC('F','V','F','W'), CODEC_ID_MPEG4,
 
169
      VIDEO_ES, "FFmpeg MPEG-4" },
 
170
    { VLC_FOURCC('V','I','D','M'), CODEC_ID_MPEG4,
 
171
      VIDEO_ES, "vidm 4.01 codec" },
 
172
 
 
173
    /* MSMPEG4 v1 */
 
174
    { VLC_FOURCC('D','I','V','1'), CODEC_ID_MSMPEG4V1,
 
175
      VIDEO_ES, "MS MPEG-4 Video v1" },
 
176
    { VLC_FOURCC('d','i','v','1'), CODEC_ID_MSMPEG4V1,
 
177
      VIDEO_ES, "MS MPEG-4 Video v1" },
 
178
    { VLC_FOURCC('M','P','G','4'), CODEC_ID_MSMPEG4V1,
 
179
      VIDEO_ES, "MS MPEG-4 Video v1" },
 
180
    { VLC_FOURCC('m','p','g','4'), CODEC_ID_MSMPEG4V1,
 
181
      VIDEO_ES, "MS MPEG-4 Video v1" },
 
182
 
 
183
    /* MSMPEG4 v2 */
 
184
    { VLC_FOURCC('D','I','V','2'), CODEC_ID_MSMPEG4V2,
 
185
      VIDEO_ES, "MS MPEG-4 Video v2" },
 
186
    { VLC_FOURCC('d','i','v','2'), CODEC_ID_MSMPEG4V2,
 
187
      VIDEO_ES, "MS MPEG-4 Video v2" },
 
188
    { VLC_FOURCC('M','P','4','2'), CODEC_ID_MSMPEG4V2,
 
189
      VIDEO_ES, "MS MPEG-4 Video v2" },
 
190
    { VLC_FOURCC('m','p','4','2'), CODEC_ID_MSMPEG4V2,
 
191
      VIDEO_ES, "MS MPEG-4 Video v2" },
 
192
 
 
193
    /* MSMPEG4 v3 / M$ mpeg4 v3 */
 
194
    { VLC_FOURCC('M','P','G','3'), CODEC_ID_MSMPEG4V3,
 
195
      VIDEO_ES, "MS MPEG-4 Video v3" },
 
196
    { VLC_FOURCC('m','p','g','3'), CODEC_ID_MSMPEG4V3,
 
197
      VIDEO_ES, "MS MPEG-4 Video v3" },
 
198
    { VLC_FOURCC('d','i','v','3'), CODEC_ID_MSMPEG4V3,
 
199
      VIDEO_ES, "MS MPEG-4 Video v3" },
 
200
    { VLC_FOURCC('M','P','4','3'), CODEC_ID_MSMPEG4V3,
 
201
      VIDEO_ES, "MS MPEG-4 Video v3" },
 
202
    { VLC_FOURCC('m','p','4','3'), CODEC_ID_MSMPEG4V3,
 
203
      VIDEO_ES, "MS MPEG-4 Video v3" },
 
204
    /* DivX 3.20 */
 
205
    { VLC_FOURCC('D','I','V','3'), CODEC_ID_MSMPEG4V3,
 
206
      VIDEO_ES, "MS MPEG-4 Video v3" },
 
207
    { VLC_FOURCC('D','I','V','4'), CODEC_ID_MSMPEG4V3,
 
208
      VIDEO_ES, "MS MPEG-4 Video v3" },
 
209
    { VLC_FOURCC('d','i','v','4'), CODEC_ID_MSMPEG4V3,
 
210
      VIDEO_ES, "MS MPEG-4 Video v3" },
 
211
    { VLC_FOURCC('D','I','V','5'), CODEC_ID_MSMPEG4V3,
 
212
      VIDEO_ES, "MS MPEG-4 Video v3" },
 
213
    { VLC_FOURCC('d','i','v','5'), CODEC_ID_MSMPEG4V3,
 
214
      VIDEO_ES, "MS MPEG-4 Video v3" },
 
215
    { VLC_FOURCC('D','I','V','6'), CODEC_ID_MSMPEG4V3,
 
216
      VIDEO_ES, "MS MPEG-4 Video v3" },
 
217
    { VLC_FOURCC('d','i','v','6'), CODEC_ID_MSMPEG4V3,
 
218
      VIDEO_ES, "MS MPEG-4 Video v3" },
 
219
    /* Cool Codec */
 
220
    { VLC_FOURCC('C','O','L','1'), CODEC_ID_MSMPEG4V3,
 
221
      VIDEO_ES, "MS MPEG-4 Video v3" },
 
222
    { VLC_FOURCC('c','o','l','1'), CODEC_ID_MSMPEG4V3,
 
223
      VIDEO_ES, "MS MPEG-4 Video v3" },
 
224
    { VLC_FOURCC('C','O','L','0'), CODEC_ID_MSMPEG4V3,
 
225
      VIDEO_ES, "MS MPEG-4 Video v3" },
 
226
    { VLC_FOURCC('c','o','l','0'), CODEC_ID_MSMPEG4V3,
 
227
      VIDEO_ES, "MS MPEG-4 Video v3" },
 
228
    /* AngelPotion stuff */
 
229
    { VLC_FOURCC('A','P','4','1'), CODEC_ID_MSMPEG4V3,
 
230
      VIDEO_ES, "MS MPEG-4 Video v3" },
 
231
    /* 3ivx doctered divx files */
 
232
    { VLC_FOURCC('3','I','V','D'), CODEC_ID_MSMPEG4V3,
 
233
      VIDEO_ES, "MS MPEG-4 Video v3" },
 
234
    { VLC_FOURCC('3','i','v','d'), CODEC_ID_MSMPEG4V3,
 
235
      VIDEO_ES, "MS MPEG-4 Video v3" },
 
236
    /* who knows? */
 
237
    { VLC_FOURCC('3','V','I','D'), CODEC_ID_MSMPEG4V3,
 
238
      VIDEO_ES, "MS MPEG-4 Video v3" },
 
239
    { VLC_FOURCC('3','v','i','d'), CODEC_ID_MSMPEG4V3,
 
240
      VIDEO_ES, "MS MPEG-4 Video v3" },
 
241
 
 
242
    /* Sorenson v1 */
 
243
    { VLC_FOURCC('S','V','Q','1'), CODEC_ID_SVQ1,
 
244
      VIDEO_ES, "SVQ-1 (Sorenson Video v1)" },
 
245
    { VLC_FOURCC('s','v','q','1'), CODEC_ID_SVQ1,
 
246
      VIDEO_ES, "SVQ-1 (Sorenson Video v1)" },
 
247
    { VLC_FOURCC('s','v','q','i'), CODEC_ID_SVQ1,
 
248
      VIDEO_ES, "SVQ-1 (Sorenson Video v1)" },
 
249
 
 
250
    /* Sorenson v3 */
 
251
    { VLC_FOURCC('S','V','Q','3'), CODEC_ID_SVQ3,
 
252
      VIDEO_ES, "SVQ-3 (Sorenson Video v3)" },
 
253
 
 
254
    /* h264 */
 
255
    { VLC_FOURCC('h','2','6','4'), CODEC_ID_H264,
 
256
      VIDEO_ES, "H264 - MPEG-4 AVC (part 10)" },
 
257
    { VLC_FOURCC('H','2','6','4'), CODEC_ID_H264,
 
258
      VIDEO_ES, "H264 - MPEG-4 AVC (part 10)" },
 
259
    { VLC_FOURCC('x','2','6','4'), CODEC_ID_H264,
 
260
      VIDEO_ES, "H264 - MPEG-4 AVC (part 10)" },
 
261
    { VLC_FOURCC('X','2','6','4'), CODEC_ID_H264,
 
262
      VIDEO_ES, "H264 - MPEG-4 AVC (part 10)" },
 
263
    /* avc1: special case h264 */
 
264
    { VLC_FOURCC('a','v','c','1'), CODEC_ID_H264,
 
265
      VIDEO_ES, "H264 - MPEG-4 AVC (part 10)" },
 
266
    { VLC_FOURCC('A','V','C','1'), CODEC_ID_H264,
 
267
      VIDEO_ES, "H264 - MPEG-4 AVC (part 10)" },
 
268
    { VLC_FOURCC('V','S','S','H'), CODEC_ID_H264,
 
269
      VIDEO_ES, "Vanguard VSS H264" },
 
270
    { VLC_FOURCC('V','S','S','W'), CODEC_ID_H264,
 
271
      VIDEO_ES, "Vanguard VSS H264" },
 
272
    { VLC_FOURCC('v','s','s','h'), CODEC_ID_H264,
 
273
      VIDEO_ES, "Vanguard VSS H264" },
 
274
    { VLC_FOURCC('D','A','V','C'), CODEC_ID_H264,
 
275
      VIDEO_ES, "Dicas MPEGable H.264/MPEG-4 AVC" },
 
276
    { VLC_FOURCC('d','a','v','c'), CODEC_ID_H264,
 
277
      VIDEO_ES, "Dicas MPEGable H.264/MPEG-4 AVC" },
 
278
 
 
279
/* H263 and H263i */
 
280
/* H263(+) is also known as Real Video 1.0 */
 
281
 
 
282
    /* H263 */
 
283
    { VLC_FOURCC('D','2','6','3'), CODEC_ID_H263,
 
284
      VIDEO_ES, "DEC H263" },
 
285
    { VLC_FOURCC('H','2','6','3'), CODEC_ID_H263,
 
286
      VIDEO_ES, "H263" },
 
287
    { VLC_FOURCC('h','2','6','3'), CODEC_ID_H263,
 
288
      VIDEO_ES, "H263" },
 
289
    { VLC_FOURCC('L','2','6','3'), CODEC_ID_H263,
 
290
      VIDEO_ES, "LEAD H263" },
 
291
    { VLC_FOURCC('s','2','6','3'), CODEC_ID_H263,
 
292
      VIDEO_ES, "H263" },
 
293
    { VLC_FOURCC('S','2','6','3'), CODEC_ID_H263,
 
294
      VIDEO_ES, "H263" },
 
295
    { VLC_FOURCC('M','2','6','3'), CODEC_ID_H263,
 
296
      VIDEO_ES, "Microsoft H263" },
 
297
    { VLC_FOURCC('X','2','6','3'), CODEC_ID_H263,
 
298
      VIDEO_ES, "Xirlink H263" },
 
299
 
 
300
    /* Zygo (partial) */
 
301
    { VLC_FOURCC('Z','y','G','o'), CODEC_ID_H263,
 
302
      VIDEO_ES, "ITU H263+" },
 
303
 
 
304
    /* H263i */
 
305
    { VLC_FOURCC('I','2','6','3'), CODEC_ID_H263I,
 
306
      VIDEO_ES, "I263.I" },
 
307
    { VLC_FOURCC('i','2','6','3'), CODEC_ID_H263I,
 
308
      VIDEO_ES, "I263.I" },
 
309
 
 
310
    /* H263P */
 
311
    { VLC_FOURCC('v','i','v','1'), CODEC_ID_H263P,
 
312
      VIDEO_ES, "H263+" },
 
313
    { VLC_FOURCC('v','i','v','O'), CODEC_ID_H263P,
 
314
      VIDEO_ES, "H263+" },
 
315
    { VLC_FOURCC('v','i','v','2'), CODEC_ID_H263P,
 
316
      VIDEO_ES, "H263+" },
 
317
    { VLC_FOURCC('U','2','6','3'), CODEC_ID_H263P,
 
318
      VIDEO_ES, "UB H263+" },
 
319
    { VLC_FOURCC('I','L','V','R'), CODEC_ID_H263P,
 
320
      VIDEO_ES, "ITU H263+" },
 
321
 
 
322
    /* Flash (H263) variant */
 
323
    { VLC_FOURCC('F','L','V','1'), CODEC_ID_FLV1,
 
324
      VIDEO_ES, "Flash Video" },
 
325
 
 
326
    /* H261 */
 
327
    { VLC_FOURCC('H','2','6','1'), CODEC_ID_H261,
 
328
      VIDEO_ES, "H.261" },
 
329
    { VLC_FOURCC('h','2','6','1'), CODEC_ID_H261,
 
330
      VIDEO_ES, "H.261" },
 
331
 
 
332
    { VLC_FOURCC('F','L','I','C'), CODEC_ID_FLIC,
 
333
      VIDEO_ES, "Flic Video" },
 
334
 
 
335
    /* MJPEG */
 
336
    { VLC_FOURCC( 'M','J','P','G' ), CODEC_ID_MJPEG,
 
337
      VIDEO_ES, "Motion JPEG Video" },
 
338
    { VLC_FOURCC( 'm','j','p','g' ), CODEC_ID_MJPEG,
 
339
      VIDEO_ES, "Motion JPEG Video" },
 
340
    { VLC_FOURCC( 'm','j','p','a' ), CODEC_ID_MJPEG, /* for mov file */
 
341
      VIDEO_ES, "Motion JPEG Video" },
 
342
    { VLC_FOURCC( 'j','p','e','g' ), CODEC_ID_MJPEG,
 
343
      VIDEO_ES, "Motion JPEG Video" },
 
344
    { VLC_FOURCC( 'J','P','E','G' ), CODEC_ID_MJPEG,
 
345
      VIDEO_ES, "Motion JPEG Video" },
 
346
    { VLC_FOURCC( 'J','F','I','F' ), CODEC_ID_MJPEG,
 
347
      VIDEO_ES, "Motion JPEG Video" },
 
348
    { VLC_FOURCC( 'J','P','G','L' ), CODEC_ID_MJPEG,
 
349
      VIDEO_ES, "Motion JPEG Video" },
 
350
    { VLC_FOURCC( 'A','V','D','J' ), CODEC_ID_MJPEG,
 
351
      VIDEO_ES, "Motion JPEG Video" },
 
352
    { VLC_FOURCC( 'm','j','p','b' ), CODEC_ID_MJPEGB, /* for mov file */
 
353
      VIDEO_ES, "Motion JPEG B Video" },
 
354
    { VLC_FOURCC( 'L','J','P','G' ), CODEC_ID_LJPEG,
 
355
      VIDEO_ES, "Lead Motion JPEG Video" },
 
356
    { VLC_FOURCC( 'L','J','P','G' ), CODEC_ID_MJPEG,
 
357
      VIDEO_ES, "Lead Motion JPEG Video" },
 
358
    /* AVID MJPEG */
 
359
    { VLC_FOURCC( 'A','V','R','n' ), CODEC_ID_MJPEG,
 
360
      VIDEO_ES, "Avid Motion JPEG" },
 
361
    { VLC_FOURCC( 'A','D','J','V' ), CODEC_ID_MJPEG,
 
362
      VIDEO_ES, "Avid Motion JPEG" },
 
363
    { VLC_FOURCC( 'd','m','b','1' ), CODEC_ID_MJPEG,
 
364
      VIDEO_ES, "Motion JPEG OpenDML Video" },
 
365
    { VLC_FOURCC( 'I','J','P','G' ), CODEC_ID_MJPEG,
 
366
      VIDEO_ES, "Intergraph JPEG Video" },
 
367
 
 
368
    /* SP5x */
 
369
    { VLC_FOURCC( 'S','P','5','X' ), CODEC_ID_SP5X,
 
370
      VIDEO_ES, "Sunplus Motion JPEG Video" },
 
371
    { VLC_FOURCC( 'S','P','5','3' ), CODEC_ID_SP5X,
 
372
      VIDEO_ES, "Sunplus Motion JPEG Video" },
 
373
    { VLC_FOURCC( 'S','P','5','4' ), CODEC_ID_SP5X,
 
374
      VIDEO_ES, "Sunplus Motion JPEG Video" },
 
375
    { VLC_FOURCC( 'S','P','5','5' ), CODEC_ID_SP5X,
 
376
      VIDEO_ES, "Sunplus Motion JPEG Video" },
 
377
    { VLC_FOURCC( 'S','P','5','6' ), CODEC_ID_SP5X,
 
378
      VIDEO_ES, "Sunplus Motion JPEG Video" },
 
379
    { VLC_FOURCC( 'S','P','5','7' ), CODEC_ID_SP5X,
 
380
      VIDEO_ES, "Sunplus Motion JPEG Video" },
 
381
    { VLC_FOURCC( 'S','P','5','8' ), CODEC_ID_SP5X,
 
382
      VIDEO_ES, "Sunplus Motion JPEG Video" },
 
383
 
 
384
    /* DV */
 
385
    { VLC_FOURCC('d','v','s','l'), CODEC_ID_DVVIDEO,
 
386
      VIDEO_ES, "DV Video" },
 
387
    { VLC_FOURCC('d','v','s','d'), CODEC_ID_DVVIDEO,
 
388
      VIDEO_ES, "DV Video" },
 
389
    { VLC_FOURCC('D','V','S','D'), CODEC_ID_DVVIDEO,
 
390
      VIDEO_ES, "DV Video" },
 
391
    { VLC_FOURCC('d','v','h','d'), CODEC_ID_DVVIDEO,
 
392
      VIDEO_ES, "DV Video" },
 
393
    { VLC_FOURCC('d','v','c',' '), CODEC_ID_DVVIDEO,
 
394
      VIDEO_ES, "DV Video" },
 
395
    { VLC_FOURCC('d','v','c','p'), CODEC_ID_DVVIDEO,
 
396
      VIDEO_ES, "DV Video PAL" },
 
397
    { VLC_FOURCC('d','v','p',' '), CODEC_ID_DVVIDEO,
 
398
      VIDEO_ES, "DV Video Pro" },
 
399
    { VLC_FOURCC('d','v','p','p'), CODEC_ID_DVVIDEO,
 
400
      VIDEO_ES, "DV Video Pro PAL" },
 
401
    { VLC_FOURCC('C','D','V','C'), CODEC_ID_DVVIDEO,
 
402
      VIDEO_ES, "DV Video" },
 
403
    { VLC_FOURCC('c','d','v','c'), CODEC_ID_DVVIDEO,
 
404
      VIDEO_ES, "DV Video" },
 
405
    { VLC_FOURCC('d','v','5','p'), CODEC_ID_DVVIDEO,
 
406
      VIDEO_ES, "DV Video C Pro 50 PAL" },
 
407
    { VLC_FOURCC('d','v','5','n'), CODEC_ID_DVVIDEO,
 
408
      VIDEO_ES, "DV Video C Pro 50 NTSC" },
 
409
    { VLC_FOURCC('A','V','d','v'), CODEC_ID_DVVIDEO,
 
410
      VIDEO_ES, "AVID DV" },
 
411
 
 
412
    /* Windows Media Video */
 
413
    { VLC_FOURCC('W','M','V','1'), CODEC_ID_WMV1,
 
414
      VIDEO_ES, "Windows Media Video 1" },
 
415
    { VLC_FOURCC('w','m','v','1'), CODEC_ID_WMV1,
 
416
      VIDEO_ES, "Windows Media Video 1" },
 
417
    { VLC_FOURCC('W','M','V','2'), CODEC_ID_WMV2,
 
418
      VIDEO_ES, "Windows Media Video 2" },
 
419
    { VLC_FOURCC('w','m','v','2'), CODEC_ID_WMV2,
 
420
      VIDEO_ES, "Windows Media Video 2" },
 
421
#if LIBAVCODEC_VERSION_INT >= ((51<<16)+(10<<8)+1)
 
422
    { VLC_FOURCC('W','M','V','3'), CODEC_ID_WMV3,
 
423
      VIDEO_ES, "Windows Media Video 3" },
 
424
    { VLC_FOURCC('w','m','v','3'), CODEC_ID_WMV3,
 
425
      VIDEO_ES, "Windows Media Video 3" },
 
426
    { VLC_FOURCC('W','V','C','1'), CODEC_ID_VC1,
 
427
      VIDEO_ES, "Windows Media Video VC1" },
 
428
    { VLC_FOURCC('w','v','c','1'), CODEC_ID_VC1,
 
429
      VIDEO_ES, "Windows Media Video VC1" },
 
430
    /* WMVA is the VC-1 codec before the standardization proces,
 
431
       it is not bitstream compatible and deprecated  */
 
432
    { VLC_FOURCC('W','M','V','A'), CODEC_ID_VC1,
 
433
      VIDEO_ES, "Windows Media Video Advanced Profile" },
 
434
#endif
 
435
 
 
436
    /* Microsoft Video 1 */
 
437
    { VLC_FOURCC('M','S','V','C'), CODEC_ID_MSVIDEO1,
 
438
      VIDEO_ES, "Microsoft Video 1" },
 
439
    { VLC_FOURCC('m','s','v','c'), CODEC_ID_MSVIDEO1,
 
440
      VIDEO_ES, "Microsoft Video 1" },
 
441
    { VLC_FOURCC('C','R','A','M'), CODEC_ID_MSVIDEO1,
 
442
      VIDEO_ES, "Microsoft Video 1" },
 
443
    { VLC_FOURCC('c','r','a','m'), CODEC_ID_MSVIDEO1,
 
444
      VIDEO_ES, "Microsoft Video 1" },
 
445
    { VLC_FOURCC('W','H','A','M'), CODEC_ID_MSVIDEO1,
 
446
      VIDEO_ES, "Microsoft Video 1" },
 
447
    { VLC_FOURCC('w','h','a','m'), CODEC_ID_MSVIDEO1,
 
448
      VIDEO_ES, "Microsoft Video 1" },
 
449
 
 
450
    /* Microsoft RLE */
 
451
    { VLC_FOURCC('m','r','l','e'), CODEC_ID_MSRLE,
 
452
      VIDEO_ES, "Microsoft RLE Video" },
 
453
    { VLC_FOURCC('W','R','L','E'), CODEC_ID_MSRLE,
 
454
      VIDEO_ES, "Microsoft RLE Video" },
 
455
    { VLC_FOURCC(0x1,0x0,0x0,0x0), CODEC_ID_MSRLE,
 
456
      VIDEO_ES, "Microsoft RLE Video" },
 
457
    { VLC_FOURCC(0x2,0x0,0x0,0x0), CODEC_ID_MSRLE,
 
458
      VIDEO_ES, "Microsoft RLE Video" },
 
459
 
 
460
    /* Indeo Video Codecs (Quality of this decoder on ppc is not good) */
 
461
    { VLC_FOURCC('I','V','3','1'), CODEC_ID_INDEO3,
 
462
      VIDEO_ES, "Indeo Video v3" },
 
463
    { VLC_FOURCC('i','v','3','1'), CODEC_ID_INDEO3,
 
464
      VIDEO_ES, "Indeo Video v3" },
 
465
    { VLC_FOURCC('I','V','3','2'), CODEC_ID_INDEO3,
 
466
      VIDEO_ES, "Indeo Video v3" },
 
467
    { VLC_FOURCC('i','v','3','2'), CODEC_ID_INDEO3,
 
468
      VIDEO_ES, "Indeo Video v3" },
 
469
 
 
470
    /* Huff YUV */
 
471
    { VLC_FOURCC('H','F','Y','U'), CODEC_ID_HUFFYUV,
 
472
      VIDEO_ES, "Huff YUV Video" },
 
473
    { VLC_FOURCC('F','F','V','H'), CODEC_ID_FFVHUFF,
 
474
      VIDEO_ES, "Huff YUV Video" },
 
475
 
 
476
    /* Creative YUV */
 
477
    { VLC_FOURCC('C','Y','U','V'), CODEC_ID_CYUV,
 
478
      VIDEO_ES, "Creative YUV Video" },
 
479
    { VLC_FOURCC('c','y','u','v'), CODEC_ID_CYUV,
 
480
      VIDEO_ES, "Creative YUV Video" },
 
481
 
 
482
    /* On2 VP3 Video Codecs */
 
483
    { VLC_FOURCC('V','P','3',' '), CODEC_ID_VP3,
 
484
      VIDEO_ES, "On2's VP3 Video" },
 
485
    { VLC_FOURCC('V','P','3','0'), CODEC_ID_VP3,
 
486
      VIDEO_ES, "On2's VP3 Video" },
 
487
    { VLC_FOURCC('V','P','3','1'), CODEC_ID_VP3,
 
488
      VIDEO_ES, "On2's VP3 Video" },
 
489
    { VLC_FOURCC('v','p','3','1'), CODEC_ID_VP3,
 
490
      VIDEO_ES, "On2's VP3 Video" },
 
491
 
 
492
    /* On2  VP5, VP6 codecs */
 
493
#if LIBAVCODEC_VERSION_INT >= ((51<<16)+(14<<8)+0)
 
494
    { VLC_FOURCC('V','P','5',' '), CODEC_ID_VP5,
 
495
      VIDEO_ES, "On2's VP5 Video" },
 
496
    { VLC_FOURCC('V','P','5','0'), CODEC_ID_VP5,
 
497
      VIDEO_ES, "On2's VP5 Video" },
 
498
    { VLC_FOURCC('V','P','6','2'), CODEC_ID_VP6,
 
499
      VIDEO_ES, "On2's VP6.2 Video" },
 
500
    { VLC_FOURCC('v','p','6','2'), CODEC_ID_VP6,
 
501
      VIDEO_ES, "On2's VP6.2 Video" },
 
502
    { VLC_FOURCC('V','P','6','F'), CODEC_ID_VP6F,
 
503
      VIDEO_ES, "On2's VP6.2 Video (Flash)" },
 
504
#endif
 
505
 
 
506
#if LIBAVCODEC_VERSION_INT >= ((51<<16)+(27<<8)+0)
 
507
    { VLC_FOURCC('V','P','6','0'), CODEC_ID_VP6,
 
508
      VIDEO_ES, "On2's VP6.0 Video" },
 
509
    { VLC_FOURCC('V','P','6','1'), CODEC_ID_VP6,
 
510
      VIDEO_ES, "On2's VP6.1 Video" },
 
511
#endif
 
512
 
 
513
#if LIBAVCODEC_VERSION_INT >= ((51<<16)+(47<<8)+0)
 
514
    { VLC_FOURCC('V','P','6','A'), CODEC_ID_VP6A,
 
515
      VIDEO_ES, "On2's VP6 A Video" },
 
516
#endif
 
517
 
 
518
    /* Xiph.org theora */
 
519
    { VLC_FOURCC('t','h','e','o'), CODEC_ID_THEORA,
 
520
      VIDEO_ES, "Xiph.org's Theora Video" },
 
521
    { VLC_FOURCC('T','h','r','a'), CODEC_ID_THEORA,
 
522
      VIDEO_ES, "Xiph.org's Theora Video" },
 
523
 
 
524
#if ( !defined( WORDS_BIGENDIAN ) )
 
525
    /* Asus Video (Another thing that doesn't work on PPC) */
 
526
    { VLC_FOURCC('A','S','V','1'), CODEC_ID_ASV1,
 
527
      VIDEO_ES, "Asus V1 Video" },
 
528
    { VLC_FOURCC('A','S','V','2'), CODEC_ID_ASV2,
 
529
      VIDEO_ES, "Asus V2 Video" },
 
530
#endif
 
531
 
 
532
    /* FFMPEG Video 1 (lossless codec) */
 
533
    { VLC_FOURCC('F','F','V','1'), CODEC_ID_FFV1,
 
534
      VIDEO_ES, "FFMpeg Video 1" },
 
535
 
 
536
    /* ATI VCR1 */
 
537
    { VLC_FOURCC('V','C','R','1'), CODEC_ID_VCR1,
 
538
      VIDEO_ES, "ATI VCR1 Video" },
 
539
 
 
540
    /* Cirrus Logic AccuPak */
 
541
    { VLC_FOURCC('C','L','J','R'), CODEC_ID_CLJR,
 
542
      VIDEO_ES, "Creative Logic AccuPak" },
 
543
 
 
544
    /* Real Video */
 
545
    { VLC_FOURCC('R','V','1','0'), CODEC_ID_RV10,
 
546
      VIDEO_ES, "Real Video 10" },
 
547
    { VLC_FOURCC('r','v','1','0'), CODEC_ID_RV10,
 
548
      VIDEO_ES, "Real Video 10" },
 
549
    { VLC_FOURCC('R','V','1','3'), CODEC_ID_RV10,
 
550
      VIDEO_ES, "Real Video 13" },
 
551
    { VLC_FOURCC('r','v','1','3'), CODEC_ID_RV10,
 
552
      VIDEO_ES, "Real Video 13" },
 
553
#if LIBAVCODEC_VERSION_INT >= ((51<<16)+(15<<8)+1)
 
554
    { VLC_FOURCC('R','V','2','0'), CODEC_ID_RV20,
 
555
      VIDEO_ES, "Real Video 20" },
 
556
    { VLC_FOURCC('r','v','2','0'), CODEC_ID_RV20,
 
557
      VIDEO_ES, "Real Video 20" },
 
558
#endif
 
559
 
 
560
    /* Apple Video */
 
561
    { VLC_FOURCC('r','p','z','a'), CODEC_ID_RPZA,
 
562
      VIDEO_ES, "Apple Video" },
 
563
    { VLC_FOURCC('a','z','p','r'), CODEC_ID_RPZA,
 
564
      VIDEO_ES, "Apple Video" },
 
565
 
 
566
    { VLC_FOURCC('s','m','c',' '), CODEC_ID_SMC,
 
567
      VIDEO_ES, "Apple graphics" },
 
568
 
 
569
 /* CINEPAK. We have our own decoder with an higher priority,
 
570
       but this can't harm */
 
571
    { VLC_FOURCC('C','V','I','D'), CODEC_ID_CINEPAK,
 
572
      VIDEO_ES, "Cinepak Video" },
 
573
    { VLC_FOURCC('c','v','i','d'), CODEC_ID_CINEPAK,
 
574
      VIDEO_ES, "Cinepak Video" },
 
575
 
 
576
    /* Screen Capture Video Codecs */
 
577
    { VLC_FOURCC('t','s','c','c'), CODEC_ID_TSCC,
 
578
      VIDEO_ES, "TechSmith Camtasia Screen Capture Video" },
 
579
    { VLC_FOURCC('T','S','C','C'), CODEC_ID_TSCC,
 
580
      VIDEO_ES, "TechSmith Camtasia Screen Capture Video" },
 
581
 
 
582
    { VLC_FOURCC('C','S','C','D'), CODEC_ID_CSCD,
 
583
      VIDEO_ES, "CamStudio Screen Codec" },
 
584
    { VLC_FOURCC('c','s','c','d'), CODEC_ID_CSCD,
 
585
      VIDEO_ES, "CamStudio Screen Codec" },
 
586
 
 
587
    { VLC_FOURCC('Z','M','B','V'), CODEC_ID_ZMBV,
 
588
      VIDEO_ES, "DosBox Capture Codec" },
 
589
 
 
590
#if LIBAVCODEC_VERSION_INT >= ((51<<16)+(13<<8)+0)
 
591
    { VLC_FOURCC('V','M','n','c'), CODEC_ID_VMNC,
 
592
      VIDEO_ES, "VMware Video" },
 
593
#endif
 
594
    { VLC_FOURCC('F','P','S','1'), CODEC_ID_FRAPS,
 
595
      VIDEO_ES, "FRAPS: Realtime Video Capture" },
 
596
    { VLC_FOURCC('f','p','s','1'), CODEC_ID_FRAPS,
 
597
      VIDEO_ES, "FRAPS: Realtime Video Capture" },
 
598
 
 
599
    /* Duck TrueMotion */
 
600
    { VLC_FOURCC('D','U','C','K'), CODEC_ID_TRUEMOTION1,
 
601
      VIDEO_ES, "Duck TrueMotion v1 Video" },
 
602
    { VLC_FOURCC('T','M','2','0'), CODEC_ID_TRUEMOTION2,
 
603
      VIDEO_ES, "Duck TrueMotion v2.0 Video" },
 
604
 
 
605
    /* FFMPEG's SNOW wavelet codec */
 
606
    { VLC_FOURCC('S','N','O','W'), CODEC_ID_SNOW,
 
607
      VIDEO_ES, "FFMpeg SNOW wavelet Video" },
 
608
    { VLC_FOURCC('s','n','o','w'), CODEC_ID_SNOW,
 
609
      VIDEO_ES, "FFMpeg SNOW wavelet Video" },
 
610
 
 
611
    { VLC_FOURCC('r','l','e',' '), CODEC_ID_QTRLE,
 
612
      VIDEO_ES, "Apple QuickTime RLE Video" },
 
613
 
 
614
    { VLC_FOURCC('q','d','r','w'), CODEC_ID_QDRAW,
 
615
      VIDEO_ES, "Apple QuickDraw Video" },
 
616
 
 
617
    { VLC_FOURCC('Q','P','E','G'), CODEC_ID_QPEG,
 
618
      VIDEO_ES, "QPEG Video" },
 
619
    { VLC_FOURCC('Q','1','.','0'), CODEC_ID_QPEG,
 
620
      VIDEO_ES, "QPEG Video" },
 
621
    { VLC_FOURCC('Q','1','.','1'), CODEC_ID_QPEG,
 
622
      VIDEO_ES, "QPEG Video" },
 
623
 
 
624
    { VLC_FOURCC('U','L','T','I'), CODEC_ID_ULTI,
 
625
      VIDEO_ES, "IBM Ultimotion Video" },
 
626
 
 
627
    { VLC_FOURCC('V','I','X','L'), CODEC_ID_VIXL,
 
628
      VIDEO_ES, "Miro/Pinnacle VideoXL Video" },
 
629
    { VLC_FOURCC('P','I','X','L'), CODEC_ID_VIXL,
 
630
      VIDEO_ES, "Pinnacle VideoXL Video" },
 
631
 
 
632
    { VLC_FOURCC('L','O','C','O'), CODEC_ID_LOCO,
 
633
      VIDEO_ES, "LOCO Video" },
 
634
 
 
635
    { VLC_FOURCC('W','N','V','1'), CODEC_ID_WNV1,
 
636
      VIDEO_ES, "Winnov WNV1 Video" },
 
637
 
 
638
    { VLC_FOURCC('A','A','S','C'), CODEC_ID_AASC,
 
639
      VIDEO_ES, "Autodesc RLE Video" },
 
640
 
 
641
    { VLC_FOURCC('I','V','2','0'), CODEC_ID_INDEO2,
 
642
      VIDEO_ES, "Indeo Video v2" },
 
643
    { VLC_FOURCC('R','T','2','1'), CODEC_ID_INDEO2,
 
644
      VIDEO_ES, "Indeo Video v2" },
 
645
 
 
646
        /* Flash Screen Video */
 
647
#if LIBAVCODEC_VERSION_INT >= ((51<<16)+(11<<8)+0)
 
648
    { VLC_FOURCC('F','S','V','1'), CODEC_ID_FLASHSV,
 
649
              VIDEO_ES, "Flash Screen Video" },
 
650
#endif
 
651
   { VLC_FOURCC('K','M','V','C'), CODEC_ID_KMVC,
 
652
      VIDEO_ES, "Karl Morton's Video Codec (Worms)" },
 
653
 
 
654
#if LIBAVCODEC_VERSION_INT >= ((51<<16)+(13<<8)+0)
 
655
    { VLC_FOURCC('N','U','V','1'), CODEC_ID_NUV,
 
656
      VIDEO_ES, "Nuppel Video" },
 
657
    { VLC_FOURCC('R','J','P','G'), CODEC_ID_NUV,
 
658
      VIDEO_ES, "Nuppel Video" },
 
659
#endif
 
660
 
 
661
#if LIBAVCODEC_VERSION_INT >= ((51<<16)+(8<<8)+0)
 
662
    /* CODEC_ID_SMACKVIDEO */
 
663
    { VLC_FOURCC('S','M','K','2'), CODEC_ID_SMACKVIDEO,
 
664
      VIDEO_ES, "Smacker Video" },
 
665
    { VLC_FOURCC('S','M','K','4'), CODEC_ID_SMACKVIDEO,
 
666
      VIDEO_ES, "Smacker Video" },
 
667
#endif
 
668
 
 
669
    /* Chinese AVS - Untested */
 
670
#if LIBAVCODEC_VERSION_INT >= ((51<<16)+(8<<8)+0)
 
671
    { VLC_FOURCC('C','A','V','S'), CODEC_ID_CAVS,
 
672
      VIDEO_ES, "Chinese AVS" },
 
673
#endif
 
674
 
 
675
#if LIBAVCODEC_VERSION_INT >= ((51<<16)+(40<<8)+0)
 
676
    /* Untested yet */
 
677
    { VLC_FOURCC('A','V','d','n'), CODEC_ID_DNXHD,
 
678
      VIDEO_ES, "DNxHD" },
 
679
#endif
 
680
    { VLC_FOURCC('8','B','P','S'), CODEC_ID_8BPS,
 
681
      VIDEO_ES, "8BPS" },
 
682
 
 
683
#if LIBAVCODEC_VERSION_INT >= ((51<<16)+(52<<8)+0)
 
684
    { VLC_FOURCC('M','L','2','O'), CODEC_ID_MIMIC,
 
685
      VIDEO_ES, "Mimic" },
 
686
#endif
 
687
 
 
688
    /* Videogames Codecs */
 
689
 
 
690
    /* Interplay MVE */
 
691
    { VLC_FOURCC('i','m','v','e'), CODEC_ID_INTERPLAY_VIDEO,
 
692
      VIDEO_ES, "Interplay MVE Video" },
 
693
    { VLC_FOURCC('I','N','P','V'), CODEC_ID_INTERPLAY_VIDEO,
 
694
      VIDEO_ES, "Interplay MVE Video" },
 
695
 
 
696
    /* Id Quake II CIN */
 
697
    { VLC_FOURCC('I','D','C','I'), CODEC_ID_IDCIN,
 
698
      VIDEO_ES, "Id Quake II CIN Video" },
 
699
 
 
700
    /* 4X Technologies */
 
701
    { VLC_FOURCC('4','x','m','v'), CODEC_ID_4XM,
 
702
      VIDEO_ES, "4X Technologies Video" },
 
703
    { VLC_FOURCC('4','X','M','V'), CODEC_ID_4XM,
 
704
      VIDEO_ES, "4X Technologies Video" },
 
705
 
 
706
    /* Id RoQ */
 
707
    { VLC_FOURCC('R','o','Q','v'), CODEC_ID_ROQ,
 
708
      VIDEO_ES, "Id RoQ Video" },
 
709
 
 
710
    /* Sony Playstation MDEC */
 
711
    { VLC_FOURCC('M','D','E','C'), CODEC_ID_MDEC,
 
712
      VIDEO_ES, "PSX MDEC Video" },
 
713
 
 
714
    /* Sierra VMD */
 
715
    { VLC_FOURCC('v','m','d','v'), CODEC_ID_VMDVIDEO,
 
716
      VIDEO_ES, "Sierra VMD Video" },
 
717
    { VLC_FOURCC('V','M','D','V'), CODEC_ID_VMDVIDEO,
 
718
      VIDEO_ES, "Sierra VMD Video" },
 
719
 
 
720
#if 0
 
721
/*    UNTESTED VideoGames*/
 
722
    { VLC_FOURCC('W','C','3','V'), CODEC_ID_XAN_WC3,
 
723
      VIDEO_ES, "XAN wc3 Video" },
 
724
    { VLC_FOURCC('W','C','4','V'), CODEC_ID_XAN_WC4,
 
725
      VIDEO_ES, "XAN wc4 Video" },
 
726
    { VLC_FOURCC('S','T','3','C'), CODEC_ID_TXD,
 
727
      VIDEO_ES, "Renderware TeXture Dictionary" },
 
728
    { VLC_FOURCC('V','Q','A','V'), CODEC_ID_WS_VQA,
 
729
      VIDEO_ES, "WestWood Vector Quantized Animation" },
 
730
    { VLC_FOURCC('T','S','E','Q'), CODEC_ID_TIERTEXSEQVIDEO,
 
731
      VIDEO_ES, "Tiertex SEQ Video" },
 
732
    { VLC_FOURCC('D','X','A','1'), CODEC_ID_DXA,
 
733
      VIDEO_ES, "Feeble DXA Video" },
 
734
    { VLC_FOURCC('D','C','I','V'), CODEC_ID_DSICINVIDEO,
 
735
      VIDEO_ES, "Delphine CIN Video" },
 
736
    { VLC_FOURCC('T','H','P','V'), CODEC_ID_THP,
 
737
      VIDEO_ES, "THP Video" },
 
738
    { VLC_FOURCC('B','E','T','H'), CODEC_ID_BETHSOFTVID,
 
739
      VIDEO_ES, "THP Video" },
 
740
    { VLC_FOURCC('C','9','3','V'), CODEC_ID_C93,
 
741
      VIDEO_ES, "THP Video" },
 
742
#endif
 
743
 
 
744
    /*
 
745
     *  Image codecs
 
746
     */
 
747
    { VLC_FOURCC('p','n','g',' '), CODEC_ID_PNG,
 
748
      VIDEO_ES, "PNG Image" },
 
749
    { VLC_FOURCC('p','p','m',' '), CODEC_ID_PPM,
 
750
      VIDEO_ES, "PPM Image" },
 
751
    { VLC_FOURCC('p','g','m',' '), CODEC_ID_PGM,
 
752
      VIDEO_ES, "PGM Image" },
 
753
    { VLC_FOURCC('p','g','m','y'), CODEC_ID_PGMYUV,
 
754
      VIDEO_ES, "PGM YUV Image" },
 
755
    { VLC_FOURCC('p','a','m',' '), CODEC_ID_PAM,
 
756
      VIDEO_ES, "PAM Image" },
 
757
    { VLC_FOURCC('M','J','L','S'), CODEC_ID_JPEGLS,
 
758
      VIDEO_ES, "PAM Image" },
 
759
 
 
760
#if LIBAVCODEC_VERSION_INT >= ((51<<16)+(0<<8)+0)
 
761
    { VLC_FOURCC('b','m','p',' '), CODEC_ID_BMP,
 
762
      VIDEO_ES, "BMP Image" },
 
763
#endif
 
764
 
 
765
#if LIBAVCODEC_VERSION_INT >= ((51<<16)+(40<<8)+1)
 
766
    { VLC_FOURCC('t','i','f','f'), CODEC_ID_TIFF,
 
767
      VIDEO_ES, "TIFF Image" },
 
768
    { VLC_FOURCC('g','i','f',' '), CODEC_ID_GIF,
 
769
      VIDEO_ES, "GIF Image" },
 
770
    { VLC_FOURCC('t','g','a',' '), CODEC_ID_TARGA,
 
771
      VIDEO_ES, "Truevision Targa Image" },
 
772
    { VLC_FOURCC('m','t','g','a'), CODEC_ID_TARGA,
 
773
      VIDEO_ES, "Truevision Targa Image" },
 
774
    { VLC_FOURCC('M','T','G','A'), CODEC_ID_TARGA,
 
775
      VIDEO_ES, "Truevision Targa Image" },
 
776
#endif
 
777
#if LIBAVCODEC_VERSION_INT >= ((51<<16)+(40<<8)+3)
 
778
    { VLC_FOURCC('s','g','i',' '), CODEC_ID_SGI,
 
779
      VIDEO_ES, "SGI Image" },
 
780
#endif
 
781
 
 
782
#if LIBAVCODEC_VERSION_INT >= ((51<<16)+(55<<8)+0)
 
783
    { VLC_FOURCC('d','r','a','c'), CODEC_ID_DIRAC,
 
784
      VIDEO_ES, "Dirac" },
 
785
#endif
 
786
 
 
787
    /*
 
788
     *  Audio Codecs
 
789
     */
 
790
 
 
791
    /* Windows Media Audio 1 */
 
792
    { VLC_FOURCC('W','M','A','1'), CODEC_ID_WMAV1,
 
793
      AUDIO_ES, "Windows Media Audio 1" },
 
794
    { VLC_FOURCC('w','m','a','1'), CODEC_ID_WMAV1,
 
795
      AUDIO_ES, "Windows Media Audio 1" },
 
796
 
 
797
    /* Windows Media Audio 2 */
 
798
    { VLC_FOURCC('W','M','A','2'), CODEC_ID_WMAV2,
 
799
      AUDIO_ES, "Windows Media Audio 2" },
 
800
    { VLC_FOURCC('w','m','a','2'), CODEC_ID_WMAV2,
 
801
      AUDIO_ES, "Windows Media Audio 2" },
 
802
 
 
803
    /* DV Audio */
 
804
    { VLC_FOURCC('d','v','a','u'), CODEC_ID_DVAUDIO,
 
805
      AUDIO_ES, "DV Audio" },
 
806
    { VLC_FOURCC('v','d','v','a'), CODEC_ID_DVAUDIO,
 
807
      AUDIO_ES, "DV Audio" },
 
808
    { VLC_FOURCC('d','v','c','a'), CODEC_ID_DVAUDIO,
 
809
      AUDIO_ES, "DV Audio" },
 
810
    { VLC_FOURCC('R','A','D','V'), CODEC_ID_DVAUDIO,
 
811
      AUDIO_ES, "DV Audio" },
 
812
 
 
813
    /* MACE-3 Audio */
 
814
    { VLC_FOURCC('M','A','C','3'), CODEC_ID_MACE3,
 
815
      AUDIO_ES, "MACE-3 Audio" },
 
816
 
 
817
    /* MACE-6 Audio */
 
818
    { VLC_FOURCC('M','A','C','6'), CODEC_ID_MACE6,
 
819
      AUDIO_ES, "MACE-6 Audio" },
 
820
 
 
821
#if LIBAVCODEC_VERSION_INT >= ((51<<16)+(41<<8)+1)
 
822
    /* MUSEPACK7 Audio */
 
823
    { VLC_FOURCC('M','P','C',' '), CODEC_ID_MUSEPACK7,
 
824
      AUDIO_ES, "MUSEPACK7 Audio" },
 
825
#endif
 
826
#if LIBAVCODEC_VERSION_INT >= ((51<<16)+(48<<8)+0)
 
827
    /* MUSEPACK8 Audio */
 
828
    { VLC_FOURCC('M','P','C','K'), CODEC_ID_MUSEPACK8,
 
829
      AUDIO_ES, "MUSEPACK8 Audio" },
 
830
    { VLC_FOURCC('M','P','C','8'), CODEC_ID_MUSEPACK8,
 
831
      AUDIO_ES, "MUSEPACK8 Audio" },
 
832
#endif
 
833
 
 
834
    /* RealAudio 1.0 */
 
835
    { VLC_FOURCC('1','4','_','4'), CODEC_ID_RA_144,
 
836
      AUDIO_ES, "RealAudio 1.0" },
 
837
    { VLC_FOURCC('l','p','c','J'), CODEC_ID_RA_144,
 
838
      AUDIO_ES, "RealAudio 1.0" },
 
839
 
 
840
    /* RealAudio 2.0 */
 
841
    { VLC_FOURCC('2','8','_','8'), CODEC_ID_RA_288,
 
842
      AUDIO_ES, "RealAudio 2.0" },
 
843
 
 
844
    /* MPEG Audio layer 1/2/3 */
 
845
    { VLC_FOURCC('m','p','g','a'), CODEC_ID_MP2,
 
846
      AUDIO_ES, "MPEG Audio layer 1/2" },
 
847
    { VLC_FOURCC('m','p','3',' '), CODEC_ID_MP3,
 
848
      AUDIO_ES, "MPEG Audio layer 1/2/3" },
 
849
    { VLC_FOURCC('.','m','p','3'), CODEC_ID_MP3,
 
850
      AUDIO_ES, "MPEG Audio layer 1/2/3" },
 
851
    { VLC_FOURCC('M','P','3',' '), CODEC_ID_MP3,
 
852
      AUDIO_ES, "MPEG Audio layer 1/2/3" },
 
853
    { VLC_FOURCC('L','A','M','E'), CODEC_ID_MP3,
 
854
      AUDIO_ES, "MPEG Audio layer 1/2/3" },
 
855
 
 
856
    /* A52 Audio (aka AC3) */
 
857
    { VLC_FOURCC('a','5','2',' '), CODEC_ID_AC3,
 
858
      AUDIO_ES, "A52 Audio (aka AC3)" },
 
859
    { VLC_FOURCC('a','5','2','b'), CODEC_ID_AC3, /* VLC specific hack */
 
860
      AUDIO_ES, "A52 Audio (aka AC3)" },
 
861
 
 
862
    /* DTS Audio */
 
863
    { VLC_FOURCC('d','t','s',' '), CODEC_ID_DTS,
 
864
      AUDIO_ES, "DTS Audio" },
 
865
 
 
866
    /* AAC audio */
 
867
    { VLC_FOURCC('m','p','4','a'), CODEC_ID_AAC,
 
868
      AUDIO_ES, "MPEG AAC Audio" },
 
869
 
 
870
    /* AC-3 Audio (Dolby Digital) */
 
871
    { VLC_FOURCC('a','c','-','3'), CODEC_ID_AC3,
 
872
      AUDIO_ES, "AC-3 Audio (Dolby Digital)" },
 
873
 
 
874
    /* 4X Technologies */
 
875
    { VLC_FOURCC('4','x','m','a'), CODEC_ID_ADPCM_4XM,
 
876
      AUDIO_ES, "4X Technologies Audio" },
 
877
 
 
878
    /* EA ADPCM */
 
879
    { VLC_FOURCC('A','D','E','A'), CODEC_ID_ADPCM_EA,
 
880
      AUDIO_ES, "EA ADPCM Audio" },
 
881
 
 
882
    /* Interplay DPCM */
 
883
    { VLC_FOURCC('i','d','p','c'), CODEC_ID_INTERPLAY_DPCM,
 
884
      AUDIO_ES, "Interplay DPCM Audio" },
 
885
 
 
886
    /* Id RoQ */
 
887
    { VLC_FOURCC('R','o','Q','a'), CODEC_ID_ROQ_DPCM,
 
888
      AUDIO_ES, "Id RoQ DPCM Audio" },
 
889
 
 
890
#if LIBAVCODEC_VERSION_INT >= ((51<<16)+(27<<8)+0)
 
891
    /* DCIN Audio */
 
892
    { VLC_FOURCC('D','C','I','A'), CODEC_ID_DSICINAUDIO,
 
893
      AUDIO_ES, "Delphine CIN Audio" },
 
894
#endif
 
895
 
 
896
    /* Sony Playstation XA ADPCM */
 
897
    { VLC_FOURCC('x','a',' ',' '), CODEC_ID_ADPCM_XA,
 
898
      AUDIO_ES, "PSX XA ADPCM Audio" },
 
899
 
 
900
    /* ADX ADPCM */
 
901
    { VLC_FOURCC('a','d','x',' '), CODEC_ID_ADPCM_ADX,
 
902
      AUDIO_ES, "ADX ADPCM Audio" },
 
903
 
 
904
    /* Westwood ADPCM */
 
905
    { VLC_FOURCC('A','I','W','S'), CODEC_ID_ADPCM_IMA_WS,
 
906
      AUDIO_ES, "Westwood IMA ADPCM audio" },
 
907
 
 
908
    /* Sierra VMD */
 
909
    { VLC_FOURCC('v','m','d','a'), CODEC_ID_VMDAUDIO,
 
910
      AUDIO_ES, "Sierra VMD Audio" },
 
911
 
 
912
    /* G.726 ADPCM */
 
913
    { VLC_FOURCC('g','7','2','6'), CODEC_ID_ADPCM_G726,
 
914
      AUDIO_ES, "G.726 ADPCM Audio" },
 
915
 
 
916
    /* AMR */
 
917
    { VLC_FOURCC('s','a','m','r'), CODEC_ID_AMR_NB,
 
918
      AUDIO_ES, "AMR narrow band" },
 
919
    { VLC_FOURCC('s','a','w','b'), CODEC_ID_AMR_WB,
 
920
      AUDIO_ES, "AMR wide band" },
 
921
 
 
922
    /* FLAC */
 
923
    { VLC_FOURCC('f','l','a','c'), CODEC_ID_FLAC,
 
924
      AUDIO_ES, "FLAC (Free Lossless Audio Codec)" },
 
925
 
 
926
    /* ALAC */
 
927
    { VLC_FOURCC('a','l','a','c'), CODEC_ID_ALAC,
 
928
      AUDIO_ES, "Apple Lossless Audio Codec" },
 
929
 
 
930
#if LIBAVCODEC_VERSION_INT >= ((50<<16)+(0<<8)+1)
 
931
    /* QDM2 */
 
932
    { VLC_FOURCC('Q','D','M','2'), CODEC_ID_QDM2,
 
933
      AUDIO_ES, "QDM2 Audio" },
 
934
#endif
 
935
 
 
936
#if LIBAVCODEC_VERSION_INT >= ((51<<16)+(0<<8)+0)
 
937
    /* COOK */
 
938
    { VLC_FOURCC('c','o','o','k'), CODEC_ID_COOK,
 
939
      AUDIO_ES, "Cook Audio" },
 
940
#endif
 
941
 
 
942
#if LIBAVCODEC_VERSION_INT >= ((51<<16)+(4<<8)+0)
 
943
    /* TTA: The Lossless True Audio */
 
944
    { VLC_FOURCC('T','T','A','1'), CODEC_ID_TTA,
 
945
      AUDIO_ES, "The Lossless True Audio" },
 
946
#endif
 
947
 
 
948
#if LIBAVCODEC_VERSION_INT >= ((51<<16)+(8<<8)+0)
 
949
    /* Shorten */
 
950
    { VLC_FOURCC('s','h','n',' '), CODEC_ID_SHORTEN,
 
951
      AUDIO_ES, "Shorten Lossless Audio" },
 
952
    { VLC_FOURCC('s','h','r','n'), CODEC_ID_SHORTEN,
 
953
      AUDIO_ES, "Shorten Lossless Audio" },
 
954
#endif
 
955
 
 
956
#if LIBAVCODEC_VERSION_INT >= ((51<<16)+(16<<8)+0)
 
957
    { VLC_FOURCC('w','v','p','k'), CODEC_ID_WAVPACK,
 
958
      AUDIO_ES, "WavPack" },
 
959
    { VLC_FOURCC('W','V','P','K'), CODEC_ID_WAVPACK,
 
960
      AUDIO_ES, "WavPack" },
 
961
#endif
 
962
 
 
963
#if LIBAVCODEC_VERSION_INT >= ((51<<16)+(34<<8)+0)
 
964
    { VLC_FOURCC('g','s','m',' '), CODEC_ID_GSM,
 
965
      AUDIO_ES, "GSM Audio" },
 
966
    { VLC_FOURCC('g','s','m','s'), CODEC_ID_GSM_MS,
 
967
      AUDIO_ES, "Microsoft GSM Audio" },
 
968
#endif
 
969
 
 
970
#if LIBAVCODEC_VERSION_INT >= ((51<<16)+(40<<8)+4)
 
971
    { VLC_FOURCC('a','t','r','c'), CODEC_ID_ATRAC3,
 
972
      AUDIO_ES, "atrac 3" },
 
973
    { VLC_FOURCC(0x70,0x2,0x0,0x0), CODEC_ID_ATRAC3,
 
974
      AUDIO_ES, "atrac 3" },
 
975
#endif
 
976
 
 
977
    { VLC_FOURCC('S','O','N','C'), CODEC_ID_SONIC,
 
978
      AUDIO_ES, "Sonic" },
 
979
 
 
980
#if LIBAVCODEC_VERSION_INT >= ((51<<16)+(34<<8)+0)
 
981
    { VLC_FOURCC(0x1,0x4,0x0,0x0), CODEC_ID_IMC,
 
982
      AUDIO_ES, "IMC" },
 
983
#endif
 
984
    { VLC_FOURCC(0x22,0x0,0x0,0x0), CODEC_ID_TRUESPEECH,
 
985
      AUDIO_ES, "TrueSpeech" },
 
986
#if LIBAVCODEC_VERSION_INT >= ((51<<16)+(46<<8)+0)
 
987
    { VLC_FOURCC('N','E','L','L'), CODEC_ID_NELLYMOSER,
 
988
      AUDIO_ES, "NellyMoser ASAO" },
 
989
#endif
 
990
#if LIBAVCODEC_VERSION_INT >= ((51<<16)+(44<<8)+0)
 
991
    { VLC_FOURCC('A','P','E',' '), CODEC_ID_APE,
 
992
      AUDIO_ES, "Monkey's Audio" },
 
993
#endif
 
994
    /* PCM */
 
995
    { VLC_FOURCC('s','8',' ',' '), CODEC_ID_PCM_S8,
 
996
      AUDIO_ES, "PCM S8" },
 
997
    { VLC_FOURCC('u','8',' ',' '), CODEC_ID_PCM_U8,
 
998
      AUDIO_ES, "PCM U8" },
 
999
    { VLC_FOURCC('s','1','6','l'), CODEC_ID_PCM_S16LE,
 
1000
      AUDIO_ES, "PCM S16 LE" },
 
1001
    { VLC_FOURCC('s','1','6','b'), CODEC_ID_PCM_S16BE,
 
1002
      AUDIO_ES, "PCM S16 BE" },
 
1003
    { VLC_FOURCC('u','1','6','l'), CODEC_ID_PCM_U16LE,
 
1004
      AUDIO_ES, "PCM U16 LE" },
 
1005
    { VLC_FOURCC('u','1','6','b'), CODEC_ID_PCM_U16BE,
 
1006
      AUDIO_ES, "PCM U16 BE" },
 
1007
    { VLC_FOURCC('s','2','4','l'), CODEC_ID_PCM_S24LE,
 
1008
      AUDIO_ES, "PCM S24 LE" },
 
1009
    { VLC_FOURCC('s','2','4','b'), CODEC_ID_PCM_S24BE,
 
1010
      AUDIO_ES, "PCM S24 BE" },
 
1011
    { VLC_FOURCC('u','2','4','l'), CODEC_ID_PCM_U24LE,
 
1012
      AUDIO_ES, "PCM U24 LE" },
 
1013
    { VLC_FOURCC('u','2','4','b'), CODEC_ID_PCM_U24BE,
 
1014
      AUDIO_ES, "PCM U24 BE" },
 
1015
    { VLC_FOURCC('s','3','2','l'), CODEC_ID_PCM_S32LE,
 
1016
      AUDIO_ES, "PCM S32 LE" },
 
1017
    { VLC_FOURCC('s','3','2','b'), CODEC_ID_PCM_S32BE,
 
1018
      AUDIO_ES, "PCM S32 BE" },
 
1019
    { VLC_FOURCC('u','3','2','l'), CODEC_ID_PCM_U32LE,
 
1020
      AUDIO_ES, "PCM U32 LE" },
 
1021
    { VLC_FOURCC('u','3','2','b'), CODEC_ID_PCM_U32BE,
 
1022
      AUDIO_ES, "PCM U32 BE" },
 
1023
    { VLC_FOURCC('a','l','a','w'), CODEC_ID_PCM_ALAW,
 
1024
      AUDIO_ES, "PCM ALAW" },
 
1025
    { VLC_FOURCC('u','l','a','w'), CODEC_ID_PCM_MULAW,
 
1026
      AUDIO_ES, "PCM ULAW" },
 
1027
    { VLC_FOURCC('d','a','u','d'), CODEC_ID_PCM_S24DAUD,
 
1028
      AUDIO_ES, "PCM ULAW" },
 
1029
 
 
1030
    { 0, 0, 0, 0 }
 
1031
};
 
1032
 
 
1033
static int GetFfmpegCodec( vlc_fourcc_t i_fourcc, int *pi_cat,
 
1034
                           int *pi_ffmpeg_codec, const char **ppsz_name )
 
1035
{
 
1036
    int i;
 
1037
 
 
1038
    for( i = 0; codecs_table[i].i_fourcc != 0; i++ )
 
1039
    {
 
1040
        if( codecs_table[i].i_fourcc == i_fourcc )
 
1041
        {
 
1042
            if( pi_cat ) *pi_cat = codecs_table[i].i_cat;
 
1043
            if( pi_ffmpeg_codec ) *pi_ffmpeg_codec = codecs_table[i].i_codec;
 
1044
            if( ppsz_name ) *ppsz_name = (char *)codecs_table[i].psz_name;
 
1045
 
 
1046
            return true;
 
1047
        }
 
1048
    }
 
1049
    return false;
 
1050
}
 
1051
 
 
1052
static int GetVlcFourcc( int i_ffmpeg_codec, int *pi_cat,
 
1053
                         vlc_fourcc_t *pi_fourcc, const char **ppsz_name )
 
1054
{
 
1055
    int i;
 
1056
 
 
1057
    for( i = 0; codecs_table[i].i_codec != 0; i++ )
 
1058
    {
 
1059
        if( codecs_table[i].i_codec == i_ffmpeg_codec )
 
1060
        {
 
1061
            if( pi_cat ) *pi_cat = codecs_table[i].i_cat;
 
1062
            if( pi_fourcc ) *pi_fourcc = codecs_table[i].i_fourcc;
 
1063
            if( ppsz_name ) *ppsz_name = codecs_table[i].psz_name;
 
1064
 
 
1065
            return true;
 
1066
        }
 
1067
    }
 
1068
    return false;
 
1069
}