⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aviutil.c

📁 视频601芯片的驱动源码,你可以完全掌控该芯片了,对于其它多媒体芯片的设计具有参考价值
💻 C
字号:
/*------------------------------------------------------------------------

$Workfile: AVIUTIL.C $
$Date: 4/05/96 9:34p $
$Revision: 2 $
* Purpose:	
*
* Notes:       
*
$History: AVIUTIL.C $
 * 
 * *****************  Version 2  *****************
 * User: Stevel       Date: 4/05/96    Time: 9:34p
 * Updated in $/raw2avi
 * Enhancement for field doubling  and inplace conversion.
 * 
 * *****************  Version 1  *****************
 * User: Stevel       Date: 3/18/96    Time: 7:34p
 * Created in $/raw2avi
 * Initial release

  
    This code and information is provided "as is" without warranty of any
    kind, either expressed or implied, including but not limited to the
    implied warranties of merchantability and/or fitness for a particular
    purpose.
  
    1995 Analog Devices, Inc. 
  
-------------------------------------------------------------------------*/
#include "windows.h"            /* required for all Windows applications */
#include "stdlib.h"
#include "stdio.h"
#include "string.h"
#include "convert.h" 
#include "conproto.h"


BOOL AVIOpenFile(char *szSrc)
{
	MMIOINFO sIOInfo;
	
	memset(&sIOInfo,0,sizeof(sIOInfo));		
	hMMIO = mmioOpen(szSrc,&sIOInfo,MMIO_READWRITE | /*MMIO_EXCLUSIVE | */MMIO_ALLOCBUF);

	if(hMMIO == NULL)
		return(FALSE);
	else
		return(TRUE);
}




BOOL AVICloseFile()
{

	mmioClose(hMMIO,0);
	return(TRUE);
}



Chunk601LinkList *LL_AVICreateNode() 
{
	Chunk601LinkList *pRet;
	
	pRet = malloc(sizeof(Chunk601LinkList));
	pRet->pNext = NULL;
	pRet->pPrev = NULL;
	
	return(pRet);
}

void LL_AVIAddNode(Chunk601LinkList *pADVll) 
{
	Chunk601LinkList *pTemp;

	++wFrameCount;	
	if(pChunkHead == NULL)
	{
		pChunkHead = pADVll;
	}
	else
	{
		pTemp = pChunkHead;
		while(pTemp->pNext != NULL)
			pTemp = pTemp->pNext;
		pTemp->pNext = pADVll;
		pADVll->pPrev = pTemp;
	}
}

void LL_AVIDelList()
{
	Chunk601LinkList *pTemp;
	
	if(pChunkHead != NULL)
	{
		pTemp = pChunkHead;
		while(pTemp->pNext != NULL)
			pTemp = pTemp->pNext;

		while(pTemp->pPrev != NULL)
		{
			pTemp = pTemp->pPrev;
			free(pTemp->pNext);
		}			
		free(pTemp);
		pChunkHead = NULL;
	}
	wFrameCount = 0;	
}











⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -