X-Git-Url: http://deadsoftware.ru/gitweb?p=d2df-editor.git;a=blobdiff_plain;f=src%2Flib%2Fvampimg%2FImagingUtility.pas;h=1fb47dd66f3005112c7056073fa77f3788e6909f;hp=c137e1d1386823beaaeefdd0d2aec47e21d5c93e;hb=15a213d12de831aa04871cdd05dcf79749b82161;hpb=a581a1646afd7753ba5c36a68be107d206bab45c diff --git a/src/lib/vampimg/ImagingUtility.pas b/src/lib/vampimg/ImagingUtility.pas index c137e1d..1fb47dd 100644 --- a/src/lib/vampimg/ImagingUtility.pas +++ b/src/lib/vampimg/ImagingUtility.pas @@ -1093,6 +1093,8 @@ begin Result := PByte(@W)^ = $FF; end; +(* Vampimp wrongly use swaps for converting big-endian to little-endian anywhere *) +{$IF DEFINED(FPC_LITTLE_ENDIAN)} function SwapEndianWord(Value: Word): Word; {$IF Defined(USE_ASM) and (not Defined(USE_INLINE))} asm @@ -1170,6 +1172,27 @@ begin end; end; {$ENDIF} +{$ELSEIF DEFINED(FPC_BIG_ENDIAN)} +function SwapEndianWord(Value: Word): Word; +begin + Result := Value +end; + +procedure SwapEndianWord(P: PWordArray; Count: LongInt); +begin +end; + +function SwapEndianLongWord(Value: LongWord): LongWord; +begin + Result := Value +end; + +procedure SwapEndianLongWord(P: PLongWord; Count: LongInt); +begin +end; +{$ELSE} + {$ERROR Unsupported endianness!} +{$ENDIF} type TCrcTable = array[Byte] of LongWord;