[x264-devel] Re: x264: svn commit r293 (pengvado)

Christian Heine sennindemokrit at gmx.net
Tue Sep 20 01:56:55 CEST 2005


I see. The quant_*_core16_mmx functions are for use with MMX, but the 
quant_*_core32_mmx need MMXEXT (or MMX2 or whatever you like to call 
it). Unfortunatly while merging the original patch with the x264 trunk 
Loren Merritt renamed some of the functions and also changed the check 
in common/quant.c. I sent a patch four days ago, which also dealt with 
this problem, but it does not seem to get through.

Quick fix for now:
in common/quant.c line 81
--- if( cpu&X264_CPU_MMX )
+++ if( cpu&X264_CPU_MMXEXT )

do deal with run time errors.

As for the bug mentioned on bugzilla I can only suggest against the use 
of -mmmx.

Regards,
Christian Heine

Jelle wrote:
> Subversion daemon wrote:
> 
>> r293 | pengvado | 2005-09-14 19:20:17 +0200 (Wed, 14 Sep 2005) | 5 lines
>> Changed paths:
>>    M /trunk/Makefile
>>    A /trunk/common/amd64/quant-a.asm
>>    M /trunk/common/common.h
>>    A /trunk/common/i386/quant-a.asm
>>    A /trunk/common/quant.c
>>    A /trunk/common/quant.h
>>    M /trunk/encoder/encoder.c
>>    M /trunk/encoder/macroblock.c
>>
>> MMX quantization functions, and optimization of the C versions.
>> about 3x faster quant_8x8, quant_4x4, quant_4x4_dc, and quant_2x2_dc. 
>> total speedup: 4-10%.
>> patch by Alexander Izvorski and Christian Heine.
>>
>>
> 
> Unfortunately, this breaks x264 on Transmeta Crusoe: QUANT32_1x4 in 
> quant-a.asm contains the pmulhuw instruction, which causes an 'Illegal 
> instruction' on the Transmeta Crusoe, because pmulhuw is not in the base 
> mmx instruction set, but only available in chips with sse or mmx2
> 
> See also http://gcc.gnu.org/bugzilla/show_bug.cgi?id=5381
> 
> Jelle.
> 

-- 
This is the x264-devel mailing-list
To unsubscribe, go to: http://developers.videolan.org/lists.html



More information about the x264-devel mailing list