All pastes #113233 Raw Edit

Stuff

public text v1 · immutable
·published 2006-08-03 13:25 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