i34.h
上传用户:aoeyumen
上传日期:2007-01-06
资源大小:3329k
文件大小:3k
源码类别:

DVD

开发平台:

Unix_Linux

  1. /* -*- linux-c -*- --------------------------------------------------------- *  
  2.  * This is file is part of the ZORAN zr367x0 driver
  3.  *
  4.  * Copyright (C) 1999 David Barth <dbarth@besancon.net>
  5.  *
  6.  * This program is free software; you can redistribute it and/or
  7.  * modify it under the terms of the GNU General Public License
  8.  * as published by the Free Software Foundation; either version 2
  9.  * of the License, or (at your option) any later version.
  10.  *
  11.  * This program is distributed in the hope that it will be useful,
  12.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.  * GNU General Public License for more details.
  15.  *
  16.  * You should have received a copy of the GNU General Public License
  17.  * along with this program; if not, write to the Free Software
  18.  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  19.  *
  20.  */
  21. #ifndef _I34_H
  22. #define _I34_H
  23. #include "mgavideo.h"
  24. #define I34_NTSC 01
  25. #define I34_NTSC_ALT 02
  26. #define I34_PAL 03
  27. #define I34_PAL_ALT 04
  28. #define I34_CMD_START 0x0000
  29. #define I34_CMD_PAUSE 0x0100
  30. #define I34_CMD_STEP 0x0300
  31. #define I34_CMD_SLOW 0x0500
  32. #define I34_CMD_END     0x0700
  33. #define I34_CMD_FAST 0x0800
  34. #define I34_CMD_CONT 0x0900
  35. #define I34_CMD_ENDC 0x0E00
  36. struct VideoStandard {
  37.   __u16 VidFPS;
  38.   __u16 unknown0;
  39.   __u16 FieldSel;
  40.   __u16 unknown1;
  41.   __u16 HTotal;
  42.   __u16 VTotal;
  43.   __u16 HSyncSize;
  44.   __u16 VSyncSize;
  45.   __u16 ActiveStartX;
  46.   __u16 ActiveStartY;
  47.   __u16 ActiveEndX;
  48.   __u16 ActiveEndY;
  49.   __u16 ActiveSizeX;
  50.   __u16 ActiveSizeY;
  51.   __u16 VidConfig;
  52. };
  53. struct CompositeBlankSync {
  54.   __u16 CBHStart;
  55.   __u16 CBVStart;
  56.   __u16 CBHEnd;
  57.   __u16 CBVEnd;
  58. };
  59. struct ColorKey {
  60.   int y;
  61.   int u;
  62.   int v;
  63. };
  64. #define I34_UCODE_CHUNK_MAX_SIZE 200
  65. struct i34_ucode_chunk
  66. {
  67.   __u8 length;
  68.   __u8 buffer[I34_UCODE_CHUNK_MAX_SIZE];
  69. };
  70. /* the IOCTL number depends on videodev2.h, but I get parse error when including it
  71.    from inside this header...
  72. */
  73. #define I34_IOCSUCODE _IOW  ('V',  BASE_VIDIOC_PRIVATE,     struct i34_ucode_chunk)
  74. #define I34_IOCSVIDEOSTD _IOW  ('V',  BASE_VIDIOC_PRIVATE + 1, int)
  75. #define I34_IOCSVDSTDCST _IOW  ('V',  BASE_VIDIOC_PRIVATE + 2, struct VideoStandard)
  76. #define I34_IOCSCOLORKEY _IOW  ('V',  BASE_VIDIOC_PRIVATE + 3, struct ColorKey)
  77. #define I34_IOCSCBSYNC _IOW  ('V',  BASE_VIDIOC_PRIVATE + 4, struct CompositeBlankSync)
  78. #define I34_IOCGSTATE _IOR  ('V',  BASE_VIDIOC_PRIVATE + 5, int)
  79. #define I34_IOCTSTRTDSPL _IO   ('V',  BASE_VIDIOC_PRIVATE + 6)
  80. #define I34_IOCTCMD _IO   ('V',  BASE_VIDIOC_PRIVATE + 7)
  81. #define I34_IOCTINIT _IO   ('V',  BASE_VIDIOC_PRIVATE + 8)
  82. #ifdef __KERNEL__
  83. int I34_Reset(struct mga_dev *mga);
  84. int I34_Detect(struct mga_dev *mga);
  85. int I34_Init(struct mga_dev *mga);
  86. int I34_ColorKey(struct mga_dev* mga, struct ColorKey *ck);
  87. int I34_OutputVideoStandard(struct mga_dev *mga, int standard);
  88. int I34_LoadVideoStandard(struct mga_dev *mga, struct VideoStandard *vs);
  89. int I34_CompositeBlankSync(struct mga_dev *mga, struct CompositeBlankSync *cb);
  90. int I34_StartDisplay(struct mga_dev *mga);
  91. int I34_State(struct mga_dev *mga, int *s);
  92. int I34_Command(struct mga_dev *mga, u16 cmd);
  93. int I34_ioctl(struct mga_dev *mga, unsigned int cmd, void *arg);
  94. #endif /* __KERNEL__ */
  95. #endif /* _I34_H */