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

📄 vidinput_v4l2.h

📁 安装 H323需要的pwlib库
💻 H
字号:
/* * vidinput_v4l2.h * * Portable Windows Library * * Copyright (c) 1993-2000 Equivalence Pty. Ltd. * * The contents of this file are subject to the Mozilla Public License * Version 1.0 (the "License"); you may not use this file except in * compliance with the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See * the License for the specific language governing rights and limitations * under the License. * * The Original Code is Portable Windows Library (V4L plugin). * * The Initial Developer of the Original Code is Equivalence Pty. Ltd. * * Contributor(s): Derek Smithies (derek@indranet.co.nz) *                 Mark Cooke (mpc@star.sr.bham.ac.uk) *                 Nicola Orru' <nigu@itadinanta.it> * * $Log: vidinput_v4l2.h,v $ * Revision 1.3  2004/11/07 22:48:47  dominance * fixed copyright of v4l2 plugin. Last commit's credits go to Nicola Orru' <nigu@itadinanta.it> ... * */#ifndef _PVIDEOIOV4L2#define _PVIDEOIOV4L2#include <sys/mman.h>#include <sys/time.h>#include <ptlib.h>#include <ptlib/videoio.h>#include <ptlib/vconvert.h>#include <linux/videodev.h>#ifndef V4L2_PIX_FMT_SBGGR8#define V4L2_PIX_FMT_SBGGR8  v4l2_fourcc('B','A','8','1') /*  8  BGBG.. GRGR.. */#endifclass PVideoInputV4l2Device: public PVideoInputDevice{  PCLASSINFO(PVideoInputV4l2Device, PVideoInputDevice);      public:  PVideoInputV4l2Device();  ~PVideoInputV4l2Device();    void ReadDeviceDirectory (PDirectory, POrdinalToString &);  static PStringList GetInputDeviceNames();  PStringList GetDeviceNames() const  { return GetInputDeviceNames(); }  BOOL Open(const PString &deviceName, BOOL startImmediate);  BOOL IsOpen();  BOOL Close();  BOOL Start();  BOOL Stop();  BOOL IsCapturing();  PINDEX GetMaxFrameBytes();  BOOL GetFrame(PBYTEArray & frame);  BOOL GetFrameData(BYTE*, PINDEX*);  BOOL GetFrameDataNoDelay(BYTE*, PINDEX*);  BOOL GetFrameSizeLimits(unsigned int&, unsigned int&,			  unsigned int&, unsigned int&);  BOOL TestAllFormats();  BOOL SetFrameSize(unsigned int, unsigned int);  BOOL SetFrameRate(unsigned int);  BOOL VerifyHardwareFrameSize(unsigned int, unsigned int);  BOOL GetParameters(int*, int*, int*, int*, int*);  BOOL SetColourFormat(const PString&);  int GetContrast();  BOOL SetContrast(unsigned int);  int GetBrightness();  BOOL SetBrightness(unsigned int);  int GetWhiteness();  BOOL SetWhiteness(unsigned int);  int GetColour();  BOOL SetColour(unsigned int);  int GetHue();  BOOL SetHue(unsigned int);  BOOL SetVideoChannelFormat(int, PVideoDevice::VideoFormat);  BOOL SetVideoFormat(PVideoDevice::VideoFormat);  int GetNumChannels();  BOOL SetChannel(int);  BOOL NormalReadProcess(BYTE*, PINDEX*);  void ClearMapping();  BOOL SetMapping();  struct v4l2_capability videoCapability;  struct v4l2_streamparm videoStreamParm;  BOOL   canRead;  BOOL   canStream;  BOOL   canSelect;  BOOL   canSetFrameRate;  BOOL   isMapped;#define NUM_VIDBUF 4  BYTE * videoBuffer[NUM_VIDBUF];  uint    videoBufferCount;  int    videoFd;  int    frameBytes;  BOOL   started;};#endif

⌨️ 快捷键说明

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