windows-nt/Source/XPSP1/NT/drivers/wdm/capture/mini/bt848/distr.cpp
2020-09-26 16:20:57 +08:00

34 lines
963 B
C++

// $Header: G:/SwDev/WDM/Video/bt848/rcs/Distr.cpp 1.2 1998/04/29 22:43:33 tomz Exp $
#include "mytypes.h"
#define label( x ) } x: _asm {
void CreateDistribution( WORD OrigFPS, WORD NeededFPS, PWORD lpwDistribution )
{
_asm {
push edi
mov edi, dword ptr lpwDistribution
// mov es, word ptr lpwPixWidthMap+2
mov ax, NeededFPS
shl eax, 16
movzx ecx, word ptr OrigFPS
or cx, cx
jz short end
xor edx, edx
div ecx
mov ebx, eax
mov eax, 8000H
label( L1 ) and eax, 0FFFFh
add eax, ebx
shld edx, eax, 16
mov [edi], dx
add edi,2
dec cx
jnz short L1
label( end )
pop edi
}
}