100 likes | 426 Views
Performance Analysis H.264/AVC Decoder Using FFmpeg. Outline. Introduction H.264/AVC FFmpeg and JM reference Software Execution Flow Decoding Program Experiment Platform Time Measurement Methodologie GNU C Library GNU gprof Linux Time Command Time Masure results and Graph
E N D
Outline • Introduction • H.264/AVC • FFmpeg and JM reference Software • Execution Flow Decoding Program • Experiment Platform • Time Measurement Methodologie • GNU C Library • GNU gprof • Linux Time Command • Time Masure results and Graph • Your Suggestion
Introduction In this analysis we used the H264 Decoder of FFmpeg in our program using (libavcodec and libavformat). Program decodes the h264 format video sequence . We analysis the function profile and measure the CPU utilization time. FFmpeg H264 Decoder Function Profile H264 Format Video H264 Decoded Video CPU utilization Libavcodec and Libavformat libraries Decoded Video Quality C Program
H.264/AVC • H.264/AVC is an Innovation in video compression technologies that provide a vast improvement over previous video codecs. • The standardization of the first version of H.264/AVC was completed in May 2003 H.264 codec work Prediction Transform Encode Transmit & Store H.264 Syntax Video Source Reconstruct Inverse Transform Decode Video Output
Features of H.264/AVC • Variable block-size motion compensation (VBSMC) with block sizes(16x16 to 4x4). • Multiple reference frames for prediction . • Block of residual transformed (4x4 or 8x8) integer Discrete Cosine Transform (iDCT). • Efficient Entropy coding Technique (CABAC,CAVLC)
FFmpeg • Ffmpeg is Computer Program that can recode convert digital stream Audio and Video in different Formats. • Ffmpeg Project started by the Fabrice Bellard now maintain by the Michael Niedermayer. • Ffmpeg is multithreaded. • Ffmpeg is developed under Linux ,it can compile under many operating system.
Components of FFmpeg • ffmpegCommand line tool to convert one video format to other. • ffplayMedia Player base on SDL and Ffmpeg libraries. • ffserverHTTP and RTSP multimedia streaming server for live broadcasts. • libavcodecLibrary containing all the FFmpeg audio/video encoders and decoders. • lbavformat Library containing demuxers and muxers for audio/video container formats. • libavuitllLibrary containing routines common to different parts of FFmpeg. • libswscaleLibrary containing video image scaling routines • libpostprocLibrary containing video post processing routines. • libavfilter Substitute for vhook which allows the video to be modified or examined between the decoder and the encoder.