[FFmpeg-devel] MPEG-2 Acceleration Refactor

Greg Hulands ghulands
Wed Jun 20 19:31:34 CEST 2007


Michael Niedermayer wrote:
> Hi
>
> On Tue, Jun 19, 2007 at 07:55:17PM -0700, Greg Hulands wrote:
>   
> [...]
> the decode_block(..., int fast)
> should be av_always_inline
> if that is not slower iam fine with the patch
>   
Ok, av_always_inline is slower. The benchmarks are below. How do I force 
the benchmark to use fast or slow?
> and please name the variable fast not speed
>   
I've fixed that up, but won't post the patch until I can clear up the 
av_always_inline being slower.
> PS: whoever commits this, please redo the benchmark before commiting
> that is benchmark with slow and fast mode, neither should get slower
> from the patch, also look at the nm mpeg12.o output, there should be
> no change in inlined functions (that is no new names appearing or disapearing)
>   
I have also attached the nm of mpeg12.o with and without the 
av_always_inline, but not too sure how to interpret it.

Greg.

With av_always_inline

Tiger1080:~/htp/trunk/ffmpeg ghulands$ ./ffmpeg -benchmark -threads 1 -i 
~/Desktop/720p-short.m2v -f rawvideo -y /dev/null
FFmpeg version SVN-r9339, Copyright (c) 2000-2007 Fabrice Bellard, et al.
  configuration: --disable-ffplay --disable-ffserver
  libavutil version: 49.4.0
  libavcodec version: 51.40.4
  libavformat version: 51.12.1
  built on Jun 20 2007 10:04:38, gcc: 4.0.1 (Apple Computer, Inc. build 
5367)
Warning: not compiled with thread support, using thread emulation

Seems stream 0 codec frame rate differs from container frame rate: 59.94 
(60000/1001) -> 25.00 (25/1)
Input #0, mpegvideo, from '/Users/ghulands/Desktop/720p-short.m2v':
  Duration: 00:00:08.0, start: 0.000000, bitrate: 38867 kb/s
  Stream #0.0: Video: mpeg2video, yuv420p, 1280x720, 38810 kb/s, 25.00 
fps(r)
Output #0, rawvideo, to '/dev/null':
  Stream #0.0: Video: rawvideo, yuv420p, 1280x720, q=2-31, 200 kb/s, 
25.00 fps(c)
Stream mapping:
  Stream #0.0 -> #0.0
Press [q] to stop encoding
frame= 1244 fps=126 q=0.0 Lsize= 1679400kB time=49.8 
bitrate=276480.0kbits/s   
video:1679400kB audio:0kB global headers:0kB muxing overhead 0.000000%
bench: utime=8.043s
bench: utime=8.029s
bench: utime=8.017s
bench: utime=8.011s
bench: utime=8.076s

Without av_always_inline

Tiger1080:~/htp/trunk/ffmpeg ghulands$ ./ffmpeg -benchmark -threads 1 -i 
~/Desktop/720p-short.m2v -f rawvideo -y /dev/null
FFmpeg version SVN-r9339, Copyright (c) 2000-2007 Fabrice Bellard, et al.
  configuration: --disable-ffplay --disable-ffserver
  libavutil version: 49.4.0
  libavcodec version: 51.40.4
  libavformat version: 51.12.1
  built on Jun 20 2007 10:04:38, gcc: 4.0.1 (Apple Computer, Inc. build 
5367)
Warning: not compiled with thread support, using thread emulation

Seems stream 0 codec frame rate differs from container frame rate: 59.94 
(60000/1001) -> 25.00 (25/1)
Input #0, mpegvideo, from '/Users/ghulands/Desktop/720p-short.m2v':
  Duration: 00:00:08.0, start: 0.000000, bitrate: 38867 kb/s
  Stream #0.0: Video: mpeg2video, yuv420p, 1280x720, 38810 kb/s, 25.00 
fps(r)
Output #0, rawvideo, to '/dev/null':
  Stream #0.0: Video: rawvideo, yuv420p, 1280x720, q=2-31, 200 kb/s, 
25.00 fps(c)
Stream mapping:
  Stream #0.0 -> #0.0
Press [q] to stop encoding
frame= 1244 fps=130 q=0.0 Lsize= 1679400kB time=49.8 
bitrate=276480.0kbits/s   
video:1679400kB audio:0kB global headers:0kB muxing overhead 0.000000%
bench: utime=7.838s
bench: utime=7.829s
bench: utime=7.833s
bench: utime=7.831s
bench: utime=7.857s
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: av_always_inline.symbols
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20070620/72ff244e/attachment.txt>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: inline.symbols
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20070620/72ff244e/attachment.asc>



More information about the ffmpeg-devel mailing list