You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
996 B
33 lines
996 B
// $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
|
|
}
|
|
}
|