docs/random/mimetypes: Update docs to point to correct elements for various mimetypes, and some more errors pointed o...

Original commit message from CVS:
2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* docs/random/mimetypes:
Update docs to point to correct elements for various mimetypes, and
some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
<stephane.loeuillet@tiscali.fr>.
This commit is contained in:
Ronald S. Bultje 2004-01-29 09:28:58 +00:00
parent 7a5223b57a
commit 520d5c37f5
2 changed files with 43 additions and 109 deletions

View file

@ -1,3 +1,10 @@
2004-01-29 Ronald Bultje <rbultje@ronald.bitfreak.net>
* docs/random/mimetypes:
Update docs to point to correct elements for various mimetypes, and
some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
<stephane.loeuillet@tiscali.fr>.
2004-01-28 David Schleef <ds@schleef.org>
* docs/pwg/intro-basics.xml: rewrite bufferpool stuff.

View file

@ -22,20 +22,14 @@ key/value pairs).
An example of a MIME type is 'video/mpeg'. A corresponding GstCaps could be
created using code:
GstCaps *caps = gst_caps_new("video_mpeg_type",
"video/mpeg",
gst_props_new("width", GST_PROPS_INT(384),
"height", GST_PROPS_INT(288),
NULL));
or by using a macro:
GstCaps *caps = gst_caps_new_simple ("video/mpeg",
"width", G_TYPE_INT, 384,
"height", G_TYPE_INT, 288,
NULL);
GstCaps *caps = GST_CAPS_NEW("video_mpeg_type",
"video/mpeg",
"width", GST_PROPS_INT(384),
"height", GST_PROPS_INT(288));
Obviously, MIME types and their corresponding properties are of major importance
in GStreamer for uniquely identifying media streams.
MIME types and their corresponding properties are of major importance in
GStreamer for uniquely identifying media streams. Therefore, we define them
per media type. All GStreamer plugins should keep to this definition.
Official MIME media types are assigned by the IANA. Current assignments are at
http://www.iana.org/assignments/media-types/.
@ -100,14 +94,14 @@ Container formats
3 - MPEG (MPEG LA)
MIME type: video/mpeg
Properties: 'systemstream' = TRUE (BOOLEAN)
Parser: mp1videoparse
Formatter:
Parser: mpegdemux
Formatter: mplex
4 - ASF (Microsoft)
MIME type: video/x-ms-asf
Properties:
Parser: asfdemux
Formatter:
Formatter: asfmux
5 - WAV (PCM)
MIME type: audio/x-wav
@ -130,14 +124,14 @@ Container formats
8 - Ogg (Xiph)
MIME type: application/ogg
Properties:
Parser: vorbisfile
Formatter: vorbisenc
Parser: oggdemux
Formatter:
9 - Matroska
MIME type: video/x-mkv
Properties:
Parser:
Formatter:
Parser: matroskademux
Formatter: matroskamux
10 - Shockwave (Macromedia)
MIME type: application/x-shockwave-flash
@ -183,7 +177,8 @@ Container formats
Please note that we try to keep these MIME types as similar as possible to the
MIME types used as standards in Gnome (Gnome-VFS/Nautilus) and KDE
(Konqueror).
(Konqueror). Both will (in future) stick to a shared-mime-info database that
is hosted on freedesktop.org, and bases itself on IANA.
Also, there is a very thin line between audio codecs and audio containers
(take mp3 vs. sid, etc.). This is just a per-case thing right now and needs to
@ -216,8 +211,8 @@ framerate = 0 - MAXFLOAT (FLOAT)
Properties:
Optional properties: divxversion = 3/4/5 (INT)
Known fourccs: DIV3, DIV4, DIV5, DIVX, DX50, DIVX, divx
Encoder:
Decoder: dvdreadsrc, dvdnavsrc
Encoder: divxenc
Decoder: divxdec, ffdec_mpeg4
3 - Microsoft MPEG 4.1, 4.2 and 4.3
MIME type: video/x-msmpeg
@ -231,14 +226,14 @@ framerate = 0 - MAXFLOAT (FLOAT)
MIME type: video/x-jpeg
Properties:
Known fourccs: MJPG (YUY2 MJPEG), JPEG (any), PIXL (Pinnacle/Miro), VIXL
Encoder:
Decoder:
Encoder: jpegenc
Decoder: jpegdec, ffdec_mjpeg
5 - Sorensen (Quicktime - SVQ1/SVQ3)
MIME types: video/x-svq
Properties: svqversion = 1/3 (INT)
Encoder:
Decoder:
Decoder: ffdec_svq1, ffdec_svq3
6 - H263 and related codecs
MIME type: video/x-h263
@ -252,7 +247,7 @@ framerate = 0 - MAXFLOAT (FLOAT)
Properties: systemstream = FALSE (BOOLEAN)
Known fourccs: RV10, RV20, RV30
Encoder:
Decoder: rmdemux
Decoder:
8 - Digital Video (DV)
MIME type: video/x-dv
@ -265,14 +260,14 @@ framerate = 0 - MAXFLOAT (FLOAT)
MIME type: video/x-wmv
Properties: wmvversion = 1/2 (INT)
Encoder:
Decoder:
Decoder: ffdec_wmv1, ffdec_wmv2
10 - XviD (xvid.org)
MIME type: video/x-xvid
Properties:
Known fourccs: xvid, XVID
Encoder:
Decoder:
Encoder: xvidenc
Decoder: xviddec, ffdec_mpeg4
11 - 3IVX (3ixv.org)
MIME type: video/x-3ivx
@ -291,26 +286,26 @@ framerate = 0 - MAXFLOAT (FLOAT)
MIME type: video/x-vp3
Properties:
Encoder:
Decoder:
Decoder: ffdec_vp3
14 - Ogg/Theora (Xiph, VP3-like)
MIME type: video/x-theora
Properties:
Encoder:
Decoder:
Decoder: ffdec_vp3
15 - Huffyuv
MIME type: video/x-huffyuv
Properties:
Known fourccs: HFYU
Encoder:
Decoder:
Decoder: ffdec_hfyu
16 - FF Video 1 (FFMPEG)
MIME type: video/x-ffv
Properties: ffvversion = 1 (INT)
Encoder:
Decoder:
Decoder: ffdec_ffv1
17 - H264
MIME type: video/x-h264
@ -341,76 +336,6 @@ TODO: divx4/divx5/xvid/3ivx/mpeg-4 - how to make them overlap? (all
3c) Audio Codecs
----------------
for convenience, the two-byte hexcodes (as are being used for identification
in AVI files) are also given
Preface - (optional) properties for all audio formats:
'rate' = X (int) <- sampling rate
'channels' = X (int) <- number of audio channels
1 - Raw Audio (integer format)
mimetype: audio/x-raw-int
properties: 'width' = X (INT) <- memory bits per sample
'depth' = X (INT) <- used bits per sample
'signed' = X (BOOLEAN)
'endianness' = 1234/4321 (INT)
2 - Raw Audio (floating point format)
mimetype: audio/x-raw-float
properties: 'width' = X (INT) <- 32=float, 64=double
'endianness' = 1234/4321 (INT) <- use G_BIG/LITTLE_ENDIAN!
'buffer-frames' = (INT)
number of samples per buffer, 0 means undefined
With regards to the signal: 0.0 represents no signal, +/- 1.0 is 0 dB.
3 - Alaw Raw Audio
mimetype: audio/x-alaw
4 - Mulaw Raw Audio
mimetype: audio/x-mulaw
5 - MPEG-1 layer 1/2/3 audio
mimetype: audio/mpeg
properties: 'mpegversion' = 1 (INT)
'layer' = 1/2/3 (INT)
6 - Ogg/Vorbis
mimetype: audio/x-vorbis
7 - Windows Media Audio 1 and 2 (WMA)
mimetype: audio/x-wma
properties: 'wmaversion' = 1/2 (INT)
8 - AC3
mimetype: audio/x-ac3
9 - FLAC (Free Lossless Audio Codec)
mimetype: audio/x-flac
10 - MACE 3/6 (Quicktime audio)
mimetype: audio/x-mace
properties: 'maceversion' = 3/6 (INT)
11 - MPEG-4 AAC
mimetype: audio/mpeg
properties: 'mpegversion' = 4 (INT)
12 - (IMA) ADPCM (Quicktime/WAV/Microsoft/4XM)
mimetype: audio/x-adpcm
properties: 'layout' = "quicktime"/"wav"/"microsoft"/"4xm" (STRING)
Note: the difference between each of these is the number of
samples packaed together per channel. For WAV, for
example, each sample is 4 bit, and 8 samples are packed
together per channel in the bytestream. For the others,
refer to technical documentation.
We probably want to distinguish these differently, but
I don't know how, yet.
13 - RealAudio (Real)
mimetype: audio/x-pn-realaudio
properties: 'bitrate' = 14400/28800 (INT)
For convenience, the two-byte hexcodes (as used for identification in AVI files)
are also given.
@ -447,13 +372,13 @@ channels = 1 - MAXINT (INT, number of audio channels)
MIME type: audio/x-wma
Properties: wmaversion = 1/2 (INT)
Encoder:
Decoder:
Decoder: ffdec_wmav1, ffdec_wmav2
6 - AC3
MIME type: audio/x-ac3
Properties:
Encoder:
Decoder:
Encoder: ffenc_ac3
Decoder: a52dec
7 - FLAC (Free Lossless Audio Codec)
MIME type: audio/x-flac
@ -470,8 +395,8 @@ channels = 1 - MAXINT (INT, number of audio channels)
9 - MPEG-4 AAC
MIME type: audio/mpeg
Properties: mpegversion = 4 (INT)
Encoder:
Decoder:
Encoder: faac
Decoder: faad
10 - (IMA) ADPCM (Quicktime/WAV/Microsoft/4XM)
MIME type: audio/x-adpcm
@ -619,6 +544,8 @@ endianness = 1234/4321 (INT) <- use G_BIG/LITTLE_ENDIAN
4 - Raw audio (floating point format)
MIME type: audio/x-raw-float
Properties: width = 32/64 (INT)
endianness: 1234/4321 (INT)
buffer-frames: number of audio frames per buffer, 0=undefined
Plugin Guidelines
=================