www.pudn.com > XvidQP.rar > misc.cpp


//	VirtualDub - Video processing and capture application 
//	Copyright (C) 1998-2001 Avery Lee 
// 
//	This program is free software; you can redistribute it and/or modify 
//	it under the terms of the GNU General Public License as published by 
//	the Free Software Foundation; either version 2 of the License, or 
//	(at your option) any later version. 
// 
//	This program is distributed in the hope that it will be useful, 
//	but WITHOUT ANY WARRANTY; without even the implied warranty of 
//	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
//	GNU General Public License for more details. 
// 
//	You should have received a copy of the GNU General Public License 
//	along with this program; if not, write to the Free Software 
//	Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 
 
#include  
 
#include  
#include  
 
#include "misc.h" 
 
long __declspec(naked) MulDivTrunc(long a, long b, long c) { 
	__asm { 
		mov eax,[esp+4] 
		imul dword ptr [esp+8] 
		idiv dword ptr [esp+12] 
		ret 
	} 
} 
 
int NearestLongValue(long v, const long *array, int array_size) { 
	int i; 
 
	for(i=1; i>=8; 
		fccB>>=8; 
	} 
 
	return true; 
} 
 
FOURCC toupperFOURCC(FOURCC fcc) { 
	return(toupper((unsigned char)(fcc>>24)) << 24) 
		| (toupper((unsigned char)(fcc>>16)) << 16) 
		| (toupper((unsigned char)(fcc>> 8)) <<  8) 
		| (toupper((unsigned char)(fcc    ))      ); 
}