AVI file format links
ref
http://graphcomp.com/info/specs/ms/editmpeg.htm
http://yaai.sourceforge.net/yaai/fileformat.html
http://msdn.microsoft.com/en-us/library/windows/desktop/dd318189%28v=vs.85%29.aspx
http://www.princeton.edu/~achaney/tmve/wiki100k/docs/Audio_Video_Interleave.html
http://en.wikipedia.org/wiki/Audio_Video_Interleave#DV_AVI
http://www.the-labs.com/Video/odmlff2-avidef.pdf
http://www.google.co.in/search?hl=en&tbo=d&q=what+is+avi+video+format&revid=1056622946&sa=X&ei=7uS1UMm4DrDJ0AXPlIGwBw&ved=0CIUBENUCKAQ&biw=1600&bih=1002
http://www.google.co.in/search?hl=en&tbo=d&q=avi+file+formats&revid=1056622946&sa=X&ei=7uS1UMm4DrDJ0AXPlIGwBw&ved=0CIIBENUCKAE&biw=1600&bih=1002
http://www.google.co.in/search?hl=en&tbo=d&q=audio+video+interleave&revid=1564170132&sa=X&ei=lOK1UPeHLayM4gSijYC4Cw&sqi=2&ved=0CHEQ1QIoBg&biw=1600&bih=1002
http://en.wikipedia.org/wiki/Audio_Video_Interleave
http://www.daubnet.com/en/file-format-avi
http://www.ntchosting.com/multimedia/avi-video-file-format.html
http://en.wikipedia.org/wiki/Digital_container_format
http://www.google.co.in/search?hl=en&tbo=d&q=avi+container+format&revid=952657774&sa=X&ei=oeu1UIbQBMfNsgb9-IHgBw&ved=0CJkBENUCKAc&biw=1600&bih=1002
http://pcsupport.about.com/od/fileextensions/f/avifile.htm
http://www.coolutils.com/Formats/AVI
AVI Header
http://www.google.co.in/search?hl=en&tbo=d&q=avi+file+header&revid=1056622946&sa=X&ei=7uS1UMm4DrDJ0AXPlIGwBw&ved=0CIYBENUCKAU&biw=1600&bih=1002
http://www.fastgraph.com/help/avi_header_format.html
Audio Video Interleave (also Audio Video Interleaved), known by its acronym AVI, is a multimedia container format introduced by Microsoft in November 1992 as part of its Video for Windows
technology. AVI files can contain both audio and video data in a file
container that allows synchronous audio-with-video playback. Like the DVD video format,
AVI files support multiple streaming audio and video, although these
features are seldom used. Most AVI files also use the file format
extensions developed by the Matrox OpenDML group in February 1996. These files are supported by Microsoft, and are unofficially called "AVI 2.0".ContentsFormatAVI is a derivative of the Resource Interchange File Format (RIFF), which divides a file's data into blocks, or "chunks." Each "chunk" is identified by a FourCC tag. An AVI file takes the form of a single chunk in a RIFF formatted file, which is then subdivided into two mandatory "chunks" and one optional "chunk".The first sub-chunk is identified by the "hdrl" tag. This sub-chunk is the file header and contains metadata about the video, such as its width, height and frame rate. The second sub-chunk is identified by the "movi" tag. This chunk contains the actual audio/visual data that make up the AVI movie. The third optional sub-chunk is identified by the "idx1" tag which indexes the offsets of the data chunks within the file. By way of the RIFF format, the audio/visual data contained in the "movi" chunk can be encoded or decoded by software called a codec, which is an abbreviation for (en)coder/decoder. Upon creation of the file, the codec translates between raw data and the (compressed) data format used inside the chunk. An AVI file may carry audio/visual data inside the chunks in virtually any compression scheme, including Full Frame (Uncompressed), Intel Real Time (Indeo), Cinepak, Motion JPEG, Editable MPEG, VDOWave, ClearVideo / RealVideo, QPEG, and MPEG-4 Video. MetadataAs a derivative of the Resource Interchange File Format (RIFF), AVI files can be tagged with metadata in the INFO chunk. In addition, AVI files can embed Extensible Metadata Platform (XMP).Continued useSince its introduction in the early 90s, new computer video techniques have been introduced which the original AVI specification did not anticipate.
See section 6 for the correspondence between AVI-DIB and MPEG parameters. 5. LIST "movi" ChunkFollowing the AVI stream header is a LIST "movi" chunk that contains the actual data of the stream. As in any RIFF chunk, a four-character code is used to identify the chunk. The MPEG AVI file uses "##dc" sub-chunks where ## is the stream id in the AVI file and 'dc' for "DIB compressed". The data chunk for the compressed DIB has the following form: MPEG-I DIB '##dc'BYTE abBits[]; abBits[] is a fully MPEG-1 compliant I-frame picture, preceded by the sequence header, the GOP header and the Picture header. Keeping extra information like the MPEG GOP header and picture header with the compressed data for each I-frame picture eases the work load of the video codec, since the whole abBits[] can be sent to the decoder right away. Furthermore, sequence headers allow cut/paste operations at any frame by providing the quantization matrix information. The following shows the mandatory parameters in the Sequence header, Group of Picture header, and the Picture header. For the detailed syntax of MPEG-1 streams see Reference 1.
6. Constraints on MPEG Parameters
7. Relationships between AVI Parameters and MPEG Parameters
Note 2: dwQuality is computed such that the baseline bit rate of 1.2 Mbit/s corresponds to a quality level of 5,000, and that a bit rate of 12 Mbit/s, where the quality of the compressed video is typically indistinguishable of the original, is equal to 10,000. The scaling factor '3,000' is due to the fact that bit_rate is a number in units of 400 bits/second (bit_rate with a value of 3,000 corresponds to an actual bit rate of 1.2 Mbit/s). Note that dwQuality must be constrained to be between 0 and 10,000. 8. Video CodecThe MPEG-AVI file format was designed to make transformations between AVI-MPEG files and MPEG compliant files as simple as possible. In particular, the AVI to MPEG conversion only requires stripping the AVI-specific header and framing information.8.1 AVI -> MPEGTo convert from MPEG-AVI to MPEG, all that is required is:
8.2 MPEG -> AVITo convert an MPEG file containing only I-frames, the sequence header is first extracted to generate the AVI and DIB headers. Then each I-frame, including its sequence header, GOP and Picture headers, is concatenated with a "movi" chunk header and concatenated to the data stream. A Sequence header must be included with the first frame, however, the application may select not to copy consecutive identical sequence headers. During the processing, the length of the file is computed, and the dwTotalFrames, dwStart & dwLength parameters are written in the main and stream AVI Headers.8.3 AudioIt is to be noted that MPEG decompression system usually expected Video before Audio, and not the opposite as is recommended in the AVI file format [Ref 2 - "AVIStreamHeader"]. Consequently, appropriate buffering must be allocated when converting the file from AVI to MPEG and vice-versa.9. References[1] ISO 11172 document. Coded representation of picture, audio and multimedia/hypermedia information. [2] Microsoft Video for Windows Development Kit - Programmer's Guide[3] Microsoft Windows Multimedia Programmers Guide and Microsoft Windows Multimedia Programmers reference. [4] Video Compression/Decompression drivers technical note from Microsoft. [5] MPEG-Audio Wave format - Microsoft Corporation. |
Avi Fileformat
This is just a little graphic that illustrates the avi fileformat. It should just show the main structure, for exact information please consult http://www.wotsit.org. For most people this is not interesting, but I hope I can help some other programmers, as I've spent long nights trying to figure out what the avi spec means in some parts.ref
http://graphcomp.com/info/specs/ms/editmpeg.htm
http://yaai.sourceforge.net/yaai/fileformat.html
http://msdn.microsoft.com/en-us/library/windows/desktop/dd318189%28v=vs.85%29.aspx
http://www.princeton.edu/~achaney/tmve/wiki100k/docs/Audio_Video_Interleave.html
http://en.wikipedia.org/wiki/Audio_Video_Interleave#DV_AVI
http://www.the-labs.com/Video/odmlff2-avidef.pdf
http://www.google.co.in/search?hl=en&tbo=d&q=what+is+avi+video+format&revid=1056622946&sa=X&ei=7uS1UMm4DrDJ0AXPlIGwBw&ved=0CIUBENUCKAQ&biw=1600&bih=1002
http://www.google.co.in/search?hl=en&tbo=d&q=avi+file+formats&revid=1056622946&sa=X&ei=7uS1UMm4DrDJ0AXPlIGwBw&ved=0CIIBENUCKAE&biw=1600&bih=1002
http://www.google.co.in/search?hl=en&tbo=d&q=audio+video+interleave&revid=1564170132&sa=X&ei=lOK1UPeHLayM4gSijYC4Cw&sqi=2&ved=0CHEQ1QIoBg&biw=1600&bih=1002
http://en.wikipedia.org/wiki/Audio_Video_Interleave
http://www.daubnet.com/en/file-format-avi
http://www.ntchosting.com/multimedia/avi-video-file-format.html
http://en.wikipedia.org/wiki/Digital_container_format
http://www.google.co.in/search?hl=en&tbo=d&q=avi+container+format&revid=952657774&sa=X&ei=oeu1UIbQBMfNsgb9-IHgBw&ved=0CJkBENUCKAc&biw=1600&bih=1002
http://pcsupport.about.com/od/fileextensions/f/avifile.htm
http://www.coolutils.com/Formats/AVI
AVI Header
http://www.google.co.in/search?hl=en&tbo=d&q=avi+file+header&revid=1056622946&sa=X&ei=7uS1UMm4DrDJ0AXPlIGwBw&ved=0CIYBENUCKAU&biw=1600&bih=1002
http://www.fastgraph.com/help/avi_header_format.html