[FFmpeg-devel] [PATCH] Patch cleanup for MPEG 1 & 2 optimizations

Robert Swain robert.swain
Sun Apr 13 21:47:35 CEST 2008


On 13/04/2008, Michael Niedermayer <michaelni at gmx.at> wrote:
> ping! We need some benchmarks before we can commit your patches.

System: Intel Core Duo 1.83GHz MacBook with 2GB RAM

FFmpeg version SVN-r12807, Copyright (c) 2000-2008 Fabrice Bellard, et al.
  configuration: --enable-gpl --enable-nonfree --enable-postproc
--enable-swscale --enable-avfilter --enable-avfilter-lavf
--enable-pthreads --enable-libamr-nb --enable-libamr-wb
--enable-libfaac --enable-libfaad --enable-libmp3lame --enable-libx264
--cc=ccache gcc --extra-cflags=-march=prescott
  libavutil version: 49.6.0
  libavcodec version: 51.54.0
  libavformat version: 52.13.0
  libavdevice version: 52.0.0
  libavfilter version: 0.0.0
  built on Apr 13 2008 19:43:58, gcc: 4.0.1 (Apple Inc. build 5478)

I made MPEG-1 and MPEG-2 samples using:

ffmpeg -ss 00:30:00 -i infile -an -t 00:05:00 -vcodec mpeg(1|2)video
-qscale 4 -cmp 2 -subcmp 2 -mbd 2 -flags +trell outfile.mpg


Unpatched:

ffmpeg -y -benchmark -i 'samples/mpeg1/superbad.mpg' -f rawvideo /dev/null 2>&1
bench: utime=9.940s
bench: utime=9.874s
bench: utime=9.873s
bench: utime=9.963s
bench: utime=9.862s

ffmpeg -y -benchmark -i 'samples/mpeg2/superbad.mpg' -f rawvideo /dev/null 2>&1
bench: utime=10.414s
bench: utime=10.408s
bench: utime=10.468s
bench: utime=10.433s
bench: utime=10.468s


Patch 0002-Unroll-codepath.patch:

'source/ffmpeg-patched/ffmpeg' -y -benchmark -i
'samples/mpeg1/superbad.mpg' -f rawvideo /dev/null 2>&1
bench: utime=9.834s
bench: utime=9.932s
bench: utime=9.846s
bench: utime=9.829s
bench: utime=9.827s

'source/ffmpeg-patched/ffmpeg' -y -benchmark -i
'samples/mpeg2/superbad.mpg' -f rawvideo /dev/null 2>&1
bench: utime=10.572s
bench: utime=10.472s
bench: utime=10.500s
bench: utime=10.514s
bench: utime=10.473s


Patches 0002-Unroll-codepath.patch and 0004-Unroll-codepath.patch:

'source/ffmpeg-patched/ffmpeg' -y -benchmark -i
'samples/mpeg1/superbad.mpg' -f rawvideo /dev/null 2>&1
bench: utime=9.847s
bench: utime=9.858s
bench: utime=9.798s
bench: utime=9.849s
bench: utime=9.908s

'source/ffmpeg-patched/ffmpeg' -y -benchmark -i
'samples/mpeg2/superbad.mpg' -f rawvideo /dev/null 2>&1
bench: utime=10.478s
bench: utime=10.477s
bench: utime=10.419s
bench: utime=10.497s
bench: utime=10.486s


All three patches:

'source/ffmpeg-patched/ffmpeg' -y -benchmark -i
'samples/mpeg1/superbad.mpg' -f rawvideo /dev/null 2>&1
bench: utime=9.953s
bench: utime=9.840s
bench: utime=9.864s
bench: utime=9.854s
bench: utime=9.818s

'source/ffmpeg-patched/ffmpeg' -y -benchmark -i
'samples/mpeg2/superbad.mpg' -f rawvideo /dev/null 2>&1
bench: utime=10.488s
bench: utime=10.391s
bench: utime=10.442s
bench: utime=10.443s
bench: utime=10.509s

There doesn't appear to be any significant improvement as far as I can tell.

Rob




More information about the ffmpeg-devel mailing list