The HD-VideoBench Applications and Input Sequences
In this section, a description of the applications included in
HD-VideoBench is provided. Also a description of the reference
implementations of the video standards is included for comparison
purposes. Table II shows a summary of the HD-VideoBench applications.
Summary of HD-VideoBench applications
|| MPEG-2 video decoding
|| MPEG-2 video coding
|| MPEG-4 video decoding
|| MPEG-4 video coding
|| H.264/AVC video decoding
|| H.264/AVC video coding
The MPEG-2 Reference Video Codec 
(mpeg2encode and mpeg2decode) is a widely MPEG-2 Codec used for
benchmarking. Nevertheless, it was designed for the verification of the
standard, but not for high performance. Because of that, we have not
included it in HD-VideoBench.
FFmpeg  is a free solution to record, convert and stream audio and video. It includes libavcodec, a very complete audio/video Codec library that is capable of encoding and decoding streams in many audio and video Codecs. FFmpeg
is portable across a wide range of architectures and operating systems.
It is optimized for high performance with fast algorithms and SIMD
extensions for X86 and PowerPC architectures. It is a widely used
library for video and audio coding/decoding/transcoding in many free
software projects like MPlayer, Xine, VideoLAN, transcode, GStreamer and others.
As a part of the FFmpeg libavcodec library, there is a
very fast MPEG-2 encoder which includes SIMD optimizations for MMX/SSE
and Altivec SIMD extensions, and provides very fast algorithms for
Although FFmpeg includes a MPEG-2 decoder, there is another library called Libmpeg2  that is faster than the FFmpeg implementation. Libmpeg2
is a free library for decoding MPEG-2 and MPEG-1 video streams. It is
highly optimized for high performance and include SIMD optimization of
the motion compensation and inverse cosine transform routines for the
MMX, Altivec and VIS extensions. It has been ported to x86, PowerPC,
SPARC, ARM and SH4, and it should be easy to port to other
architectures. Due to its high performance, Libmpeg2 is a very popular Codec used in many free multimedia players, such as MPlayer, Xine and VideoLAN.
An ISO reference code of the MPEG-4 video coding standard exists, but
it is not convenient for benchmarking due to the same performance
reasons mentioned before for other reference implementations.
Xvid  is a free implementation of the MPEG-4 video coding standard. Xvid
supports the MPEG-4 Advanced Simple Profile (ASP). It has algorithmic
optimizations for motion estimation and SIMD optimizations of the most
complex kernels. FFmpeg also includes a MPEG-4 encoder that has a similar performance than Xvid, but Xvid provides a higher coding efficiency. Because of the standard compliance, the high performance and high coding efficiency, Xvid
is part of multimedia benchmarks like EEMBC and Berkeley Multimedia
Workload, and it is widely used in free multimedia players and
Joint Model (JM) 
is the official reference encoder and decoder of the H.264/AVC
standardization bodies. It implements all the features of the standard
(all profiles and levels), but it is designed for describing and
verifying the standard, and it exhibits very low performance; in fact,
it is at least one order of magnitude slower than other implementations
of the standard . Although being included in Mediabench II, it is not recommended for computer architecture or compiler evaluations.
x264  is a free
H.264/AVC encoder. It implements most of the standard features of the
Main and High profiles including CABAC entropy coding, variable block
size for I, P and B frames, B frames as references, multiple reference
frames, 8x8 and 4x4 adaptive spatial transforms, etc. It has a lot of
algorithmic optimizations for motion estimation, SIMD optimizations
using MMX/SSE and Altivec extensions, and allows parallel encoding at
slice and frame levels. It is widely used in free encoding applications
like MEncoder, GordianKnot and VideoLAN.
FFmpeg includes a H.264/AVC decoder that implements most of
the features of the main and high profiles of the standard. The code is
very optimized and include MMX/SSE and Altivec SIMD instructions for
the most time consuming kernels. It is widely used in free multimedia
players like MPlayer, VideoLAN, Xine and others.