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

Måns Rullgård mans
Wed Mar 17 14:43:46 CET 2010


Pavel Pavlov <pavel at summit-tech.ca> writes:

>> > 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

There is very little pre-neon asm for h264 in ffmpeg.

-- 
M?ns Rullg?rd
mans at mansr.com



More information about the ffmpeg-devel mailing list