📄 mpeg2dec.doc
字号:
mpeg2decode =========== MPEG-2 Video Decoder, Version 1.1, June 1994 MPEG Software Simulation Group (MPEG-L@netcom.com)The program mpeg2decode is our implementation of an ISO/IEC DIS 13818-2decoder. It converts MPEG-1 and MPEG-2 video bitstreams into uncompressedvideo.Features========+ decodes non-scalable, spatial scalable, SNR scalable and data partitioning MPEG-2 video bitstreams+ supports Simple, Main, SNR Scalable and Spatially Scalable Profile streams at all defined levels+ decodes MPEG-1 (ISO/IEC IS 11172-2) video bitstreams (except D-picture sequences)+ several output formats: separate and interleaved Y,U,V component, Truevision TGA, PBMPLUS PPM, X11 display+ 8 bit ordered dither and interlaced to progressive scan conversion for X11 display+ optional output of detailed decoding information+ robustness against stream syntax errors+ fast IEEE 1180-1990 compliant integer arithmetic inverse DCT+ optional double precision floating point inverse DCTMissing Features================- spatial scalability other than interlaced -> interlaced- D-picture MPEG-1 sequences- temporal scalability- error concealment- repeat_field_first and other mostly display process oriented featuresIntroduction============mpeg2decode takes one or more ISO/IEC DIS 13818-2 [1] MPEG-2 video bitstreamsand converts them to uncompressed video. Since MPEG-2 is (by definition)forward compatible with MPEG-1, mpeg2decode also decodes MPEG-1 sequences(ISO/IEC IS 11172-2 [2]).The decoder is not optimized for speed, although some parts (e.g. variablelength decoding, inverse DCT) are based on relatively fast algorithms. Theemphasis was on correct implementation of the standard and simple structureof the program. Its main purpose is to demonstrate a sample implementation ofan MPEG-2 decoder and to serve as an educational tool. Our hope is that thisimplementation makes it easier to understand the relatively complex detailsof the standard.As you can deduce from the list of missing features, mpeg2decode is still underdevelopment. However, we considered the current version to be completeenough to justify a public release.The decoder has been extensively tested on bitstreams produced by a varietyof encoders from the MPEG research community to ascertain validity of theimplementation. Of course we can't guarantee complete compliance with thestandard.Usage=====mpeg2decode {options} input.m2v {upper.m2v} {outfile}Options:-vn verbose output (n: level)Instructs mpeg2decode to generate informative ouput about the sequenceto stdout. Increasing level (-v1, -v2, etc.) results in more detailedoutput.-on output format (0: YUV, 1: SIF, 2: TGA, 3:PPM, 4:X11, 5:X11 HiQ)To choose a file format for the decoded pictures. Default is 0 (YUV).The following formats are currently supported:YUV: three headerless files, one for each component. The luminance component is stored with an extension of .Y, the chrominance components are stored as .U and .V respectively. Size of the chrominance files depends on the chroma_format used by the sequence. In case of 4:2:0 they have half resolution in both dimensions, in case of 4:2:2 they are subsampled in horizontal direction only, while 4:4:4 uses full chrominance resolution. All components are stored in row storage from top left to bottom right.SIF: one headerless file, with interleaved components. Component order is Cb, Y, Cr, Y. This format is also known as Abekas or CCIR Rec. 656 format. The chrominance components have half resolution in horizontal direction (4:2:2) and are aligned with the even luminance samples. File extension is .SIF.TGA: Truevision TGA [4] 24 bit R,G,B format in uncompressed (no run length coding) format with .tga extension.PPM: Portable PixMap format as defined in PBMPLUS [5], a graphics package by Jef Poskanzer. Extension is .ppm.X11: display decoded video on an X Window System server. The current version supports only 8 bit color display. You can use the DISPLAY environment variable to select a (non-default) display. The output routines perform 8 bit dithering and interlaced to progressive scan conversion. You can choose among two different scan conversion algorithms (only for 4:2:0 interlaced streams): - a high quality slow algorithm (-o5, X11 HiQ) - a faster but less accurate algorithm (-o4, X11)-f store interlaced frames in frame formatBy default, interlaced video is stored field by field. The -f optionpermits to store both fields of a frame into one file.-r use double precision reference IDCTThe -r option selects a double precision inverse DCT which is primarilyuseful for comparing results from different decoders. The default is touse a faster integer arithmetic only IDCT implementation which meets thecriteria of IEEE 1180-1990 [3].-s infile spatial scalable sequenceSpatial scalable video is decoded in two passes. The -s option specifiesthe names of the output files from the first (lower layer) pass to thesecond (enhancement layer) pass. 'infile' describes the name format of thelower layer pictures for spatial scalable sequences in a format similar tooutfile as described below.-qSet this switch to suppress output of warnings to stderr. Usually a bad idea.-tSetting this option activates low level tracing to stdout. This is mainly fordebugging purposes. Output is extremely voluminous. It currently doesn'tcover all syntactic elements.outfileThis parameter has to be specified for output types -o0 to -o3 only. Itdescribes the names of the output files as a printf format string. It has tocontain exactly one integer format descriptor (e.g. %d, %02d) and, exceptfor frame storage (-f option or progressive video), a %c descriptorexample: out%02d_%c generates files out00_a.*, out00_b.*, out01_a.*, ... ('a' denotes the top field, 'b' the bottom field, .* is the suffix appropriate for the output format)upper.m2vis the name of the upper layer bitstream of an SNR scalable stream or adata partioning scalable bitstream (input.m2v is the lower layer).Examples========non-scalable stream (one layer, one pass): mpeg2decode base.m2v f%d%cSNR-scalable stream (two layers, one pass): mpeg2decode base.m2v snr.m2v f%d%cspatial-scalable stream (two layers, two passes): mpeg2decode base.m2v l%d%c mpeg2decode -s l%d%c spatial.m2v f%d%chybrid spatial/SNR-scalable stream (three layers, two passes): mpeg2decode base.m2v l%d%c mpeg2decode -s l%d%c spatial.m2v snr.m2v f%d%chybrid SNR/spatial-scalable stream (three layers, two passes): mpeg2decode base.m2v snr.m2v l%d%c mpeg2decode -s l%d%c spatial.m2v f%d%chybrid SNR/spatial/SNR-scalable stream (four layers, two passes): mpeg2decode base.m2v snr1.m2v l%d%c mpeg2decode -s l%d%c spatial.m2v snr2.m2v f%d%cetc.References==========[1] Draft International Standard ISO/IEC DIS 13818: Generic Coding of Moving Pictures and Associated Audio, Part 2: Video.[2] International Standard ISO/IEC IS 11172: Coding of moving pictures and associated audio for digital storage media up to about 1,5 Mbit/s, Part 2: Video.[3] IEEE Standard Specifications for the Implementations of 8 by 8 Inverse Discrete Cosine Transform, IEEE Std 1180-1990, December 6, 1990.[4] Truevision TGA (TM) File Format Specification Version 2.0, January 1991.[5] Jef Poskanzer: PBMPLUS, Extended Portable Bitmap Toolkit, December 10, 1991.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -