?? buffer.h
字號(hào):
/* 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
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -