[FFmpeg-devel] [PATCH] Move H264 dsputil functions into their own struct

Pavel Pavlov pavel
Wed Mar 17 12:06:14 CET 2010


> > There is no reason to mess with it, I was just asking if that code
> > could be useful. I had impression that in h263 there are only a few
> > functions implemented in arm-asm.
> 
> H.263 and MPEG4 part 2 are almost the same.  We have ARM asm for IDCT
> and MC, which is where most of the time is spent.  With a typical
> MPEG4 file, about 50% of the decoding time is spent in asm code, the
> rest in functions which are hard to write in asm.
> 


I saw a lot of code for NEON and since my cpu supports NEON I wanted to compile ffmpeg with NEON support.
After reading http://www.arm.com/products/processors/technologies/neon.php and knowing that half of decoding time spent inside asm code I really wanted to measure what is the difference between NEON, SIMD old asm code and plain c code. I recorded 10 sec video with iPhone and run this test: I read file and time execution of avcodec_decode_video and them compute average time per frame.
These are the measured times that I got:

armv4-no-asm (--disable-asm):* * * Average time per call: 16.9717ms
armv4 (-march=armv4):        * * * Average time per call: 17.0895ms
arm1136j-s (armv6):          * * * Average time per call: 15.5987ms
cortex-a8:                   * * * Average time per call: 9.1912ms

is it the cpu optimimzer works so well or asm code before armv6 is kind of useless and armv6 as almost helpless in decoding h264. NEON at least gives sensible improvement in h264 decoding



More information about the ffmpeg-devel mailing list