All pastes #113234 Raw Edit

Untitled

public text v1 · immutable
·published 2006-08-03 13:26 UTC
rendered paste body
HUFF_COMPRESS_PROC_YUV	MACRO	procname,uyvy,delta,decorrelate

	PUBLIC	C _&procname

;;unsigned long* __cdecl procname(
;;	[esp+ 4] unsigned char* src,
;;	[esp+ 8] unsigned long* dst,
;;	[esp+12] unsigned char* src_end);

_&procname	PROC

	HUFF_CODEC_PROC_START
IF &uyvy
	bswap	eax
	rol	eax,16
ENDIF
	mov	[edi],eax
	add	edi,4
	mov	ch,-32
	sub	ebp,4
	align	32

loop0:
	HUFF_COMPRESS	encode1,%0+&uyvy,%2*&delta,0,4
	HUFF_COMPRESS	encode2,%1-&uyvy,%4*&delta,0,0
	HUFF_COMPRESS	encode1,%2+&uyvy,%2*&delta,0,0
	HUFF_COMPRESS	encode3,%3-&uyvy,%4*&delta,%2*&decorrelate,0
	HUFF_COMPRESS_END	loop0

_&procname	ENDP

	ENDM