systems
所属分类:mpeg/mp3
开发工具:C/C++
文件大小:98KB
下载次数:11
上传日期:2009-07-09 09:48:12
上 传 者:
kis4868
说明: 13818-1 MPEG-TS Reference SW
文件列表:
systems\doc.text (28894, 1995-06-26)
systems\src\Consumer.C (1569, 1995-06-13)
systems\src\Consumer.H (3181, 1995-06-22)
systems\src\Consumer.o (1886, 2004-04-14)
systems\src\decode.C (6606, 1995-06-26)
systems\src\decode.o (6432, 2004-04-14)
systems\src\Decoder.C (6917, 1995-06-22)
systems\src\Decoder.H (3309, 1995-06-26)
systems\src\Decoder.o (9063, 2004-04-14)
systems\src\Directory.C (4987, 1995-06-23)
systems\src\Directory.H (3519, 1995-06-23)
systems\src\Directory.o (4020, 2004-04-14)
systems\src\encode.C (4186, 1995-06-30)
systems\src\encode.o (5271, 2004-04-14)
systems\src\Encoder.C (7907, 1995-06-22)
systems\src\Encoder.H (3976, 1995-06-26)
systems\src\Events.C (1780, 1995-06-10)
systems\src\Events.H (3553, 1995-06-23)
systems\src\InputPort.C (5387, 1995-06-23)
systems\src\InputPort.H (3683, 1995-06-23)
systems\src\IPortFromFile.C (2887, 1995-06-30)
systems\src\IPortFromFile.H (2372, 1995-06-23)
systems\src\IPortFromRam.C (2117, 1995-06-23)
systems\src\IPortFromRam.H (2048, 1995-06-23)
systems\src\Makefile (1958, 1995-06-22)
systems\src\OPortToFile.C (2533, 1995-06-23)
systems\src\OPortToFile.H (2229, 1995-06-30)
systems\src\OPortToRam.C (2203, 1995-06-14)
systems\src\OPortToRam.H (2230, 1995-06-23)
systems\src\OutputPort.C (4049, 1995-06-23)
systems\src\OutputPort.H (3918, 1995-06-23)
systems\src\PES.C (7219, 1995-06-30)
systems\src\PES.H (5113, 1995-06-30)
systems\src\PESConsumer.C (11528, 1995-06-23)
systems\src\PESConsumer.H (3361, 1995-06-22)
systems\src\pesin.C (2819, 1995-06-26)
systems\src\pesout.C (2279, 1995-06-30)
systems\src\PESProducer.C (9413, 1995-06-22)
systems\src\PESProducer.H (3010, 1995-06-22)
... ...
GENERAL INFO 6/1/95
This is Release 1.0 of the MSYS Toolkit, a set of C++ classes for
building and manipulating MPEG System streams. With these classes one
build MPEG System multiplexors and demultiplexors and other MPEG
System-related applications. Examples of an encoder (in encode.C) and
a decoder (in decode.C) are provided.
A technical disclaimer: The purpose of this system is instructional -
it was not written to be terribly efficient in terms of storage or
speed (encode outputs a transport packet every 1-2 msec; decode
handles a transport packet roughly every .5-1.0 msec on a Sparc 10).
TO BUILD THE TOOLKIT
First make sure that the GNU tools (specifically g++) are installed.
Now type make. If you want to build other applications besides the
four specified in the Makefile, then you will have to modify the
Makefile.
TO RUN THE SAMPLES
To run the sample encoder type "encode ". A number of
transport packets will be constructed and placed in the file
. To run the decoder type "decode " and the
transport packets in the file will be decoded. The
individual PES streams are written to files named "stream" where n
is the pid value if the elementary stream.
pesout will generate a sequence of PES packets.: type "pesout
". To parse a sequence of PES packets (it is assumed that
these are from the same elementary stream) type "pesin ".
Try this with the PES streams extracted when "decode" is run.
See the source code comments on each of the sample programs for more
detailed descriptions of usage.
Read the file doc.text to learn about the library.
Read the documentation notes in each .H file to learn more about each
class.
Experiment with the sample applications to learn how to build
applications.
THINGS LEFT TO DO
There is still lots of additional work that can be done. For example:
1. The generation of indefinite length PES packets (i.e. PES packet
with zero length fields). The decoder will correctly parse them.
2. Versioning. The insertion and deletion of elementary streams and
programs is not complete.
3. Clocks and timestamps have to be reworked completely. Currently
the Encoder maintains a single clock based on the transport stream
output rate for stamping PCRs. Instead there should be a notion of a
clock coming along with a selected elementary stream on a per-program
basis. There should also be enough understanding of the elementary
stream structure (e.g. picture start codes, frame rates and picture
types) to build and timestamp meaningful PES packets.
4. STD buffer simulation.
There are also lots of little things that need fixing - you will find
comments starting with the prefix "// FIX --" marking these locations
in the code.
EXPERIENCE WITH ISO COMMITTEE BITSTREAMS
The decoder has been run on a number of the bitstreams exchanged by
the ISO committee over the last two years. Although it would not be
appropriate to release the results of those runs into the public
domain, I would be happy to correspond with others who has access to
the ISO bitstreams and either have decoded or expect to decode them.
Finally, write back in the happy event that you wish to contribute code
to MSYS.
Enjoy. Guy Cherry
--------
email: guyc@crl.labs.tek.com
US Mail: Guy Cherry,
Communication Systems Research Lab,
Tektronix, Inc.
Box 500 MS 50-370
Beaverton OR 97077
Phone: 503-627-1123 (... 5, 8, 13, 21, ...)
Fax: 503-627-1736
近期下载者:
相关文件:
收藏者: