Thursday, August 18, 2011

codecs

Name and file extension, if different Proprietor/Developer License Support for B-frames
Variable bit rate audio Variable frame rate
Chapters
Captions (Subtitles)
Video formats supported Audio formats supported Metadata/Tags supported
Menu Support (like DVD)
Streaming Support Attachment Support[1]
3D Support (codec) 3D Support at container level Supported by hardware players
3GP
3GPP
? Yes Yes Yes ? 3GPP Timed Text
H.263, MPEG-4 Part 2 and H.264/MPEG-4 AVC
AMR-NB, AMR-WB, AMR-WB+, AAC, HE-AAC and HE-AAC v2 ? No ? ? ? ? ?
3G2
3GPP2
? Yes Yes Yes ? 3GPP Timed Text
H.263, MPEG-4 Part 2 and H.264/MPEG-4 AVC
AMR-NB, AMR-WB, AAC, HE-AAC, EVRC, EVRC-B, EVRC-WB, 13K (QCELP), SMV or VMR-WB
? No ? ? ? ? ?
Advanced Systems Format (.asf, .wma, .wmv) Microsoft
Proprietary, patent encumbered No Yes Yes Yes Yes Almost anything through VFW or DMO; H.264/AVC is problematic Almost anything through ACM or DMO; Vorbis is problematic Yes No Yes ? ? ? Yes
AVI
Microsoft
? No[2]
Yes[3]
Yes[4]
Yes, via third party modifications Yes, via third party modifications Almost anything through VFW; H.264/AVC is problematic due to the limited B-frame support[5]
Almost anything through ACM; Vorbis is problematic [6]
Yes through RIFF chunks
No Yes No ? No Yes
DivX Media Format (.divx) DivX, Inc.
? Yes Yes Yes Yes Yes MPEG-4 Part 2 video encoded to meet DivX profiles MP3, PCM, AC-3
? Yes Yes ? ? ? Yes
EVO
MPEG
Patent encumbered Yes Yes Yes Yes Yes MPEG-2 Part 2, H.264/MPEG-4 AVC, VC-1
AC-3, E-AC-3, Dolby TrueHD, Linear PCM, DTS, DTS-HD, MPEG-2 Part 3 ? Yes ? ? ? ? ?
F4V (Flash Video)
Adobe Systems
Patent encumbered Yes ? Yes ? ? H.264/MPEG-4 AVC
MP3, AAC, HE-AAC[7]
Yes No Yes ? ? ? ?
FLV (Flash Video)
Adobe Systems
Patent encumbered Yes ? Yes No No Sorenson, VP6, Screen Video, H.264/MPEG-4 AVC[8][9]
MP3, Nellymoser, ADPCM, Linear PCM, AAC[10], Speex[11]
Yes No Yes ? ? ? ?
Matroska (.mkv, .mk3d, .mka, .mks) CoreCodec, Inc.[12]
Freely licensed[13]
Yes[14]
Yes[15]
Yes[15]
Yes[16]
Yes[17]
Virtually anything Virtually anything Yes[18]
under development by CoreCodec[19]
Yes[20]
Yes[21]
Yes[22]
Yes[22]
Yes[23]

MCF
Community
BSD-style license for specs, GNU for tools Yes Yes Yes Yes[24]
Yes[24]
Not fully specified Not fully specified Yes Possible[25]
Yes[26]
Yes[24]
? ? No
MP4
MPEG
Patent encumbered Yes Yes Yes 1) In specially formatted text track (QuickTime); 2) In userdata atom (started by Nero Digital) can't interact with the sceneDescription, or via segmentDescriptor ttxt, VobSubs with private objectTypeIndication not usable with the sceneDescription (started by Nero), BIFS
MPEG-2 Part 2, MPEG-4 ASP, H.264/MPEG-4 AVC, H.263, VC-1, Dirac, others[27]
MPEG-2/4 (HE)-AAC, MPEG-1/2 Layers I, II, III (MP3), AC-3, Apple Lossless, ALS, SLS, Vorbis(with private objectTypeIndication), others[27]
Yes Yes Yes Yes Yes ? Yes
MPEG Video File (.mpg, .mpeg) MPEG
Patent encumbered Yes Yes Yes No No MPEG-1, MPEG-2[28]
MPEG-1 Layers I, II, III (mp3), other formats only in private streams: LPCM[29]
No No Yes ? ? ? Yes
MPEG program stream PS (.ps) MPEG
Patent encumbered Yes Yes ? Only in private streams — used in VOB files on DVDs
Only in private streams — used in VOB files on DVDs
MPEG-1, MPEG-2, MPEG-4 Part 2[28], VC-1, H.264[30]
MPEG-1 Layers I, II, III (mp3), other formats only in private streams: AAC, AC-3, LPCM, DTS[29]
No Only in private streams — used in VOB files on DVDs
? ? ? ? Yes
MPEG transport stream TS (.ts) MPEG
Patent encumbered Yes Yes Yes No possible via ETSI EN 300 743 MPEG-1, MPEG-2 Part 2, MPEG-4 ASP, H.264, other formats in private streams: VC-1, Dirac[31]
MPEG-1 Layers I, II, III (mp3), AAC, other formats in private streams: AC-3, LPCM, DTS[31]
No No Yes ? ? ? Yes
BDAV MPEG-2 transport stream (.m2ts)
Blu-ray Disc Association
Proprietary Yes ? Yes Yes Yes MPEG-2 Part 2, H.264, VC-1 AC-3, DTS, LPCM, Dolby Digital Plus, DTS HD, Dolby Lossless ? ? ? ? Yes ? Yes[32]

MXF
SMPTE
? Yes Yes Yes ? Yes Virtually anything Virtually anything Yes No ? ? ? ? No
Ogg
Xiph.org
Patent-free, Free software implementations available Yes[2]
Yes Yes Yes Ogg Writ, Ogg Kate
Theora, Dirac, OggUVS, MNG and others[33][34], almost anything through VFW
Vorbis, FLAC, Speex, CELT, OggPCM[33][34], almost anything through ACM
CMML, Ogg Skeleton, Vorbis comment[35]
No Yes ? ? ? Yes
Quicktime (.mov, .qt) Apple
Proprietary Yes Yes Yes Yes Yes Limited to what is available to the QuickTime codec manager Limited to what is available to Sound Manager or CoreAudio
Yes Yes Yes Yes Yes Yes Yes
RMVB
RealNetworks
Proprietary Yes ? Yes ? Yes RealVideo 8, 9, 10 (HE)-AAC, Cook Codec, Vorbis, RealAudio Lossless
? No Yes ? ? ? ?
VOB+IFO
DVD Forum
Proprietary Yes Yes Yes Yes Yes MPEG-2 Part 2, MPEG-1 Part 2 AC-3, Linear PCM, DTS, MPEG-2 Part 3, MPEG-1 Layer II
No Yes No No No No Yes
WebM
WebM Project
perpetual license grant to patents Yes, but unused[36]
Yes Yes No No VP8[37]
Vorbis
No No Yes[38]
No No Yes Yes[39]

Proprietor/Developer License Support for B-frames
Variable bit rate audio Variable frame rate
Chapters
Captions (Subtitles)
Video formats supported Audio formats supported Metadata/Tags supported Menu Support (like DVD)
Streaming Support Attachment Support 3D Support (codec) 3D Support at container level Supported by hardware players

Lossy compression
Lossless compression

MP3
WMA
RealAudio
Vorbis
Musepack
AAC
AC-3
DTS
PCM
APE
FLAC
ALAC
WavPack
MLP / Dolby TrueHD
DTS-HD

QuickTime
Yes Yes No Yes No Yes Yes ? Yes No Yes Yes ? No No
AVI
Yes Yes No not officially No Yes [40]
Yes Yes Yes No No No No No ?
Matroska
Yes Yes Yes Yes Scheduled [41]
Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
MP4
Yes Yes No not officially ? Yes Yes [42]
Yes No No No Yes No No No
MXF
Yes No No ? ? Yes Yes Yes Yes No No No No Yes Yes
Ogg
Yes No No Yes No No No No Yes No Yes No No No No

MPEG-1
MPEG-2
MPEG-4 (A)SP
H.264/MPEG-4 AVC
VC-1/WMV
RealVideo
Theora
Microsoft MPEG4 V2
VP8
MVC

QuickTime
Yes Yes Yes Yes Yes ? Yes ? ? ?
AVI
Yes Yes Yes Problematic, limited B-frame support[5]
Yes Yes Yes ? Yes ?
OGM
Yes Yes Yes Yes Yes ? Yes ? ? ?
Matroska
Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes[43]

MP4
Yes Yes Yes Yes Yes[44]
No No ? ? Yes
MXF
Yes Yes Yes Yes Yes No ? ? ? ?

QuickTime
AVI
OGM
Matroska
MP4
MXF

AQTitle
? No ? ? ? ?
JACOSub [2]
? No ? ? ? ?
MicroDVD
? No ? ? ? ?
MPEG-4 Timed Text
? No ? ? Yes ?
MPSub
? No ? ? ? ?
Ogg Kate
? No Yes Yes[45]
? ?
Ogg Writ
? No Yes ? ? ?
Phoenix Subtitle
? No ? ? ? ?
PowerDivX
? No ? ? ? ?
RealText [3]
? No ? ? ? ?
SAMI
? ? ? ? ? ?
Structured Subtitle Format
? ? ? ? ? ?
SubRip
? Yes, via third party modifications Yes Yes Yes ?
Gloss Subtitle
? No ? ? ? ?
(Advanced) SubStation Alpha
? Yes, via third party modifications ? Yes Yes ?
SubViewer
? ? ? ? ? ?
Universal Subtitle Format
? No ? Yes ? ?
VobSub
? ? ? Yes [46]
? ?
XSUB
? ? ? ? ? ?



