[Ffmpeg-devel] VP3/Theora Perfection

Mike Melanson mike
Tue May 17 02:19:37 CEST 2005


Michael Niedermayer wrote:
> * the if(get_bits1()) branch trees for the remainng vlcs

	I tried to improve this but it did not make much difference. I have 
attached a patch that replaces get_superblock_run_length() with a 
VLC-based function. Maybe you can figure out why it does not perform any 
better than the original get_bits1() branch tree. These are the numbers 
I was seeing:

[original]
2990 dezicycles in get_superblock_run_length(), 1 runs, 0 skips
4165 dezicycles in get_superblock_run_length(), 2 runs, 0 skips
3257 dezicycles in get_superblock_run_length(), 4 runs, 0 skips
2315 dezicycles in get_superblock_run_length(), 8 runs, 0 skips
1844 dezicycles in get_superblock_run_length(), 16 runs, 0 skips
1492 dezicycles in get_superblock_run_length(), 32 runs, 0 skips
1450 dezicycles in get_superblock_run_length(), 64 runs, 0 skips
1227 dezicycles in get_superblock_run_length(), 127 runs, 1 skips
1207 dezicycles in get_superblock_run_length(), 255 runs, 1 skips
1205 dezicycles in get_superblock_run_length(), 509 runs, 3 skips
1165 dezicycles in get_superblock_run_length(), 1013 runs, 11 skips

[new]
29330 dezicycles in new get_superblock_run_length(), 1 runs, 0 skips
19250 dezicycles in new get_superblock_run_length(), 2 runs, 0 skips
10677 dezicycles in new get_superblock_run_length(), 4 runs, 0 skips
6136 dezicycles in new get_superblock_run_length(), 8 runs, 0 skips
3705 dezicycles in new get_superblock_run_length(), 16 runs, 0 skips
2447 dezicycles in new get_superblock_run_length(), 32 runs, 0 skips
1855 dezicycles in new get_superblock_run_length(), 64 runs, 0 skips
1452 dezicycles in new get_superblock_run_length(), 127 runs, 1 skips
1297 dezicycles in new get_superblock_run_length(), 254 runs, 2 skips
1241 dezicycles in new get_superblock_run_length(), 506 runs, 6 skips
1193 dezicycles in new get_superblock_run_length(), 1010 runs, 14 skips


BTW, I was not able to get 0 bits from the bitstream using get_bits(). 
Is that expected behavior? Thanks...

-- 
	-Mike Melanson
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: ffmpeg-vp3-get-superblock-vlc.patch
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20050516/9e349d44/attachment.txt>



More information about the ffmpeg-devel mailing list