[Ffmpeg-devel] VP3/Theora Perfection

Mike Melanson mike
Wed May 18 01:43:08 CEST 2005


Hi,
	I just committed some code that uses VLC tables rather than the 
tree-based get_bits1() or switch/case logic. I have replaced 
get_fragment_run_length(), get_mode_code(), and
get_motion_vector_vlc() so far. Please test as I only have access to one 
sample in a restricted dev environment right now.

	For those who want hard numbers for improvement, here they are:

[original]
1233 dezicycles in get_fragment_run_length, 2048 runs, 0 skips
1202 dezicycles in get_fragment_run_length, 4095 runs, 1 skips
[new]
1075 dezicycles in get_fragment_run_length, 2048 runs, 0 skips
1045 dezicycles in get_fragment_run_length, 4093 runs, 3 skips

[original]
1123 dezicycles in get_mode_code, 2048 runs, 0 skips
1113 dezicycles in get_mode_code, 4094 runs, 2 skips
[new]
1015 dezicycles in get_mode_code, 2046 runs, 2 skips
1010 dezicycles in get_mode_code, 4093 runs, 3 skips

[original]
2553 dezicycles in get_motion_vector_vlc, 1024 runs, 0 skips
2549 dezicycles in get_motion_vector_vlc, 2048 runs, 0 skips
[new]
1619 dezicycles in get_motion_vector_vlc, 1016 runs, 8 skips
1573 dezicycles in get_motion_vector_vlc, 2029 runs, 19 skips

-- 
	-Mike Melanson





More information about the ffmpeg-devel mailing list