1. ^ The ability to hold additional files such as fonts for subtitles etc.
2. ^ a b B-frames are not natively supported so bitstream processing or "packing" is needed. Details on this can be found in MPEG-4 B-frames in AVI/VFW description.
3. ^ ACM cannot handle VBR audio streams in AVI files. Thus, software using ACM to read audio from AVI files will not be able to handle VBR audio streams correctly, even though such files are compliant to the AVI file specification. This is a limitation of the ACM, not of the AVI file format.
4. ^ Although AVI is not designed for variable framerates, it is possible to use them without creating a non-standard file by using 0-byte chunks for skipped frames. However it requires framerate to be set to Least common multiple of all framerates used, and produces slight overhead compared to true VFR.
5. ^ a b Through an updated x264/ffdshow filter it is possible to view H.264 in an AVI file.
6. ^ Although FFmpeg has introduced a solution to put Vorbis audio into AVI files, this "extension" is not compatible with existing Vorbis decoders for DirectShow and ACM. Putting Vorbis in an AVI container is very problematic. The way Nandub stored Vorbis audio streams in AVI files occasionally caused desychronisation when seeking.
7. ^ Adobe Systems Incorporated (November 2008) (PDF). Video File Format Specification, Version 10. Adobe Systems Incorporated. p. 33. Retrieved 2009-08-03.[dead link]
8. ^ H.264/MPEG-4 AVC support is available in Adobe Flash Player 9 Update 3 (version 9.0.115.0 from December 2007) press release
9. ^ H.264/MPEG-4 AVC What just happened to video on the web? [1]
10. ^ AAC support is available in Adobe Flash Player 9 Update 3 (version 9.0.115.0 from December 2007) press release
11. ^ Adobe Systems Incorporated (November 2008) (PDF). Video File Format Specification, Version 10. Adobe Systems Incorporated. p. 6. Retrieved 2009-08-03.[dead link]
12. ^ Although CoreCodec holds the copyrights and trademarks for the Matroska specification, the specifications are open to everybody. The source code of the libraries developed by the Matroska team is licensed under the LGPL and BSD licenses.
13. ^ Anyone can use it or modify it for their own needs without paying any license or patents. http://www.matroska.org/info/legal/index.html
14. ^ Matroska supports B-frames. http://www.matroska.org/technical/specs/index.html#ReferenceBlock
15. ^ a b Matroska is designed to store VBR and VFR content. http://www.matroska.org/technical/guides/faq/index.html
16. ^ Matroska supports simple chapters and nested chapters. http://www.matroska.org/technical/specs/chapters/index.html
17. ^ Matroska subtitle specification. http://www.matroska.org/technical/specs/subtitles/index.html
18. ^ The tagging system of Matroska http://www.matroska.org/technical/specs/tagging/index.html
19. ^ http://www.matroska.org/technical/menu/index.html
20. ^ For Matroska, there are two different kinds of stream: file access and live streaming. http://www.matroska.org/technical/streaming/index.html
21. ^ Matroska can store any type of file. http://www.matroska.org/technical/specs/index.html#Attachment
22. ^ a b http://www.matroska.org/news/stereo_3d.html Specification http://www.matroska.org/technical/specs/index.html#StereoMode
23. ^ https://secure.wikimedia.org/wikipedia/en/wiki/Matroska#Hardware_support
24. ^ a b c MCF Specifications http://mukoli.free.fr/mcf/mcf.html
25. ^ Menu is possible, but not specified yet. http://mukoli.free.fr/mcf/index.html
26. ^ Streaming for MCF http://mukoli.free.fr/mcf/stream.html
27. ^ a b mp4ra.org — MP4 Registration authority. "Registered types — Codecs, MPEG-4 Registration authority". Retrieved 2009-07-28.
28. ^ a b ISO (2000-12-01) ISO/IEC 13818-1 : 2000, Second edition Retrieved on 2009-07-25
29. ^ a b dvd.sourceforge.net DVD Resources for Open Source Development, DVD — MPEG differences, Retrieved on 2009-07-28
30. ^ "The VC-1 and H.264 Video Compression Standards for Broadband Video", by Jae-Beom Lee and Hari Kalva. ISBN 978-0387710426
31. ^ a b SMPTE Registration Authority, LLC — registration authority for MPEG-2 format identifiers Retrieved on 2009-07-06
32. ^ https://secure.wikimedia.org/wikipedia/en/wiki/.m2ts#Software_support
33. ^ a b "MIME Types and File Extensions". XiphWiki. Retrieved 2009-10-24.
34. ^ a b "RFC 5334 — Ogg Media Types". IETF. 2008-09. Retrieved 2009-10-24.
35. ^ "Ogg Metadata". Xiph Wiki. 2005-12-20. Retrieved 2007-08-31.
36. ^ Supported by the container, but unused due to the artificial limitation to VP8.
37. ^ WebM limits support to VP8 and vorbis. http://www.webmproject.org/about/
38. ^ WebM is focused on addressing the unique needs of serving video on the web. http://www.webmproject.org/about/
39. ^ Rockchip demonstrated full WebM hardware playback. http://blog.webmproject.org/2011/01/availability-of-webm-vp8-video-hardware.html
40. ^ There is a value in the stream headers, called dwSampleSize, which is 0 in order to trigger VBR stream seeking. This is officially documented in the MSDN and not a hack, bug or whatever. The way MP3-VBR and AAC are stored in AVI are specified and completely compliant with the AVI file specification.
41. ^ Possible, but not implemented at this date. The developers are awaiting the release of Musepack 8.x, as this version will completely change the bitstream.
42. ^ According to "ETSI TS 102 366 v1.2.1 - Digital Audio Compression (AC-3, Enhanced AC-3) Standard, Annex F"
43. ^ Stereo 3D in Matroska can be handled with codecs like MVC.
44. ^ As specified by SMPTE Recommended Practices 2025–2007, "VC-1 Bitstream Storage in the ISO Base Media File Format."
45. ^

No comments: