Video Codecs
Speech Codecs
Protocol Stacks
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.