annotate libmpdemux/mp_taglists.c @ 27894:d06d8e459ae1

Use pthreads for the cache on Cygwin, since _beginthread is not available and the previous CreateThread method would probably leak memory here, too. Also pthreads seems to be the official Cygwin threading API.
author reimar
date Sat, 15 Nov 2008 19:08:50 +0000
parents 88c54359eb69
children 02d3778bf947
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
26328
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
1 /*
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
2 * This file is part of MPlayer.
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
3 *
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
4 * MPlayer is free software; you can redistribute it and/or modify
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
5 * it under the terms of the GNU General Public License as published by
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
6 * the Free Software Foundation; either version 2 of the License, or
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
7 * (at your option) any later version.
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
8 *
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
9 * MPlayer is distributed in the hope that it will be useful,
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
12 * GNU General Public License for more details.
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
13 *
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
14 * You should have received a copy of the GNU General Public License along
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
15 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
17 */
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
18
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
19 #include "config.h"
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
20
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
21 #include "libavformat/avformat.h"
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
22 #include "libavformat/riff.h"
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
23
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
24 static const AVCodecTag mp_wav_tags[] = {
27429
bc54ab99e5b6 add mapping for real audio and video CODEC_ID to MPlayer's fourcc
aurel
parents: 27324
diff changeset
25 { CODEC_ID_RA_144, MKTAG('1', '4', '_', '4')},
bc54ab99e5b6 add mapping for real audio and video CODEC_ID to MPlayer's fourcc
aurel
parents: 27324
diff changeset
26 { CODEC_ID_RA_288, MKTAG('2', '8', '_', '8')},
26328
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
27 { CODEC_ID_ADPCM_4XM, MKTAG('4', 'X', 'M', 'A')},
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
28 { CODEC_ID_ADPCM_EA, MKTAG('A', 'D', 'E', 'A')},
26760
424b12ccbc7b add ffmpeg ea maxis xa adpcm audio decoder
compn
parents: 26735
diff changeset
29 { CODEC_ID_ADPCM_EA_MAXIS_XA, MKTAG('A', 'D', 'X', 'A')},
26328
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
30 { CODEC_ID_ADPCM_IMA_WS, MKTAG('A', 'I', 'W', 'S')},
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
31 { CODEC_ID_ADPCM_THP, MKTAG('T', 'H', 'P', 'A')},
27101
2b2ee1d4a62a add ffmdec and ffadpcmxa
compn
parents: 26846
diff changeset
32 { CODEC_ID_ADPCM_XA, MKTAG('P', 'S', 'X', 'A')},
26328
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
33 { CODEC_ID_AMR_NB, MKTAG('n', 'b', 0, 0)},
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
34 { CODEC_ID_COOK, MKTAG('c', 'o', 'o', 'k')},
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
35 { CODEC_ID_DSICINAUDIO, MKTAG('D', 'C', 'I', 'A')},
27482
88c54359eb69 support E-AC-3 decoding using ffmpeg
aurel
parents: 27429
diff changeset
36 { CODEC_ID_EAC3, MKTAG('E', 'A', 'C', '3')},
26328
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
37 { CODEC_ID_INTERPLAY_DPCM, MKTAG('I', 'N', 'P', 'A')},
27200
4c4c3d7845fc Add support for MLP audio through FFmpeg.
diego
parents: 27101
diff changeset
38 { CODEC_ID_MLP, MKTAG('M', 'L', 'P', ' ')},
26328
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
39 { CODEC_ID_MUSEPACK7, MKTAG('M', 'P', 'C', ' ')},
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
40 { CODEC_ID_MUSEPACK8, MKTAG('M', 'P', 'C', '8')},
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
41 { CODEC_ID_NELLYMOSER, MKTAG('N', 'E', 'L', 'L')},
26846
d8fd07838415 add qclp fourcc
compn
parents: 26760
diff changeset
42 { CODEC_ID_QCELP, MKTAG('Q', 'c', 'l', 'p')},
26328
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
43 { CODEC_ID_QDM2, MKTAG('Q', 'D', 'M', '2')},
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
44 { CODEC_ID_ROQ_DPCM, MKTAG('R', 'o', 'Q', 'A')},
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
45 { CODEC_ID_SHORTEN, MKTAG('s', 'h', 'r', 'n')},
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
46 { CODEC_ID_SPEEX, MKTAG('s', 'p', 'x', ' ')},
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
47 { CODEC_ID_TTA, MKTAG('T', 'T', 'A', '1')},
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
48 { CODEC_ID_WAVPACK, MKTAG('W', 'V', 'P', 'K')},
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
49 { CODEC_ID_WESTWOOD_SND1, MKTAG('S', 'N', 'D', '1')},
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
50 { CODEC_ID_XAN_DPCM, MKTAG('A', 'x', 'a', 'n')},
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
51 { 0, 0 },
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
52 };
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
53
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
54 const struct AVCodecTag *mp_wav_taglists[] = {codec_wav_tags, mp_wav_tags, 0};
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
55
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
56 static const AVCodecTag mp_wav_override_tags[] = {
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
57 { CODEC_ID_PCM_S8, MKTAG('t', 'w', 'o', 's')},
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
58 { CODEC_ID_PCM_U8, 1},
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
59 { CODEC_ID_PCM_S16BE, MKTAG('t', 'w', 'o', 's')},
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
60 { CODEC_ID_PCM_S16LE, 1},
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
61 { CODEC_ID_PCM_S24BE, MKTAG('i', 'n', '2', '4')},
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
62 { 0, 0 },
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
63 };
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
64
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
65 const struct AVCodecTag *mp_wav_override_taglists[] = {mp_wav_override_tags, 0};
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
66
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
67 static const AVCodecTag mp_bmp_tags[] = {
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
68 { CODEC_ID_AMV, MKTAG('A', 'M', 'V', 'V')},
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
69 { CODEC_ID_BETHSOFTVID, MKTAG('B', 'E', 'T', 'H')},
26459
f6183d22bdb3 Add BFI video support through FFmpeg.
diego
parents: 26328
diff changeset
70 { CODEC_ID_BFI, MKTAG('B', 'F', 'I', 'V')},
26328
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
71 { CODEC_ID_C93, MKTAG('C', '9', '3', 'V')},
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
72 { CODEC_ID_DSICINVIDEO, MKTAG('D', 'C', 'I', 'V')},
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
73 { CODEC_ID_DXA, MKTAG('D', 'X', 'A', '1')},
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
74 { CODEC_ID_FLIC, MKTAG('F', 'L', 'I', 'C')},
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
75 { CODEC_ID_IDCIN, MKTAG('I', 'D', 'C', 'I')},
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
76 { CODEC_ID_INTERPLAY_VIDEO, MKTAG('I', 'N', 'P', 'V')},
27101
2b2ee1d4a62a add ffmdec and ffadpcmxa
compn
parents: 26846
diff changeset
77 { CODEC_ID_MDEC, MKTAG('M', 'D', 'E', 'C')},
27323
7a41444980f3 add ffmotionpixels codec
compn
parents: 27200
diff changeset
78 { CODEC_ID_MOTIONPIXELS, MKTAG('M', 'V', 'I', '1')},
26735
884d72a2dc78 add rl2 codec
compn
parents: 26459
diff changeset
79 { CODEC_ID_RL2, MKTAG('R', 'L', '2', 'V')},
26328
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
80 { CODEC_ID_ROQ, MKTAG('R', 'o', 'Q', 'V')},
27429
bc54ab99e5b6 add mapping for real audio and video CODEC_ID to MPlayer's fourcc
aurel
parents: 27324
diff changeset
81 { CODEC_ID_RV10, MKTAG('R', 'V', '1', '0')},
bc54ab99e5b6 add mapping for real audio and video CODEC_ID to MPlayer's fourcc
aurel
parents: 27324
diff changeset
82 { CODEC_ID_RV20, MKTAG('R', 'V', '2', '0')},
bc54ab99e5b6 add mapping for real audio and video CODEC_ID to MPlayer's fourcc
aurel
parents: 27324
diff changeset
83 { CODEC_ID_RV30, MKTAG('R', 'V', '3', '0')},
bc54ab99e5b6 add mapping for real audio and video CODEC_ID to MPlayer's fourcc
aurel
parents: 27324
diff changeset
84 { CODEC_ID_RV40, MKTAG('R', 'V', '4', '0')},
26328
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
85 { CODEC_ID_THP, MKTAG('T', 'H', 'P', 'V')},
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
86 { CODEC_ID_TIERTEXSEQVIDEO, MKTAG('T', 'S', 'E', 'Q')},
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
87 { CODEC_ID_TXD, MKTAG('T', 'X', 'D', 'V')},
27324
f52396a61654 add ffvp6a codec
compn
parents: 27323
diff changeset
88 { CODEC_ID_VP6A, MKTAG('V', 'P', '6', 'A')},
26328
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
89 { CODEC_ID_VMDVIDEO, MKTAG('V', 'M', 'D', 'V')},
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
90 { CODEC_ID_WS_VQA, MKTAG('V', 'Q', 'A', 'V')},
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
91 { CODEC_ID_XAN_WC3, MKTAG('W', 'C', '3', 'V')},
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
92 { CODEC_ID_NUV, MKTAG('N', 'U', 'V', '1')},
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
93 { 0, 0 },
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
94 };
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
95
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
96 const struct AVCodecTag *mp_bmp_taglists[] = {codec_bmp_tags, mp_bmp_tags, 0};
11aac031b4b7 Split the lavf taglists out of the lavf muxer to allow using libmpmux
albeu
parents:
diff changeset
97