• Mikulas Patocka's avatar
    avcodec/x86/hpeldsp: fix crash on AMD K6-3+ · 07415536
    Mikulas Patocka authored
    There are instructions pavgb and pavgusb. Both instructions do the same
    operation but they have different enconding. Pavgb exists in SSE (or
    MMXEXT) instruction set and pavgusb exists in 3D-NOW instruction set.
    
    livavcodec uses the macro PAVGB to select the proper instruction. However,
    the function avg_pixels8_xy2 doesn't use this macro, it uses pavgb
    directly.
    
    As a consequence, the function avg_pixels8_xy2 crashes on AMD K6-2 and
    K6-3 processors, because they have pavgusb, but not pavgb.
    
    This bug seems to be introduced by commit
    71155d7b, "dsputil: x86: Convert mpeg4
    qpel and dsputil avg to yasm"
    Signed-off-by: 's avatarMikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
    Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
    07415536
hpeldsp.asm 11.1 KB