Universal Video Codec
Video Codecs
The Agora Labs Universal Video Codec is a video codec unique to Agora Labs. Using this video codec greatly simplifies managing video functionality in applications.
It is a single
video codec that supports all of the ITU-T video standards, including H.261, H.263 version 1,
H.263 version 2 (H.263+), H.263 version 3 (H.263++), and H.264. In other words, this video codec is a single library which uses: a single API, common memory buffers, and supports all of the relevant video codec formats.
The advantages of using the Agora Labs Universal Video Codec are numerous.
For example: only one library is needed (a single DLL for Windows environments or a single shared library for Linux environments).
The combined library is only marginally larger than a single
video codec library (for example: the Universal Video Codec is only about 15% larger than the
Agora Labs H.263+ video codec alone).
The programmer only needs to integrate one codec into the
application so development time is greatly reduced. In applications that support multiple video
formats (like H.261, H.263+, and H.264 for example), the Universal Video Codec can switch formats
on a frame-by-frame basis using the same memory buffers. This greatly reduces the host memory
requirements for multi-format applications. For lower costs sensitive applications, only a single
video format (for example: only H.261) can be initially supported. Then as product needs grow,
support for additional video formats like H.263+ and H.264 can be added with extremely minimal
development cost. For example: to direct the Universal Video Codec to change from H.261 to H.263+
only requires a single bit in a flag variable to be changed.