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

📄 videoin.h

📁 一个视频信号输入的verilog源代码
💻 H
字号:
/*
 * videoin.h
 * 
 */
 
#ifndef __VIDEOIN_H
#define __VIDEOIN_H

#include <io.h>
#include "system.h"

typedef struct {
  int xClipS;
  int xClipE;
  int yClipS;
  int yClipE;
  int clipWidth;
  int clipHeight;
  int xScale;
  int yScale;
  int xFactor;
  int yFactor;
  int scaledWidth;
  int scaledHeight;
} VIDEOIN;

void videoinIsr (void* context, alt_u32 id);
void videoInDisable(void);
void videoInEnable(void);
void videoInClip(int xClipStart, int xClipEnd, int yClipStart, int yClipEnd);
int videoInScale(int xScale, int yScale);
int videoInScale2(int width);

// Overall status and control
#define IORD_VIDEOIN_SR	IORD(VIDEOIN_0_BASE, 0)
#define IOWR_VIDEOIN_CR(data)	IOWR(VIDEOIN_0_BASE, 0, data)

#define IORD_VIDEOIN_CAMXLEN	IORD(VIDEOIN_0_BASE, (0x10>>2))
#define IOWR_VIDEOIN_CAMXLEN(data)	IOWR(VIDEOIN_0_BASE, (0x10>>2), data)

// X and Y clipping
#define IORD_VIDEOIN_XCLIPS	IORD(VIDEOIN_0_BASE, (0x20>>2))
#define IORD_VIDEOIN_XCLIPE	IORD(VIDEOIN_0_BASE, (0x24>>2))
#define IORD_VIDEOIN_YCLIPS	IORD(VIDEOIN_0_BASE, (0x28>>2))
#define IORD_VIDEOIN_YCLIPE	IORD(VIDEOIN_0_BASE, (0x2c>>2))
#define IOWR_VIDEOIN_XCLIPS(data)	IOWR(VIDEOIN_0_BASE, (0x20>>2), data)
#define IOWR_VIDEOIN_XCLIPE(data)	IOWR(VIDEOIN_0_BASE, (0x24>>2), data)
#define IOWR_VIDEOIN_YCLIPS(data)	IOWR(VIDEOIN_0_BASE, (0x28>>2), data)
#define IOWR_VIDEOIN_YCLIPE(data)	IOWR(VIDEOIN_0_BASE, (0x2c>>2), data)

// X and Y scaling
#define IORD_VIDEOIN_XSCALE	IORD(VIDEOIN_0_BASE, (0x30>>2))
#define IORD_VIDEOIN_XLEN	IORD(VIDEOIN_0_BASE, (0x34>>2))
#define IORD_VIDEOIN_YSCALE	IORD(VIDEOIN_0_BASE, (0x38>>2))
#define IORD_VIDEOIN_YLEN	IORD(VIDEOIN_0_BASE, (0x3c>>2))
#define IOWR_VIDEOIN_XSCALE(data)	IOWR(VIDEOIN_0_BASE, (0x30>>2), data)
#define IOWR_VIDEOIN_XLEN(data)	IOWR(VIDEOIN_0_BASE, (0x34>>2), data)
#define IOWR_VIDEOIN_YSCALE(data)	IOWR(VIDEOIN_0_BASE, (0x38>>2), data)
#define IOWR_VIDEOIN_YLEN(data)	IOWR(VIDEOIN_0_BASE, (0x3c>>2), data)

// Avalon master status and control
#define IORD_VIDEOIN_MSTAT	IORD(VIDEOIN_0_BASE, (0x40>>2))
#define IOWR_VIDEOIN_MCONTROL(data)	IOWR(VIDEOIN_0_BASE, (0x40>>2), data)
#define IORD_VIDEOIN_MINTEN IORD(VIDEOIN_0_BASE, (0x44>>2))
#define IOWR_VIDEOIN_MINTEN(data) IOWR(VIDEOIN_0_BASE, (0x44>>2), data)
#define IORD_VIDEOIN_MISR IORD(VIDEOIN_0_BASE, (0x48>>2))
#define IOWR_VIDEOIN_MICR(data) IOWR(VIDEOIN_0_BASE, (0x48>>2), data)

// Frame buffer start address
#define IORD_VIDEOIN_MFBSTART	IORD(VIDEOIN_0_BASE, (0x50>>2))
#define IOWR_VIDEOIN_MFBSTART(data)	IOWR(VIDEOIN_0_BASE, (0x50>>2), data)


#endif /* __VIDEOIN_H */

⌨️ 快捷键说明

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