Video Codec Reference Source Code
I have had so many requests for reference code , Well here is a link, you on you own after that.These are NOT OPEN SOURCE or FREE. There are all sorts of Liscences and Patents, so I recomend you do you homework before making a product from this.
All of these links were found through Google once you know what your looking for. They are on other peoples server, I am not in any way responsibe for this code being available publicly nor for it's integrity or even explaining how it works.
That being said, it's a great source to learn how these codec's work, the code all in C (Not C++) and run well on Unix/Linux. The code is NOT Optimized in any way, shape or form, so it's slow!
If any of these links are broken, shoot me an E-mail, I recomend google searching the file names, your bound to find someone with this code lying around.
H.264/AVC Reference Software
H.264/AVC Reference Software I recomend JM10.zip if it's still there.
H.263+ Reference Software
http://whkong.myrice.com/download/src/vcomp/tmndec-3.2.0.tgz <--- DECODERhttp://whkong.myrice.com/download/src/vcomp/tmn-3.2.0.tgz <--- ENCODER
http://whkong.myrice.com/download/src/vcomp/tmnpatch-3.2.0.tgz <--- ENCODER PATCH
More H.263 Source Code
h263.tar.gz 12-Aug-2001 14:56 48K tmn-2.0.tar.gz 01-Jun-2001 05:25 60K tmndec-2.0.tar.gz 20-Mar-2002 00:30 54KDraft, ITU H.263 Standards Document
ITU H.263, H.263L, H.26L, H.263E, ISO/IEC 14496 These video codecs are the Basis for MPEG4 Simple Profile. MPEG-4 adds advanced error detection and correction services on top of H.263. 3GPP and ISMA are versions of H.263 and MPEG-4 for streaming and mobile applications. These are really a variation of Transport stream. H.264 is the most advanced video coding standard available today. It uses many new coding techniques not available in MPEG2, MPEG4 and H.263. This chart shows the evolution of video coding standards. This revolutionary technology promises to facilitate whole new applications, and to unleash dramatic cost savings in the broad spectrum of video applications. Examples include: Another Excellent paper on H.264 MPEG-4 Video: Opportunities and Challenges Ahead For you who are already familiar with video compression standards and want to know more about the H.264 standard, the following publication (19 pages) is an excellent source: H.264/MPEG-4 AVC Overview (PDF) (2.986KB) A draft of the whole H.264 Standard (264 pages) from the 'ITU-T 7th meeting: Pattaya, Thailand, 7-14 March 2003', is also downloadable below: The whole H.264 Standard (draft from 7-14 March 2003) (PDF) (1,816KB) The new H.264 video compression standard is the first to be ratified by both the ISO/IEC and ITU-T. It raises the bar considerably compared to MPEG4-ASP and yields better picture quality while significantly lowering the bit rate. This allows lower overall system cost, reduced infrastructure requirements and enables many new video applications. H.264 is considered the greatest achievement in video compression in the past 10 years and is already finding its way into many mainstream video applications. One more great aspect of H.264 is the licensing fee structure by the patent holders of technology that went into the standard. MPEG4 was significantly hampered by complicated and excessive licensing fees demanded by its patent holder. For H.264 the industry has learned from its mistakes with MPEG-4 and created a very simple and low cost licensing structure. There are two H.264 patent licensing organizations: MPEG-LA and Via Licensing. Both have similar licensing terms. Here are some key points from the MPEG-LA patent licensing organization: See the following press release for more detailed information: MPEG LA H.264 Licensing Information MPEG-LA: www.mepgla.com The coding algorithm of H.263 is similar to that used by H.261, however with some improvements and changes to improve performance and error recovery. The differences between the H.261 and H.263 coding algorithms are listed below. Half pixel precision is used for motion compensation whereas H.261 used full pixel precision and a loop filter. Some parts of the hierarchical structure of the data-stream are now optional, so the codec can be configured for a lower data-rate or better error recovery. There are now four optional negotiable options included to improve performance: Unrestricted Motion Vectors, Syntax-based arithmetic coding, Advance prediction, and forward and backward frame prediction similar to MPEG called P-B frames. H.263 supports five resolutions. In addition to QCIF and CIF that were supported by H.261 there is SQCIF, 4CIF, and 16CIF. SQCIF is approximately half the resolution of QCIF. 4CIF and 16CIF are 4 and 16 times the resolution of CIF respectively. With the support of 4CIF and 16CIF the codec has surpassed other higher bit-rate video coding standards such as the MPEG 1 and 2 standards and a variant is now officially adopted as MPEG 4. 1. Resyncrhonization: Under the MPEG-4 spec, a resynchronization marker can reduce the error propagation caused by the nature of variable length code (VLC) into single frame. In MPEG-4, the resynchronization marker is inserted at the top of a new group of blocks GOB with the header information (multiplexed block number [MBN], quantization parameters) and optional HEC, so that decoding can be done independently. It is a good idea to place the resynchronization marker prior to important objects like people to improve error resilience with minimum increase of overhead. 2. Byte alignment: Bit-stuffing for the byte alignment gives additional error detection capability through its violation check. 3. Data partitioning: A new synchronization code named motion marker separates the motion vector (MV) and discrete cosine transform (DCT) field to prevent from inter-field error propagation, thus allowing effective error concealment to be performed. When errors are detected solely in the DCT field, that multiplexed block (MB) will be reconstructed using correct MV. This results in natural motion better than simple MB replacement of the previous frame. 4. RVLC: The RVLC enables forward and backward decoding without significant impact on coding efficiency. This feature localizes error propagation ideally into single MB. 5. AIR: Different from the conventional cyclic intra refresh, AIR employs motion-weighted intra refresh, which results in better perceptual quality with quick recovery in corrupted objects. 6. Error detection and concealment: Errors can be detected through exception or violation in the decoding process, and then concealment will be applied. The functionality is included for mobile application. The endpoint of H.324 can support for MPEG-4 audio, so that MPEG-4 audio could be used for H.324 mobile phone terminal. Codec's on the Openmash web site from the source code of VIC M-BONE tools another place for the VIC sources jStreaming - JAVA H.263 Video Decoder ISO/IEC 13818-1 Systems WMV9 (Windows Media Version 9) Extended STREAM_ID: 0xFD as defined in ISO/IEC 13818-1:2000/FPDAM MPEG-4 AVC encapsulation into MPEG2 PS, Encapsulation as MPEG video stream MPEG4 info: Coding of audio-visual objects ISO/IEC 14496-1 Systems MPEG4 Systems Patents JPEG 2000 ISO/IEC 15444-1 There is a Motion JPEG2000 spec... I am a video compression expert experienced with h.263 Check out Video Technology Magazine DataCompression.info Has lots of good links to sources IBM Toolkit for MPEG-4There is now MPEG-4 AVC/H.264
Also called JVT ?ITU H.264 ?ITU-T Rec. H.264 ? MPEG-4 Part 10 ?ISO 14496-10 AVC Advanced Video Coding ?AVC
...whatever you call it, this is revolutionary. H.264 is being widely recognized as the future platform of video compression for applications such as new HDTV services, portable game console, mobile broadcast video services, video on solid-state camcorders, instant video messaging on cell phone.
?Transmission of HDTV programs twice as efficiently than with MPEG2
?Storing 2 Hrs of HD Movies on an ordinary red laser DVD
?Facilitating the emergence of HD content PVR for consumer use
?Doubling the stored program time of PVRs by transcoding the recorded content to H264
?Affordable high picture quality solid state/HDD based camcorder.
?CIF quality Video programming for mobile devices H.264 Performance
Below follow some practical comparisons between different coding technologies for 90 min of DVD quality video: H.264 Patent Licensing Fees
• Until Jan 2005 there are no licensing fees at all
• After that, there are still no licensing fees for the first 100,000 units shipped
• Above 100,000 units, licensing fees vary between $0.10 and $0.20 per unit
Also see the respective web sites of the two organizations:
Via Licensing: www.vialicensing.com H.264 History
Originaly proposed by Toshiba
Main Profile, Level 4.I:
I + P picture types, In-loop deblocking,1/4 sample motion compensation, VLC-based entropy coding,
Tree-structured motion segmentation down to 4x4 block size, 4:2:0
Bi-predictive slices, CABAC, Weighted prediction, Adaptive block-size transforms
Interlace pictures, frame/field adaptive at picture and macroblock level
Max bitrate: 29.4Mbps
Prediction (GOVU) structure. H.263
ITU-T SG15 H.263 came out in February 1995. Designed for low bit-rate communications, it never really worked well over pots (plain old telephone service) lines. It has replaced H.261 for video conferencing in most applications and also dominates Internet video streaming today. MPEG-4
Work on MPEG-4 started at the MPEG meeting in Seoul Korea November 1993 with completion that was scheduled for 1998. MPEG4 adds a layer of error resilience. This is achieved through resynchronizations, byte alignment, data partitioning the reversible variable length code (RVLC), adaptive intra refresh (AIR), and error detection and concealment.
Info on MPEG and H.264:
MPEG Industry Forum
Where to find source:
TMNDEC and TMNENC are a good place to start searching for H.263 source code. Just search on Google for these.
MPEG2 info:
ISO/IEC 13818-6 DSM-CC
MPEG-1 and MPEG-2 Digital Video Coding Standards
STREAM_ID: 0xE1 (DVD MPEG2 Video Stream ID: 0xE0)
ISO/IEC 14496-2 Audio
ISO/IEC 14496-2/FDAmd 1 Error resilient simple scalable profile
ISO/IEC 14496-3 Visual
ISO/IEC 14496-5 Reference Software (Nokia, Samsung)
ISO/IEC 14496-6 DMIF (Delivery Multimedia Integration Framework)
ISO/IEC 14496-10 Advanced Video Coding H.264
MPEG 4 doc's link
Good Circuit Cellar Article, Streaming Media the MPEG4 Approach
Please contact me for assistance on Video Compression and Streaming projects.
E-Mail: "SOKOL@tm1300.com "
Goto Resume
H.263
Overview General Information
H.263 is a standard video-conferencing codec. As such, it is optimized for low data rates and relatively low motion.
H.263 is an advancement of the ISO H.261 standard, mainly It was used as a starting point for the development of MPEG (which is optimized for higher data-rates.) Architectures Supported
Pros, Cons & Tips Pros
Cons
Tips Ideal source material Low-motion video Supported bit depths 16-bit color Compression time Symmetrical, real-time Temporal compression? Yes Special features - Encoder requirements Any MacOS or Windows Decoder requirements PowerMac or Pentium Encoder availability Built into QuickTime 3 Decoder availability Built into QuickTime 3 Algorithm Discrete Cosine Transform (DCT) with Motion Compensation
based on H.261Manufacturer Many, including Apple, Microsoft, Vivo
The IBM Toolkit for MPEG-4 consists of a set of JavaTM classes and APIs with five sample applications: three cross-platform playback applications and two tools for generating MPEG-4 content for use with MPEG-4-compliant devices. These applications are as follows:
AVgen: a simple, easy-to-use GUI tool for creating audio/video-only content for ISMA- or 3GPP-compliant devices
XMTBatch: a tool for creating rich MPEG-4 content beyond simple audio and video
M4Play: an MPEG-4 client playback application
M4Applet for ISMA: a Java player applet for ISMA-compliant content
M4Applet for HTTP: a Java applet for MPEG-4 content played back over HTTP.
'[Standard] > ITU-T' 카테고리의 다른 글
Progressive scan, interlace scan 비교 (0) | 2006.03.08 |
---|---|
H.264/AVC : Video Codec Reference Source code (0) | 2006.03.08 |
차세대 네트워크를 겨냥한 MPEG SVC (0) | 2006.02.14 |
[펌] [멀티캐스트] 모바일 멀티캐스트 통신 기술표준 개발 작업 착수 (0) | 2005.10.17 |
Hint Track Structure (0) | 2005.04.21 |