Mercurial > libavformat.hg
annotate matroska.c @ 6118:6780dc315f36 libavformat
Remove support for pre-Haiku, non-POSIX, non-C99 BeOS variants.
BeOS support has been broken for many years and the "maintainer" of the port
has not reacted to countless requests to get the port fixed.
approved by Mans
author | diego |
---|---|
date | Thu, 10 Jun 2010 16:51:14 +0000 |
parents | d01a092c7423 |
children | 8a971c824cdc |
rev | line source |
---|---|
380
9416dc106e06
matroska demuxer by ("Ronald S. Bultje" <R dot S dot Bultje at students dot uu dot nl>)
michael
parents:
diff
changeset
|
1 /* |
2142
3aa1f0f698de
split some common code from the mkv demuxer that will be useful to the muxer
aurel
parents:
2023
diff
changeset
|
2 * Matroska common data |
380
9416dc106e06
matroska demuxer by ("Ronald S. Bultje" <R dot S dot Bultje at students dot uu dot nl>)
michael
parents:
diff
changeset
|
3 * Copyright (c) 2003-2004 The ffmpeg Project |
9416dc106e06
matroska demuxer by ("Ronald S. Bultje" <R dot S dot Bultje at students dot uu dot nl>)
michael
parents:
diff
changeset
|
4 * |
1358
0899bfe4105c
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
1332
diff
changeset
|
5 * This file is part of FFmpeg. |
0899bfe4105c
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
1332
diff
changeset
|
6 * |
0899bfe4105c
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
1332
diff
changeset
|
7 * FFmpeg is free software; you can redistribute it and/or |
380
9416dc106e06
matroska demuxer by ("Ronald S. Bultje" <R dot S dot Bultje at students dot uu dot nl>)
michael
parents:
diff
changeset
|
8 * modify it under the terms of the GNU Lesser General Public |
9416dc106e06
matroska demuxer by ("Ronald S. Bultje" <R dot S dot Bultje at students dot uu dot nl>)
michael
parents:
diff
changeset
|
9 * License as published by the Free Software Foundation; either |
1358
0899bfe4105c
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
1332
diff
changeset
|
10 * version 2.1 of the License, or (at your option) any later version. |
380
9416dc106e06
matroska demuxer by ("Ronald S. Bultje" <R dot S dot Bultje at students dot uu dot nl>)
michael
parents:
diff
changeset
|
11 * |
1358
0899bfe4105c
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
1332
diff
changeset
|
12 * FFmpeg is distributed in the hope that it will be useful, |
380
9416dc106e06
matroska demuxer by ("Ronald S. Bultje" <R dot S dot Bultje at students dot uu dot nl>)
michael
parents:
diff
changeset
|
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
9416dc106e06
matroska demuxer by ("Ronald S. Bultje" <R dot S dot Bultje at students dot uu dot nl>)
michael
parents:
diff
changeset
|
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
9416dc106e06
matroska demuxer by ("Ronald S. Bultje" <R dot S dot Bultje at students dot uu dot nl>)
michael
parents:
diff
changeset
|
15 * Lesser General Public License for more details. |
9416dc106e06
matroska demuxer by ("Ronald S. Bultje" <R dot S dot Bultje at students dot uu dot nl>)
michael
parents:
diff
changeset
|
16 * |
9416dc106e06
matroska demuxer by ("Ronald S. Bultje" <R dot S dot Bultje at students dot uu dot nl>)
michael
parents:
diff
changeset
|
17 * You should have received a copy of the GNU Lesser General Public |
1358
0899bfe4105c
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
1332
diff
changeset
|
18 * License along with FFmpeg; if not, write to the Free Software |
896
edbe5c3717f9
Update licensing information: The FSF changed postal address.
diego
parents:
887
diff
changeset
|
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
380
9416dc106e06
matroska demuxer by ("Ronald S. Bultje" <R dot S dot Bultje at students dot uu dot nl>)
michael
parents:
diff
changeset
|
20 */ |
9416dc106e06
matroska demuxer by ("Ronald S. Bultje" <R dot S dot Bultje at students dot uu dot nl>)
michael
parents:
diff
changeset
|
21 |
2142
3aa1f0f698de
split some common code from the mkv demuxer that will be useful to the muxer
aurel
parents:
2023
diff
changeset
|
22 #include "matroska.h" |
380
9416dc106e06
matroska demuxer by ("Ronald S. Bultje" <R dot S dot Bultje at students dot uu dot nl>)
michael
parents:
diff
changeset
|
23 |
2793
d5842afe8539
Make ff_mkv_codec_tags array const, it is never written.
reimar
parents:
2533
diff
changeset
|
24 const CodecTags ff_mkv_codec_tags[]={ |
4086 | 25 {"A_AAC" , CODEC_ID_AAC}, |
26 {"A_AC3" , CODEC_ID_AC3}, | |
27 {"A_DTS" , CODEC_ID_DTS}, | |
28 {"A_EAC3" , CODEC_ID_EAC3}, | |
29 {"A_FLAC" , CODEC_ID_FLAC}, | |
4801 | 30 {"A_MLP" , CODEC_ID_MLP}, |
2279
3c02e08e7b5a
use the most appropriate codec id for A_MPEG/L1 and L2
aurel
parents:
2278
diff
changeset
|
31 {"A_MPEG/L2" , CODEC_ID_MP2}, |
3c02e08e7b5a
use the most appropriate codec id for A_MPEG/L1 and L2
aurel
parents:
2278
diff
changeset
|
32 {"A_MPEG/L1" , CODEC_ID_MP2}, |
4086 | 33 {"A_MPEG/L3" , CODEC_ID_MP3}, |
34 {"A_PCM/FLOAT/IEEE" , CODEC_ID_PCM_F32LE}, | |
35 {"A_PCM/FLOAT/IEEE" , CODEC_ID_PCM_F64LE}, | |
3746 | 36 {"A_PCM/INT/BIG" , CODEC_ID_PCM_S16BE}, |
37 {"A_PCM/INT/BIG" , CODEC_ID_PCM_S24BE}, | |
38 {"A_PCM/INT/BIG" , CODEC_ID_PCM_S32BE}, | |
39 {"A_PCM/INT/LIT" , CODEC_ID_PCM_S16LE}, | |
40 {"A_PCM/INT/LIT" , CODEC_ID_PCM_S24LE}, | |
41 {"A_PCM/INT/LIT" , CODEC_ID_PCM_S32LE}, | |
42 {"A_PCM/INT/LIT" , CODEC_ID_PCM_U8}, | |
4086 | 43 {"A_QUICKTIME/QDM2" , CODEC_ID_QDM2}, |
2144 | 44 {"A_REAL/14_4" , CODEC_ID_RA_144}, |
45 {"A_REAL/28_8" , CODEC_ID_RA_288}, | |
46 {"A_REAL/ATRC" , CODEC_ID_ATRAC3}, | |
47 {"A_REAL/COOK" , CODEC_ID_COOK}, | |
5832 | 48 {"A_REAL/SIPR" , CODEC_ID_SIPR}, |
4801 | 49 {"A_TRUEHD" , CODEC_ID_TRUEHD}, |
4086 | 50 {"A_TTA1" , CODEC_ID_TTA}, |
51 {"A_VORBIS" , CODEC_ID_VORBIS}, | |
52 {"A_WAVPACK4" , CODEC_ID_WAVPACK}, | |
2244 | 53 |
2278
5e5e2df75af3
reorder matroska codec tags so that the encoder picks up the appropriate tag
aurel
parents:
2264
diff
changeset
|
54 {"S_TEXT/UTF8" , CODEC_ID_TEXT}, |
2244 | 55 {"S_TEXT/ASCII" , CODEC_ID_TEXT}, |
2873
3fad6c2f343a
export raw SSA tracks with their own codec ID (patch by Evgeniy Stepanov)
aurel
parents:
2793
diff
changeset
|
56 {"S_TEXT/ASS" , CODEC_ID_SSA}, |
3fad6c2f343a
export raw SSA tracks with their own codec ID (patch by Evgeniy Stepanov)
aurel
parents:
2793
diff
changeset
|
57 {"S_TEXT/SSA" , CODEC_ID_SSA}, |
3fad6c2f343a
export raw SSA tracks with their own codec ID (patch by Evgeniy Stepanov)
aurel
parents:
2793
diff
changeset
|
58 {"S_ASS" , CODEC_ID_SSA}, |
3fad6c2f343a
export raw SSA tracks with their own codec ID (patch by Evgeniy Stepanov)
aurel
parents:
2793
diff
changeset
|
59 {"S_SSA" , CODEC_ID_SSA}, |
2244 | 60 {"S_VOBSUB" , CODEC_ID_DVD_SUBTITLE}, |
5596
952c315e58b5
Support demuxing Blu-ray subtitles in matroska files.
cehoyos
parents:
4801
diff
changeset
|
61 {"S_HDMV/PGS" , CODEC_ID_HDMV_PGS_SUBTITLE}, |
2244 | 62 |
4086 | 63 {"V_DIRAC" , CODEC_ID_DIRAC}, |
64 {"V_MJPEG" , CODEC_ID_MJPEG}, | |
65 {"V_MPEG1" , CODEC_ID_MPEG1VIDEO}, | |
66 {"V_MPEG2" , CODEC_ID_MPEG2VIDEO}, | |
67 {"V_MPEG4/ISO/ASP" , CODEC_ID_MPEG4}, | |
68 {"V_MPEG4/ISO/AP" , CODEC_ID_MPEG4}, | |
69 {"V_MPEG4/ISO/SP" , CODEC_ID_MPEG4}, | |
70 {"V_MPEG4/ISO/AVC" , CODEC_ID_H264}, | |
71 {"V_MPEG4/MS/V3" , CODEC_ID_MSMPEG4V3}, | |
72 {"V_REAL/RV10" , CODEC_ID_RV10}, | |
73 {"V_REAL/RV20" , CODEC_ID_RV20}, | |
74 {"V_REAL/RV30" , CODEC_ID_RV30}, | |
75 {"V_REAL/RV40" , CODEC_ID_RV40}, | |
76 {"V_SNOW" , CODEC_ID_SNOW}, | |
77 {"V_THEORA" , CODEC_ID_THEORA}, | |
78 {"V_UNCOMPRESSED" , CODEC_ID_RAWVIDEO}, | |
6021 | 79 {"V_VP8" , CODEC_ID_VP8}, |
4086 | 80 |
2905
616fb87724b5
Make ff_mkv_codec_tags lie entirely in .rodata section.
aurel
parents:
2873
diff
changeset
|
81 {"" , CODEC_ID_NONE} |
1024 | 82 }; |
2973 | 83 |
84 const CodecMime ff_mkv_mime_tags[] = { | |
85 {"text/plain" , CODEC_ID_TEXT}, | |
86 {"image/gif" , CODEC_ID_GIF}, | |
87 {"image/jpeg" , CODEC_ID_MJPEG}, | |
88 {"image/png" , CODEC_ID_PNG}, | |
89 {"image/tiff" , CODEC_ID_TIFF}, | |
90 {"application/x-truetype-font", CODEC_ID_TTF}, | |
91 {"application/x-font" , CODEC_ID_TTF}, | |
92 | |
93 {"" , CODEC_ID_NONE} | |
94 }; | |
4618
5b9eddbee9c4
Add some basic metadata conversion tables for matroska and asf.
aurel
parents:
4086
diff
changeset
|
95 |
5b9eddbee9c4
Add some basic metadata conversion tables for matroska and asf.
aurel
parents:
4086
diff
changeset
|
96 const AVMetadataConv ff_mkv_metadata_conv[] = { |
5618
27fd77f20a89
Add a list of generic tags and change demuxers to follow it.
pross
parents:
5596
diff
changeset
|
97 { "LEAD_PERFORMER", "performer" }, |
4618
5b9eddbee9c4
Add some basic metadata conversion tables for matroska and asf.
aurel
parents:
4086
diff
changeset
|
98 { "PART_NUMBER" , "track" }, |
5b9eddbee9c4
Add some basic metadata conversion tables for matroska and asf.
aurel
parents:
4086
diff
changeset
|
99 { 0 } |
5b9eddbee9c4
Add some basic metadata conversion tables for matroska and asf.
aurel
parents:
4086
diff
changeset
|
100 }; |