[FFmpeg-devel] [PATCH] Speed up dct32() in mpegaudiodec and make it avoid trashing its input

Vitor Sessak vitor1001
Sun Jun 6 16:16:27 CEST 2010


$subj. This should make the function suitable to be moved to the common 
DCT framework after my patch in the thread "[PATCH] SSE dct32()".

Benchmarks:

Fixed point, patched:
4554 dezicycles in dct32, 128 runs, 0 skips
4880 dezicycles in dct32, 256 runs, 0 skips
5078 dezicycles in dct32, 512 runs, 0 skips
4443 dezicycles in dct32, 1024 runs, 0 skips
4112 dezicycles in dct32, 2048 runs, 0 skips
4122 dezicycles in dct32, 4095 runs, 1 skips
4054 dezicycles in dct32, 8190 runs, 2 skips
4008 dezicycles in dct32, 16379 runs, 5 skips
3968 dezicycles in dct32, 32759 runs, 9 skips
3911 dezicycles in dct32, 65516 runs, 20 skips
3868 dezicycles in dct32, 131042 runs, 30 skips
3844 dezicycles in dct32, 262075 runs, 69 skipss
3860 dezicycles in dct32, 524151 runs, 137 skipss
3881 dezicycles in dct32, 1048328 runs, 248 skips
3852 dezicycles in dct32, 2096579 runs, 573 skips
3838 dezicycles in dct32, 4193100 runs, 1204 skips
3831 dezicycles in dct32, 8386205 runs, 2403 skips

Floating point, patched:
3559 dezicycles in dct32_float, 128 runs, 0 skips
3629 dezicycles in dct32_float, 255 runs, 1 skips
3700 dezicycles in dct32_float, 511 runs, 1 skips
3739 dezicycles in dct32_float, 1023 runs, 1 skips
3766 dezicycles in dct32_float, 2047 runs, 1 skips
3737 dezicycles in dct32_float, 4094 runs, 2 skips
3690 dezicycles in dct32_float, 8189 runs, 3 skips
3676 dezicycles in dct32_float, 16380 runs, 4 skips
3697 dezicycles in dct32_float, 32761 runs, 7 skips
3644 dezicycles in dct32_float, 65516 runs, 20 skips
3585 dezicycles in dct32_float, 131042 runs, 30 skips
3544 dezicycles in dct32_float, 262094 runs, 50 skips
3517 dezicycles in dct32_float, 524178 runs, 110 skips
3503 dezicycles in dct32_float, 1048335 runs, 241 skips
3497 dezicycles in dct32_float, 2096650 runs, 502 skips
3493 dezicycles in dct32_float, 4193303 runs, 1001 skips
3488 dezicycles in dct32_float, 8386632 runs, 1976 skips

Fixed point, original:
5150 dezicycles in dct32, 128 runs, 0 skips
5045 dezicycles in dct32, 256 runs, 0 skips
4959 dezicycles in dct32, 512 runs, 0 skips
4906 dezicycles in dct32, 1024 runs, 0 skips
4879 dezicycles in dct32, 2048 runs, 0 skips
4770 dezicycles in dct32, 4095 runs, 1 skips
4712 dezicycles in dct32, 8188 runs, 4 skips
4609 dezicycles in dct32, 16376 runs, 8 skips
4655 dezicycles in dct32, 32754 runs, 14 skips
4588 dezicycles in dct32, 65513 runs, 23 skips
4543 dezicycles in dct32, 131026 runs, 46 skips
4513 dezicycles in dct32, 262066 runs, 78 skipss
4498 dezicycles in dct32, 524126 runs, 162 skipss
4486 dezicycles in dct32, 1048230 runs, 346 skips
4481 dezicycles in dct32, 2096451 runs, 701 skips
4483 dezicycles in dct32, 4192912 runs, 1392 skips
4488 dezicycles in dct32, 8385764 runs, 2844 skips

Floating point, original:
4232 dezicycles in dct32_float, 128 runs, 0 skips
4151 dezicycles in dct32_float, 256 runs, 0 skips
4111 dezicycles in dct32_float, 512 runs, 0 skips
4083 dezicycles in dct32_float, 1024 runs, 0 skips
4081 dezicycles in dct32_float, 2048 runs, 0 skips
4079 dezicycles in dct32_float, 4096 runs, 0 skips
4006 dezicycles in dct32_float, 8191 runs, 1 skips
3973 dezicycles in dct32_float, 16380 runs, 4 skips
3981 dezicycles in dct32_float, 32758 runs, 10 skips
3926 dezicycles in dct32_float, 65516 runs, 20 skips
3863 dezicycles in dct32_float, 131027 runs, 45 skips
3812 dezicycles in dct32_float, 262068 runs, 76 skips
3784 dezicycles in dct32_float, 524148 runs, 140 skips
3771 dezicycles in dct32_float, 1048283 runs, 293 skips
3765 dezicycles in dct32_float, 2096567 runs, 585 skips
3764 dezicycles in dct32_float, 4193133 runs, 1171 skips
3781 dezicycles in dct32_float, 8386360 runs, 2248 skips

-Vitor
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mp3_dct32.diff
Type: text/x-patch
Size: 5933 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20100606/b0c01255/attachment.bin>



More information about the ffmpeg-devel mailing list