[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