[XviD-devel] init_vlc_tables on AMD64

Andrew neveryoumind a_dunstan at hotmail.com
Fri Dec 3 15:38:02 CET 2004


I've been experimenting with xvid and the windows x86-64 beta and the 
init_vlc_tables function in bitstream/mbcoding.c is giving me problems. 
Specifically, the following line:

   if (level_esc <= max_level[intra][last][run] && run <= 
max_run[intra][last][level_esc]) {

eventually causes a page fault because level_esc seems to be negative (or 
more accurately, very large because it's an unsigned int). At the register 
level, when it is added to the address of max_run[intra][last] the overflow 
stays in the result rather than being discarded like in 32-bit mode.

So my question is should level_esc be a signed int (which fixes the page 
fault) or is there a bug somewhere else making level_esc negative when it 
shouldn't be?




More information about the XviD-devel mailing list