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

📄 buffer.h

📁 一个两碟控制的VCD的代码,两碟之间的转动及连续播放,已大量生产的CODE.
💻 H
字号:
/* Copyright 1996, ESS Technology, Inc.					*//* SCCSID @(#)buffer.h	1.2 12/3/97 */ /* * $Log$ */#ifdef DRIVER#ifndef __BUFFER_H__#define __BUFFER_H__#include "common.h"#define GBLDEF4 GBLDEF/****************************************************************************** Audio and Video bitstream buffer in DRAM. All units in dword. ******************************************************************************/#define MPEG1#define ADAM		128#define LOW_RES_VBV_SIZE 	(0x20000/4)#define HIGH_RES_VBV_SIZE	(8*ADAM)extern unsigned int VBV_end;extern int VBV_start;extern int VBV_size;#define PCM_size        2048    /* Must be multiple of 441 */#define PCM_end         (PCM_start + PCM_size)#define PCM_zero_start  PCM_end#define PCM_zero_size   128#define PCM_zero_end    (PCM_zero_start + PCM_zero_size)/****************************************************************************** Some pointer advancement macros. These all assume that the buffer size is an integer multiple of the xfer size. ******************************************************************************/#define nice_ptr_advance(A, rw, n) do { \    A##_##rw += n;                      \    if (A##_##rw == A##_end)            \        A##_##rw = A##_start;           \} while (0)#define VBV_wrptr_advance(n) nice_ptr_advance(VBV, wrptr, n)#define VBV_rdptr_advance(n) nice_ptr_advance(VBV, rdptr, n)#define ABV_wrptr_advance(n) nice_ptr_advance(ABV, wrptr, n)#define ABV_rdptr_advance(n) nice_ptr_advance(ABV, rdptr, n)/****************************************************************************** Number of dwords we read/write to the buffer with each DMA. Max 512. ******************************************************************************/#define VBV_read	(2*ADAM)#define VBV_write	(2*ADAM)#define ABV_read	ADAM#define ABV_write	ADAM/****************************************************************************** R/W pointers and transfer status flags. "filling" means xport buscon is running so buffer is being filled. "draining" means huffdec buscon is running so buffer is being drained. ******************************************************************************/extern int VBV_wrptr;extern int VBV_rdptr;GBLDEF(int PCM_start,0);#if 0GBLDEF (int Y_wrptr, 0);GBLDEF (int UV_wrptr, 0);#endifextern int VBV_filling;extern int VBV_draining;extern volatile int PCM_starved;extern volatile int PCM_wrptr;extern volatile int PCM_rdptr;void PCM_init(void);void PCM_clear_buffer(void);void PCM_take_out(void);void PCM_back_track(void);void BUSCON_interrupt_service1(void);void PCM_clear_zero_buffer(void);void Hres_init(void);void DispYUV(void);void ntsc_vscale(void);#undef MPEG1#endif /* __BUFFER_H__ */#endif

⌨️ 快捷键说明

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